programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Typedefs | Functions
cs_cdo_time.h File Reference
#include "cs_base.h"
#include "cs_cdo.h"
#include "cs_cdo_local.h"
#include "cs_equation_param.h"
Include dependency graph for cs_cdo_time.h:

Go to the source code of this file.

Typedefs

typedef void( cs_cdo_time_scheme_t )(const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
 Apply the time discretization to a local system. More...
 

Functions

cs_cdo_time_scheme_tcs_cdo_time_get_scheme_function (const cs_flag_t sys_flag, const cs_equation_param_t *eqp)
 Retrieve a pointer to the associated cs_matrix_structure_t according to the space scheme. More...
 
void cs_cdo_time_update_rhs_with_array (const cs_equation_param_t *eqp, const cs_lnum_t n_dofs, const cs_real_t *values, cs_real_t *rhs)
 Update the RHS with the previously computed array values (for instance the source term) More...
 
void cs_cdo_time_diag_imp (const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
 Apply to the local system an implicit time discretization when a CDO scheme is used and the mass matrix related to the time discretization is diagonal (lumping or Voronoi Hodge) More...
 
void cs_cdo_time_imp (const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
 Apply to the local system an implicit time discretization when a CDO scheme is used. More...
 
void cs_cdo_time_diag_exp (const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
 Apply to the local system an explicit time discretization when a CDO scheme is used and the mass matrix related to the time discretization is diagonal (lumping or Voronoi Hodge) More...
 
void cs_cdo_time_exp (const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
 Apply to the local system an explicit time discretization when a CDO scheme is used. More...
 
void cs_cdo_time_diag_theta (const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
 Apply to the local system a "theta" time discretization when a CDO scheme is used and the mass matrix related to the time discretization is diagonal (lumping or Voronoi Hodge) More...
 
void cs_cdo_time_theta (const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
 Apply to the local system a "theta" time discretization when a CDO scheme is used. More...
 

Typedef Documentation

typedef void( cs_cdo_time_scheme_t)(const cs_equation_param_t *eqp, const double tpty_val, const cs_sdm_t *mass_mat, const cs_flag_t system_flag, cs_cell_builder_t *cb, cs_cell_sys_t *csys)

Apply the time discretization to a local system.

Parameters
[in]eqppointer to a cs_equation_param_t
[in]tpty_valcurrent value of the time property
[in]system_flagindicate what is needed to build the system
[in]mass_matpointer to a discrete Hodge op.
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyspointer to a cs_sdm_t structure

Function Documentation

void cs_cdo_time_diag_exp ( const cs_equation_param_t eqp,
const double  tpty_val,
const cs_sdm_t *  mass_mat,
const cs_flag_t  system_flag,
cs_cell_builder_t cb,
cs_cell_sys_t csys 
)

Apply to the local system an explicit time discretization when a CDO scheme is used and the mass matrix related to the time discretization is diagonal (lumping or Voronoi Hodge)

Parameters
[in]eqppointer to a cs_equation_param_t
[in]tpty_valcurrent value of the time property
[in]system_flagindicate what is needed to build the system
[in]mass_matpointer to a discrete Hodge op.
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyspointer to a cs_sdm_t structure
void cs_cdo_time_diag_imp ( const cs_equation_param_t eqp,
const double  tpty_val,
const cs_sdm_t *  mass_mat,
const cs_flag_t  system_flag,
cs_cell_builder_t cb,
cs_cell_sys_t csys 
)

Apply to the local system an implicit time discretization when a CDO scheme is used and the mass matrix related to the time discretization is diagonal (lumping or Voronoi Hodge)

Parameters
[in]eqppointer to a cs_equation_param_t
[in]tpty_valcurrent value of the time property
[in]mass_matpointer to a discrete Hodge op.
[in]system_flagindicate what is needed to build the system
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyspointer to a cs_sdm_t structure
void cs_cdo_time_diag_theta ( const cs_equation_param_t eqp,
const double  tpty_val,
const cs_sdm_t *  mass_mat,
const cs_flag_t  system_flag,
cs_cell_builder_t cb,
cs_cell_sys_t csys 
)

Apply to the local system a "theta" time discretization when a CDO scheme is used and the mass matrix related to the time discretization is diagonal (lumping or Voronoi Hodge)

Parameters
[in]eqppointer to a cs_equation_param_t
[in]tpty_valcurrent value of the time property
[in]system_flagindicate what is needed to build the system
[in]mass_matpointer to a discrete Hodge op.
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyspointer to a cs_sdm_t structure
void cs_cdo_time_exp ( const cs_equation_param_t eqp,
const double  tpty_val,
const cs_sdm_t *  mass_mat,
const cs_flag_t  system_flag,
cs_cell_builder_t cb,
cs_cell_sys_t csys 
)

Apply to the local system an explicit time discretization when a CDO scheme is used.

Parameters
[in]eqppointer to a cs_equation_param_t
[in]tpty_valcurrent value of the time property
[in]system_flagindicate what is needed to build the system
[in]mass_matpointer to a discrete Hodge op.
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyspointer to a cs_sdm_t structure
cs_cdo_time_scheme_t* cs_cdo_time_get_scheme_function ( const cs_flag_t  sys_flag,
const cs_equation_param_t eqp 
)

Retrieve a pointer to the associated cs_matrix_structure_t according to the space scheme.

Parameters
[in]sys_flagmetadata about how is set the algebraic system
[in]eqppointer to a cs_equation_param_t
Returns
a pointer to the function handling the time discretization
void cs_cdo_time_imp ( const cs_equation_param_t eqp,
const double  tpty_val,
const cs_sdm_t *  mass_mat,
const cs_flag_t  system_flag,
cs_cell_builder_t cb,
cs_cell_sys_t csys 
)

Apply to the local system an implicit time discretization when a CDO scheme is used.

Parameters
[in]eqppointer to a cs_equation_param_t
[in]tpty_valcurrent value of the time property
[in]mass_matpointer to a discrete Hodge op.
[in]system_flagindicate what is needed to build the system
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyspointer to a cs_sdm_t structure
void cs_cdo_time_theta ( const cs_equation_param_t eqp,
const double  tpty_val,
const cs_sdm_t *  mass_mat,
const cs_flag_t  system_flag,
cs_cell_builder_t cb,
cs_cell_sys_t csys 
)

Apply to the local system a "theta" time discretization when a CDO scheme is used.

Parameters
[in]eqppointer to a cs_equation_param_t
[in]tpty_valcurrent value of the time property
[in]system_flagindicate what is needed to build the system
[in]mass_matpointer to a discrete Hodge op.
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyspointer to a cs_sdm_t structure
void cs_cdo_time_update_rhs_with_array ( const cs_equation_param_t eqp,
const cs_lnum_t  n_dofs,
const cs_real_t values,
cs_real_t rhs 
)

Update the RHS with the previously computed array values (for instance the source term)

Parameters
[in]eqppointer to a cs_equation_param_t
[in]n_dofssize of the array of values
[in]valuesarray of values
[in,out]rhsright-hand side to update