![]() |
programmer's documentation
|
#include "cs_defs.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <float.h>
#include <bft_mem.h>
#include <bft_printf.h>
#include "cs_mesh_location.h"
#include "cs_evaluate.h"
Macros | |
#define | CS_EVALUATE_DBG 0 |
Functions | |
static double | _analytic_quad_tet1 (double tcur, cs_real_3_t xv, cs_real_3_t xe, cs_real_3_t xf, cs_real_3_t xc, cs_analytic_func_t *ana) |
Compute the integral over a tetrahedron of the barycentric subdiv. using a barycentric quadrature rule. More... | |
static double | _analytic_quad_tet4 (double tcur, cs_real_3_t xv, cs_real_3_t xe, cs_real_3_t xf, cs_real_3_t xc, cs_analytic_func_t *ana) |
Compute the integral over a tetrahedron of the barycentric subdiv. with a quadrature rule using 4 Gauss points and a unique weight. More... | |
static double | _analytic_quad_tet5 (double tcur, cs_real_3_t xv, cs_real_3_t xe, cs_real_3_t xf, cs_real_3_t xc, cs_analytic_func_t *ana) |
Compute the integral over a tetrahedron of the barycentric subdiv. with a quadrature rule using 5 Gauss points and 5 weights. More... | |
static void | _scd_by_analytic_func (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, cs_analytic_func_t *ana, double tcur, int ml_id, cs_quadra_type_t quad_type, bool use_subdiv, double values[]) |
Compute the integral over a dual cell (or a portion) of a variable defined by a user function on a selection of (primal) cells. More... | |
static void | _scp_by_analytic_func (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, cs_analytic_func_t *ana, double tcur, int ml_id, cs_quadra_type_t quad_type, bool use_subdiv, double values[]) |
Compute the integral over primal cells (or a portion) of a variable defined by a analytical function. More... | |
static void | _pvp_by_analytic_func (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, cs_analytic_func_t *ana, double tcur, int ml_id, double values[]) |
Get the values at each primal vertices of a variable defined by a analytical function. More... | |
static void | _scd_by_val (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const double const_val, int ml_id, double values[]) |
Compute the integral over a dual cell (or a portion) of a value defined on a selection of (primal) cells. More... | |
static void | _scp_by_val (const cs_cdo_quantities_t *quant, const double const_val, int ml_id, double values[]) |
Compute the integral over a (primal) cell of a value defined on a selection of (primal) cells. More... | |
static void | _pvp_by_val (const cs_cdo_quantities_t *quant, const double const_val, int ml_id, double values[]) |
Get the values at each primal vertices of a variable defined by a constant value. More... | |
void | cs_evaluate (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_time_step_t *time_step, cs_flag_t dof_flag, int ml_id, cs_param_def_type_t def_type, cs_quadra_type_t quad_type, bool use_subdiv, cs_def_t def, double *p_values[]) |
Compute the contribution related to a source term or a boundary condition for instance. More... | |
Variables | |
static const cs_flag_t | scd_tag |
static const cs_flag_t | scp_tag |
static const cs_flag_t | pvp_tag |
#define CS_EVALUATE_DBG 0 |
|
inlinestatic |
Compute the integral over a tetrahedron of the barycentric subdiv. using a barycentric quadrature rule.
[in] | tcur | current physical time of the simulation |
[in] | xv | first point of the tetrahedron |
[in] | xe | second point of the tetrahedron |
[in] | xf | third point of the tetrahedron |
[in] | xc | fourth point of the tetrahedron |
[in] | ana | pointer to the analytic function |
|
inlinestatic |
Compute the integral over a tetrahedron of the barycentric subdiv. with a quadrature rule using 4 Gauss points and a unique weight.
[in] | tcur | current physical time of the simulation |
[in] | xv | first point of the tetrahedron |
[in] | xe | second point of the tetrahedron |
[in] | xf | third point of the tetrahedron |
[in] | xc | fourth point of the tetrahedron |
[in] | ana | pointer to the analytic function |
|
inlinestatic |
Compute the integral over a tetrahedron of the barycentric subdiv. with a quadrature rule using 5 Gauss points and 5 weights.
[in] | tcur | current physical time of the simulation |
[in] | xv | first point of the tetrahedron |
[in] | xe | second point of the tetrahedron |
[in] | xf | third point of the tetrahedron |
[in] | xc | fourth point of the tetrahedron |
[in] | ana | pointer to the analytic function |
|
static |
Get the values at each primal vertices of a variable defined by a analytical function.
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | ana | pointer to the analytic function |
[in] | tcur | current physical time of the simulation |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in,out] | values | pointer to the computed values |
|
static |
Get the values at each primal vertices of a variable defined by a constant value.
[in] | quant | additional mesh quantities struct. |
[in] | const_val | constant value |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in,out] | values | pointer to the computed values |
|
static |
Compute the integral over a dual cell (or a portion) of a variable defined by a user function on a selection of (primal) cells.
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | ana | pointer to the analytic function |
[in] | tcur | current physical time of the simulation |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in] | quad_type | type of quadrature to use |
[in] | use_subdiv | consider or not the subdivision into tetrahedra |
[in,out] | values | pointer to the computed values |
|
static |
Compute the integral over a dual cell (or a portion) of a value defined on a selection of (primal) cells.
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | const_val | constant value |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in,out] | values | pointer to the computed values |
|
static |
Compute the integral over primal cells (or a portion) of a variable defined by a analytical function.
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | ana | pointer to the analytic function |
[in] | tcur | current physical time of the simulation |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in] | quad_type | type of quadrature to use |
[in] | use_subdiv | consider or not the subdivision into tetrahedra |
[in,out] | values | pointer to the computed values |
|
static |
Compute the integral over a (primal) cell of a value defined on a selection of (primal) cells.
[in] | quant | additional mesh quantities struct. |
[in] | const_val | constant value |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in,out] | values | pointer to the computed values |
void cs_evaluate | ( | const cs_cdo_quantities_t * | quant, |
const cs_cdo_connect_t * | connect, | ||
const cs_time_step_t * | time_step, | ||
cs_flag_t | dof_flag, | ||
int | ml_id, | ||
cs_param_def_type_t | def_type, | ||
cs_quadra_type_t | quad_type, | ||
bool | use_subdiv, | ||
cs_def_t | def, | ||
double * | p_values[] | ||
) |
Compute the contribution related to a source term or a boundary condition for instance.
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | time_step | pointer to a time step structure |
[in] | dof_flag | indicate where the evaluation has to be done |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in] | def_type | type of definition |
[in] | quad_type | type of quadrature (not always used) |
[in] | use_subdiv | consider or not the subdivision into tetrahedra |
[in] | def | access to the definition of the values |
[in,out] | p_values | pointer to the computed values (allocated if NULL) |
|
static |
|
static |
|
static |