![]() |
programmer's documentation
|
#include "cs_base.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
#include "cs_mesh_bad_cells.h"
#include "cs_domain.h"
Go to the source code of this file.
Functions | |
void | caltri (void) |
void | cpthp1 (const cs_int_t *mode, cs_real_t *eh, cs_real_t *xesp, cs_real_t *f1mc, cs_real_t *f2mc, cs_real_t *tp) |
void | csinit (const cs_int_t *irgpar, const cs_int_t *nrgpar) |
void | distpr (const cs_int_t *itypfb, cs_real_t *distpa) |
void | dvvpst (const cs_int_t *nummai, const cs_int_t *numtyp, const cs_int_t *nvar, const cs_int_t *ncelps, const cs_int_t *nfbrps, const cs_int_t lstcel[], const cs_int_t lstfbr[], cs_real_t tracel[], cs_real_t trafbr[]) |
void | findpt (const cs_int_t *ncelet, const cs_int_t *ncel, const cs_real_t *xyzcen, const cs_real_t *xx, const cs_real_t *yy, const cs_real_t *zz, cs_int_t *node, cs_int_t *ndrang) |
void | fische (const cs_int_t *n, const cs_real_t *mu, cs_int_t p[]) |
void | haltyp (const cs_int_t *ivoset) |
void | initi1 (void) |
void | memfin (void) |
void | usthht (const cs_int_t *mode, cs_real_t *enthal, cs_real_t *temper) |
void | usvpst (const cs_int_t *nummai, const cs_int_t *nvar, const cs_int_t *nscal, const cs_int_t *nvlsta, const cs_int_t *ncelps, const cs_int_t *nfacps, const cs_int_t *nfbrps, const cs_int_t itypps[3], const cs_int_t lstcel[], const cs_int_t lstfac[], const cs_int_t lstfbr[]) |
void | usipes (cs_int_t *nmodpp) |
void | cs_user_rad_transfer_absorption (const int bc_type[], const int izfrdp[], const cs_real_t dt[], cs_real_t ck[]) |
Absorption coefficient for radiative module. More... | |
void | cs_user_rad_transfer_net_flux (const int itypfb[], const int izfrdp[], const cs_real_t dt[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t twall[], const cs_real_t qincid[], const cs_real_t xlam[], const cs_real_t epa[], const cs_real_t eps[], const cs_real_t ck[], cs_real_t net_flux[]) |
Compute the net radiation flux. More... | |
void | zufalli (const cs_int_t *n) |
void | zufall (const cs_int_t *n, const cs_real_t *a) |
void | normalen (const cs_int_t *n, const cs_real_t *x) |
void | b_t_to_h (const cs_lnum_t *nlst, const cs_lnum_t *lstfac, const cs_real_t *t_b, cs_real_t *h_b) |
void | c_h_to_t (const cs_real_t *h, cs_real_t *t) |
int | cs_add_model_field_indexes (int f_id) |
int | cs_field_post_id (int f_id) |
void | cs_lagr_status (int *model_flag, int *restart_flag, int *frozen_flag) |
void | cs_user_coupling (void) |
Define global options for couplings. More... | |
void | cs_user_boundary_conditions (int nvarcl, int icodcl[], int bc_type[], int izfrdp[], cs_real_t rcodcl[]) |
User definition of boundary conditions. More... | |
void | cs_user_extra_operations (void) |
This function is called at the end of each time step. More... | |
void | cs_user_initialization (void) |
void | cs_user_physical_properties (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities) |
Function is called each time step to define physical properties. More... | |
void | cs_user_join (void) |
Define mesh joinings. More... | |
void | cs_user_linear_solvers (void) |
Define linear solver options. More... | |
void | cs_user_mesh_bad_cells_tag (cs_mesh_t *mesh, cs_mesh_quantities_t *mesh_quantities) |
Tag bad cells within the mesh based on user-defined geometric criteria. More... | |
void | cs_user_mesh_input (void) |
Define mesh files to read and optional associated transformations. More... | |
void | cs_user_mesh_modify (cs_mesh_t *mesh) |
Modify geometry and mesh. More... | |
void | cs_user_mesh_thinwall (cs_mesh_t *mesh) |
Insert thin wall into a mesh. More... | |
void | cs_user_mesh_smoothe (cs_mesh_t *mesh) |
Mesh smoothing. More... | |
void | cs_user_mesh_save (cs_mesh_t *mesh) |
Enable or disable mesh saving. More... | |
void | cs_user_mesh_warping (void) |
Set options for cutting of warped faces. More... | |
void | cs_user_model (void) |
Select physical model options, including user fields. More... | |
void | cs_user_numbering (void) |
Define advanced mesh numbering options. More... | |
void | cs_user_parallel_io (void) |
Define parallel IO settings. More... | |
void | cs_user_partition (void) |
Define advanced partitioning options. More... | |
void | cs_user_matrix_tuning (void) |
Define sparse matrix tuning options. More... | |
void | cs_user_parameters (void) |
Define or modify general numerical and physical user parameters. More... | |
void | cs_user_radiative_transfer_parameters (void) |
User function for input of radiative transfer module options. More... | |
void | cs_user_radiative_transfer_bcs (int nvarcl, const int bc_type[], int icodcl[], int izfrdp[], int isothp[], cs_real_t *tmin, cs_real_t *tmax, cs_real_t *tx, const cs_real_t dt[], cs_real_t rcodcl[], const cs_real_t thwall[], const cs_real_t qincid[], cs_real_t hfcnvp[], cs_real_t flcnvp[], cs_real_t xlamp[], cs_real_t epap[], cs_real_t epsp[], cs_real_t textp[], cs_real_t tintp[]) |
User definition of radiative transfer boundary conditions. More... | |
void | cs_user_periodicity (void) |
Define periodic faces. More... | |
void | cs_user_postprocess_writers (void) |
Define post-processing writers. More... | |
void | cs_user_postprocess_probes (void) |
Define monitoring probes and profiles. More... | |
void | cs_user_postprocess_meshes (void) |
Define post-processing meshes. More... | |
void | cs_user_postprocess_activate (int nt_max_abs, int nt_cur_abs, double t_cur_abs) |
void | cs_user_saturne_coupling (void) |
Define couplings with other instances of Code_Saturne. More... | |
int | cs_user_solver_set (void) |
Set user solver. More... | |
void | cs_user_solver (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities) |
Main call to user solver. More... | |
void | cs_user_syrthes_coupling (void) |
Define couplings with SYRTHES code. More... | |
void | cs_user_time_moments (void) |
Define time moments. More... | |
void | cs_user_turbomachinery (void) |
Define rotor/stator model. More... | |
void | cs_user_turbomachinery_rotor (void) |
Define rotor axes, associated cells, and rotor/stator faces. More... | |
bool | cs_user_cdo_activated (void) |
Activate or not the CDO module. More... | |
void | cs_user_cdo_add_mesh_locations (void) |
Specify additional mesh locations. More... | |
void | cs_user_cdo_init_domain (cs_domain_t *domain) |
Specify for the computational domain: – which type of boundaries closed the computational domain – the settings for the time step. More... | |
void | cs_user_cdo_set_domain (cs_domain_t *domain) |
Associate material property and/or convection field to user-defined equations and specify boundary conditions, source terms, initial values for these additional equations. More... | |
cs_cdo_cc_algo_t | cs_user_cdo_geometric_settings (void) |
Setup advanced features concerning the way geometric quantities are built. More... | |
void | cs_user_cdo_numeric_settings (cs_domain_t *domain) |
Setup advanced features concerning the numerical parameters of the equation resolved during the computation. More... | |
void | cs_user_cdo_start_extra_op (const cs_domain_t *domain) |
Initial step for user-defined operations on results provided by the CDO kernel. More... | |
void | cs_user_cdo_extra_op (const cs_domain_t *domain) |
Additional user-defined operations on results provided by the CDO kernel. Define advanced post-processing and analysis for example. More... | |
void | cs_user_cdo_end_extra_op (const cs_domain_t *domain) |
Final step for user-defined operations on results provided by the CDO kernel. More... | |
void | cs_user_scaling_elec (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities, cs_real_t *dt) |
Define scaling parameter for electric model. More... | |
void b_t_to_h | ( | const cs_lnum_t * | nlst, |
const cs_lnum_t * | lstfac, | ||
const cs_real_t * | t_b, | ||
cs_real_t * | h_b | ||
) |
void caltri | ( | void | ) |
void cpthp1 | ( | const cs_int_t * | mode, |
cs_real_t * | eh, | ||
cs_real_t * | xesp, | ||
cs_real_t * | f1mc, | ||
cs_real_t * | f2mc, | ||
cs_real_t * | tp | ||
) |
int cs_add_model_field_indexes | ( | int | f_id | ) |
int cs_field_post_id | ( | int | f_id | ) |
void cs_lagr_status | ( | int * | model_flag, |
int * | restart_flag, | ||
int * | frozen_flag | ||
) |
void cs_user_boundary_conditions | ( | int | nvarcl, |
int | icodcl[], | ||
int | bc_type[], | ||
int | izfrdp[], | ||
cs_real_t | rcodcl[] | ||
) |
User definition of boundary conditions.
[in] | nvarcl | total number of variable BC's |
[in] | bc_type | boundary face types |
[in] | icodcl | boundary face code
|
[in] | izfrdp | boundary faces -> zone number |
[in] | rcodcl | boundary condition values rcodcl(3) = flux density value (negative for gain) in W/m2 |
bool cs_user_cdo_activated | ( | void | ) |
Activate or not the CDO module.
(end ignore by Doxygen)
void cs_user_cdo_add_mesh_locations | ( | void | ) |
Specify additional mesh locations.
void cs_user_cdo_end_extra_op | ( | const cs_domain_t * | domain | ) |
Final step for user-defined operations on results provided by the CDO kernel.
[in] | domain | pointer to a cs_domain_t structure |
void cs_user_cdo_extra_op | ( | const cs_domain_t * | domain | ) |
Additional user-defined operations on results provided by the CDO kernel. Define advanced post-processing and analysis for example.
[in] | domain | pointer to a cs_domain_t structure |
cs_cdo_cc_algo_t cs_user_cdo_geometric_settings | ( | void | ) |
Setup advanced features concerning the way geometric quantities are built.
void cs_user_cdo_init_domain | ( | cs_domain_t * | domain | ) |
Specify for the computational domain: – which type of boundaries closed the computational domain – the settings for the time step.
[in,out] | domain | pointer to a cs_domain_t structure |
Specify for the computational domain: – which type of boundaries closed the computational domain – the settings for the time step.
[in,out] | domain | pointer to a cs_domain_t structure |
void cs_user_cdo_numeric_settings | ( | cs_domain_t * | domain | ) |
Setup advanced features concerning the numerical parameters of the equation resolved during the computation.
[in,out] | domain | pointer to a cs_domain_t structure |
void cs_user_cdo_set_domain | ( | cs_domain_t * | domain | ) |
Associate material property and/or convection field to user-defined equations and specify boundary conditions, source terms, initial values for these additional equations.
[in,out] | domain | pointer to a cs_domain_t structure |
Associate material property and/or convection field to user-defined equations and specify boundary conditions, source terms, initial values for these additional equations.
[in,out] | domain | pointer to a cs_domain_t structure |
void cs_user_cdo_start_extra_op | ( | const cs_domain_t * | domain | ) |
Initial step for user-defined operations on results provided by the CDO kernel.
[in] | domain | pointer to a cs_domain_t structure |
(end ignore by Doxygen)
[in] | domain | pointer to a cs_domain_t structure |
void cs_user_coupling | ( | void | ) |
Define global options for couplings.
These options allow defining the time step synchronization policy, as well as a time step multiplier.
void cs_user_extra_operations | ( | void | ) |
This function is called at the end of each time step.
It has a very general purpose, although it is recommended to handle mainly postprocessing or data-extraction type operations.
void cs_user_initialization | ( | void | ) |
void cs_user_join | ( | void | ) |
Define mesh joinings.
void cs_user_linear_solvers | ( | void | ) |
Define linear solver options.
This function is called at the setup stage, once user and most model-based fields are defined.
Available native iterative linear solvers include conjugate gradient, Jacobi, BiCGStab, BiCGStab2, and GMRES. For symmetric linear systems, an algebraic multigrid solver is available (and recommended).
External solvers may also be setup using this function, the cs_sles_t mechanism alowing such through user-define functions.
void cs_user_matrix_tuning | ( | void | ) |
Define sparse matrix tuning options.
void cs_user_mesh_bad_cells_tag | ( | cs_mesh_t * | mesh, |
cs_mesh_quantities_t * | mesh_quantities | ||
) |
Tag bad cells within the mesh based on user-defined geometric criteria.
[in,out] | mesh | pointer to a cs_mesh_t structure |
[in,out] | mesh_quantities | pointer to a cs_mesh_quantities_t structure |
void cs_user_mesh_input | ( | void | ) |
Define mesh files to read and optional associated transformations.
void cs_user_mesh_modify | ( | cs_mesh_t * | mesh | ) |
Modify geometry and mesh.
[in,out] | mesh | pointer to a cs_mesh_t structure |
void cs_user_mesh_save | ( | cs_mesh_t * | mesh | ) |
Enable or disable mesh saving.
By default, mesh is saved when modified.
[in,out] | mesh | pointer to a cs_mesh_t structure |
void cs_user_mesh_smoothe | ( | cs_mesh_t * | mesh | ) |
Mesh smoothing.
[in,out] | mesh | pointer to a cs_mesh_t structure |
void cs_user_mesh_thinwall | ( | cs_mesh_t * | mesh | ) |
Insert thin wall into a mesh.
[in,out] | mesh | pointer to a cs_mesh_t structure |
void cs_user_mesh_warping | ( | void | ) |
Set options for cutting of warped faces.
void cs_user_model | ( | void | ) |
Select physical model options, including user fields.
This function is called at the earliest stages of the data setup, so field ids are not available yet.
void cs_user_numbering | ( | void | ) |
Define advanced mesh numbering options.
void cs_user_parallel_io | ( | void | ) |
Define parallel IO settings.
void cs_user_parameters | ( | void | ) |
Define or modify general numerical and physical user parameters.
At the calling point of this function, most model-related most variables and other fields have been defined, so specific settings related to those fields may be set here.
void cs_user_partition | ( | void | ) |
Define advanced partitioning options.
void cs_user_periodicity | ( | void | ) |
Define periodic faces.
void cs_user_physical_properties | ( | const cs_mesh_t * | mesh, |
const cs_mesh_quantities_t * | mesh_quantities | ||
) |
Function is called each time step to define physical properties.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | mesh_quantities | pointer to a cs_mesh_quantities_t structure |
void cs_user_postprocess_activate | ( | int | nt_max_abs, |
int | nt_cur_abs, | ||
double | t_cur_abs | ||
) |
Override default frequency or calculation end based output.
This allows fine-grained control of activation or deactivation,
nt_max_abs | maximum time step number |
nt_cur_abs | current time step number |
t_cur_abs | absolute time at the current time step |
void cs_user_postprocess_meshes | ( | void | ) |
Define post-processing meshes.
The main post-processing meshes may be configured, and additional post-processing meshes may be defined as a subset of the main mesh's cells or faces (both interior and boundary).
void cs_user_postprocess_probes | ( | void | ) |
Define monitoring probes and profiles.
Profiles are defined as sets of probes.
void cs_user_postprocess_writers | ( | void | ) |
Define post-processing writers.
The default output format and frequency may be configured, and additional post-processing writers allowing outputs in different formats or with different format options and output frequency than the main writer may be defined.
void cs_user_rad_transfer_absorption | ( | const int | bc_type[], |
const int | izfrdp[], | ||
const cs_real_t | dt[], | ||
cs_real_t | ck[] | ||
) |
Absorption coefficient for radiative module.
It is necessary to define the value of the fluid's absorption coefficient Ck.
This value is defined automatically for specific physical models, such as gas and coal combustion, so this function should not be used with these models.
For a transparent medium, the coefficient should be set to 0.
In the case of the P-1 model, we check that the optical length is at least of the order of 1.
[in] | bc_type | boundary face types |
[in] | izfrdp | zone number for boundary faces |
[in] | dt | time step (per cell) |
[out] | ck | medium's absorption coefficient (zero if transparent) |
void cs_user_rad_transfer_net_flux | ( | const int | itypfb[], |
const int | izfrdp[], | ||
const cs_real_t | dt[], | ||
const cs_real_t | coefap[], | ||
const cs_real_t | coefbp[], | ||
const cs_real_t | cofafp[], | ||
const cs_real_t | cofbfp[], | ||
const cs_real_t | twall[], | ||
const cs_real_t | qincid[], | ||
const cs_real_t | xlam[], | ||
const cs_real_t | epa[], | ||
const cs_real_t | eps[], | ||
const cs_real_t | ck[], | ||
cs_real_t | net_flux[] | ||
) |
Compute the net radiation flux.
The density of net radiation flux must be calculated consistently with the boundary conditions of the intensity. The density of net flux is the balance between the radiative emiting part of a boudary face (and not the reflecting one) and the radiative absorbing part.
[in] | bc_type | boundary face types |
[in] | izfrdp | boundary faces -> zone number |
[in] | dt | time step (per cell) |
[in] | coefap | boundary condition work array for the luminance (explicit part) |
[in] | coefbp | boundary condition work array for the luminance (implicit part) |
[in] | cofafp | boundary condition work array for the diffusion of the luminance (explicit part) |
[in] | cofbfp | boundary condition work array for the diffusion of the luminance (implicit part) |
[in] | twall | inside current wall temperature (K) |
[in] | qincid | radiative incident flux (W/m2) |
[in] | xlamp | conductivity (W/m/K) |
[in] | epap | thickness (m) |
[in] | epsp | emissivity (>0) |
[in] | ck | absorption coefficient |
[out] | net_flux | net flux (W/m2) |
void cs_user_radiative_transfer_bcs | ( | int | nvarcl, |
const int | bc_type[], | ||
int | icodcl[], | ||
int | izfrdp[], | ||
int | isothp[], | ||
cs_real_t * | tmin, | ||
cs_real_t * | tmax, | ||
cs_real_t * | tx, | ||
const cs_real_t | dt[], | ||
cs_real_t | rcodcl[], | ||
const cs_real_t | thwall[], | ||
const cs_real_t | qincid[], | ||
cs_real_t | hfcnvp[], | ||
cs_real_t | flcnvp[], | ||
cs_real_t | xlamp[], | ||
cs_real_t | epap[], | ||
cs_real_t | epsp[], | ||
cs_real_t | textp[], | ||
cs_real_t | tintp[] | ||
) |
User definition of radiative transfer boundary conditions.
See Examples of data settings for radiative transfers for examples.
We define zones of wall boundaries, and we assign a type. This allows to apply the boundary conditions and realize balance sheets by treating them separately for each zone. For each boundary face face_id (not just wall faces) a zone number IZFRDP(face_id) must be assigned. Warning: it is essential that ALL boundary faces have been assigned to a zone. The number of zones (the value of IZFRDP(face_id)) is arbitrarily chosen by the user, but must be a positive integer less than or equal to cs_glob_rad_transfer_params->nbzrdm (value set in parameter cs_user_radiation_parameters.h).
The following face characteristics must be set:
Depending on the value of isothp, other values may also need to be set:
[in] | nvarcl | total number of variable BC's |
[in] | bc_type | boundary face types |
[in] | icodcl | boundary face code
|
[in] | izfrdp | boundary faces -> zone number |
[in] | isothp | boundary face type for radative transfer
|
[out] | tmin | min allowed value of the wall temperature |
[out] | tmax | max allowed value of the wall temperature |
[in] | tx | relaxation coefficient (0 < tx < 1) |
[in] | dt | time step (per cell) |
[in] | rcodcl | boundary condition values rcodcl(3) = flux density value (negative for gain) in W/m2 |
[in] | thwall | inside current wall temperature (K) |
[in] | qincid | radiative incident flux (W/m2) |
[in] | hfcnvp | convective exchange coefficient (W/m2/K) |
[in] | flcnvp | convective flux (W/m2) |
[out] | xlamp | conductivity (W/m/K) |
[out] | epap | thickness (m) |
[out] | epsp | emissivity (>0) |
[out] | textp | outside temperature (K) |
[out] | tintp | initial inside temperature (K) |
void cs_user_radiative_transfer_parameters | ( | void | ) |
User function for input of radiative transfer module options.
void cs_user_saturne_coupling | ( | void | ) |
Define couplings with other instances of Code_Saturne.
This is done by calling the cs_sat_coupling_define function for each coupling to add.
void cs_user_scaling_elec | ( | const cs_mesh_t * | mesh, |
const cs_mesh_quantities_t * | mesh_quantities, | ||
cs_real_t * | dt | ||
) |
Define scaling parameter for electric model.
Define scaling parameter for electric model.
[in] | mesh | pointer to a cs_mesh_t structure |
[in,out] | mesh_quantities | pointer to a cs_mesh_quantities_t structure |
[in] | dt | pointer to a cs_real_t |
These options allow defining the time step synchronization policy, as well as a time step multiplier.
void cs_user_solver | ( | const cs_mesh_t * | mesh, |
const cs_mesh_quantities_t * | mesh_quantities | ||
) |
Main call to user solver.
[in] | mesh | pointer to a cs_mesh_t structure |
[in,out] | mesh_quantities | pointer to a cs_mesh_quantities_t structure |
int cs_user_solver_set | ( | void | ) |
Set user solver.
void cs_user_syrthes_coupling | ( | void | ) |
Define couplings with SYRTHES code.
This is done by calling the cs_syr_coupling_define function for each coupling to add.
void cs_user_time_moments | ( | void | ) |
Define time moments.
This function is called at the setup stage, once user and most model-based fields are defined, and before fine control of field output options is defined.
void cs_user_turbomachinery | ( | void | ) |
Define rotor/stator model.
void cs_user_turbomachinery_rotor | ( | void | ) |
Define rotor axes, associated cells, and rotor/stator faces.
void dvvpst | ( | const cs_int_t * | nummai, |
const cs_int_t * | numtyp, | ||
const cs_int_t * | nvar, | ||
const cs_int_t * | ncelps, | ||
const cs_int_t * | nfbrps, | ||
const cs_int_t | lstcel[], | ||
const cs_int_t | lstfbr[], | ||
cs_real_t | tracel[], | ||
cs_real_t | trafbr[] | ||
) |
void findpt | ( | const cs_int_t * | ncelet, |
const cs_int_t * | ncel, | ||
const cs_real_t * | xyzcen, | ||
const cs_real_t * | xx, | ||
const cs_real_t * | yy, | ||
const cs_real_t * | zz, | ||
cs_int_t * | node, | ||
cs_int_t * | ndrang | ||
) |
void haltyp | ( | const cs_int_t * | ivoset | ) |
void initi1 | ( | void | ) |
void memfin | ( | void | ) |
void usipes | ( | cs_int_t * | nmodpp | ) |
void usvpst | ( | const cs_int_t * | nummai, |
const cs_int_t * | nvar, | ||
const cs_int_t * | nscal, | ||
const cs_int_t * | nvlsta, | ||
const cs_int_t * | ncelps, | ||
const cs_int_t * | nfacps, | ||
const cs_int_t * | nfbrps, | ||
const cs_int_t | itypps[3], | ||
const cs_int_t | lstcel[], | ||
const cs_int_t | lstfac[], | ||
const cs_int_t | lstfbr[] | ||
) |
void zufalli | ( | const cs_int_t * | n | ) |