![]() |
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"
#include "cs_lagr.h"
#include "cs_lagr_tracking.h"
#include "cs_lagr_stat.h"
Go to the source code of this file.
Functions | |
void | cs_user_lagr_ef (cs_real_t dt_p, const cs_real_t taup[], const cs_real_3_t tlag[], const cs_real_3_t piil[], const cs_real_t bx[], const cs_real_t tsfext[], const cs_real_33_t vagaus[], const cs_real_3_t gradpr[], const cs_real_33_t gradvf[], cs_real_t rho_p[], cs_real_3_t fextla[]) |
User definition of an external force field acting on the particles. More... | |
void | cs_user_lagr_in (int time_id, int *injfac, cs_lagr_zone_class_data_t *local_userdata, cs_real_t vislen[]) |
User function for the boundary conditions for the particles (inlet and treatment for the other boundaries) This routine is called after the initialization of the new particles in order to modify them according to new particle profiles. More... | |
void | cs_user_lagr_model (void) |
User function of the Lagrangian particle-tracking module: User function for input of calculation parameters. More... | |
void | cs_user_lagr_new_p_attr (unsigned char *particle, const cs_lagr_attribute_map_t *p_am, cs_lnum_t face_id, cs_lagr_attribute_t attr_id) |
Prescribe some attributes for newly injected particles. More... | |
void | cs_user_lagr_rt (cs_lnum_t id_p, cs_real_t re_p, cs_real_t uvwr, cs_real_t rho_f, cs_real_t rho_p, cs_real_t nu_f, cs_real_t taup[], const cs_real_t dt[]) |
Modification of the calculation of the particle relaxation time with respect to the chosen formulation for the drag coefficient. More... | |
void | cs_user_lagr_rt_t (cs_lnum_t id_p, cs_real_t re_p, cs_real_t uvwr, cs_real_t rho_f, cs_real_t rho_p, cs_real_t nu_f, cs_real_t cp_f, cs_real_t k_f, cs_real_t tauc[], const cs_real_t dt[]) |
Modification of the calculation of the thermal relaxation time of the particles with respect to the chosen formulation of the Nusselt number. More... | |
void | cs_user_lagr_imposed_motion (const cs_real_3_t coords, const cs_real_t dt, cs_real_3_t disp) |
Impose the motion of a particle falgged CS_LAGR_PART_IMPOSED_MOTION. More... | |
void | cs_user_lagr_extra_operations (const cs_real_t dt[]) |
User function (non-mandatory intervention) More... | |
void | cs_user_lagr_sde (const cs_real_t dt[], cs_real_t taup[], cs_real_3_t tlag[], cs_real_t tempct[]) |
User function (non-mandatory intervention) Integration of the sde for the user-defined variables. The variables are constant by default. The sde must be of the form:
T : IIIIeme user-defined variable, given for the ip particle by T = EPTP(JVLS(IIII),IP) T = EPTPA(JVLS(IIII),IP) Tca : Characteristic time for the sde to be prescribed in the array auxl1 PIP : Coefficient of the sde (pseudo right member) to be prescribed in the array auxl2 If the chosen scheme is first order (nordre=1) then, at the first and only passage pip is expressed as a function of the quantities of the previous time step contained in eptpa If the chosen scheme is second order (nordre=2) then, at the first passage (nor=1) pip is expressed as a function of the quantities of the previous time step contained in eptpa, and at the second passage (nor=2) pip is expressed as a function of the quantities of the current time step. More... | |
void | cs_user_lagr_boundary_conditions (const int itypfb[]) |
Define particle boundary conditions. More... | |
void cs_user_lagr_boundary_conditions | ( | const int | bc_type[] | ) |
Define particle boundary conditions.
This is used definition of for inlet and of the other boundaries
Boundary faces may be selected using the cs_selector_get_b_face_num_list function.
parameters:
[in] | itypfb | type of the boundary faces |
This is used definition of for inlet and of the other boundaries
Boundary faces may be selected using the cs_selector_get_b_face_list function.
parameters:
[in] | bc_type | type of the boundary faces |
void cs_user_lagr_ef | ( | cs_real_t | dt_p, |
const cs_real_t | taup[], | ||
const cs_real_3_t | tlag[], | ||
const cs_real_3_t | piil[], | ||
const cs_real_t | bx[], | ||
const cs_real_t | tsfext[], | ||
const cs_real_33_t | vagaus[], | ||
const cs_real_3_t | gradpr[], | ||
const cs_real_33_t | gradvf[], | ||
cs_real_t | rho_p[], | ||
cs_real_3_t | fextla[] | ||
) |
User definition of an external force field acting on the particles.
It must be prescribed in every cell and be homogeneous to gravity (m/s^2) By default gravity and drag force are the only forces acting on the particles (the gravity components gx gy gz are assigned in the GUI or in usipsu)
[in] | dt_p | time step (for the cell) |
[in] | taup | particle relaxation time |
[in] | tlag | relaxation time for the flow |
[in] | piil | term in the integration of the sde |
[in] | bx | characteristics of the turbulence |
[in] | tsfext | infos for the return coupling |
[in] | vagaus | Gaussian random variables |
[in] | gradpr | pressure gradient |
[in] | gradvf | gradient of the flow velocity |
[in,out] | rho_p | particle density |
[out] | fextla | user external force field (m/s^2)$ |
void cs_user_lagr_extra_operations | ( | const cs_real_t | dt[] | ) |
User function (non-mandatory intervention)
User-defined modifications on the variables at the end of the Lagrangian time step and calculation of user-defined additional statistics on the particles.
User-defined modifications on the variables at the end of the Lagrangian time step and calculation of user-defined additional statistics on the particles.
About the user-defined additional statistics, we recall that:
isttio = 0 : unsteady Lagrangian calculation = 1 : steady Lagrangian calculation
isuist : Restart of statistics calculation if >= 1, else no stats
idstnt : Number of the time step for the start of the statistics calculation
nstist : Number of the time step of the start of the steady computation
[in] | dt | time step (per cell) |
void cs_user_lagr_imposed_motion | ( | const cs_real_3_t | coords, |
const cs_real_t | dt, | ||
cs_real_3_t | disp | ||
) |
Impose the motion of a particle falgged CS_LAGR_PART_IMPOSED_MOTION.
User-defined modifications on the particle position and its velocity.
[in] | coords | old particle coordinates |
[in] | dt | time step (per particle) |
[out] | disp | particle dispacement |
void cs_user_lagr_in | ( | int | time_id, |
int * | injfac, | ||
cs_lagr_zone_class_data_t * | local_userdata, | ||
cs_real_t | vislen[] | ||
) |
User function for the boundary conditions for the particles (inlet and treatment for the other boundaries) This routine is called after the initialization of the new particles in order to modify them according to new particle profiles.
[in] | time_id | time step indicator for fields 0: use fields at current time step 1: use fields at previous time step |
[in] | injfac | array of injection face id for every particles |
[in] | local_userdata | local_userdata pointer to zone/cluster specific boundary conditions (number of injected particles, velocity profile...) |
User function for the boundary conditions for the particles (inlet and treatment for the other boundaries) This routine is called after the initialization of the new particles in order to modify them according to new particle profiles.
This function is called after the initialization of the new particles in order to modify them according to new particle profiles (injection profiles, position of the injection point, statistical weights, correction of the diameter if the standard-deviation option is activated).
[in] | time_id | time step indicator for fields 0: use fields at current time step 1: use fields at previous time step |
[in] | injfac | array of injection face id for every particles |
[in] | local_userdata | local_userdata pointer to zone/cluster specific boundary conditions (number of injected particles, velocity profile...) |
void cs_user_lagr_model | ( | void | ) |
User function of the Lagrangian particle-tracking module: User function for input of calculation parameters.
void cs_user_lagr_new_p_attr | ( | unsigned char * | particle, |
const cs_lagr_attribute_map_t * | p_am, | ||
cs_lnum_t | face_id, | ||
cs_lagr_attribute_t | attr_id | ||
) |
Prescribe some attributes for newly injected particles.
This function is called at different points, at which different attributes may be modified.
[in,out] | particle | particle structure |
[in] | p_am | particle attributes map |
[in] | face_id | id of particle injection face |
[in] | attr_id | id of variable modifiable by this call. called for CS_LAGR_PRED_VELOCITY, CS_LAGR_DIAMETER, CS_LAGR_TEMPERATURE, CS_LAGR_STAT_WEIGHT |
This function is called at different points, at which different attributes may be modified.
[in,out] | particle | particle structure |
[in] | p_am | particle attributes map |
[in] | face_id | id of particle injection face |
[in] | attr_id | id of variable modifiable by this call. called for CS_LAGR_VELOCITY, CS_LAGR_DIAMETER, CS_LAGR_TEMPERATURE, CS_LAGR_STAT_WEIGHT |
void cs_user_lagr_rt | ( | cs_lnum_t | id_p, |
cs_real_t | re_p, | ||
cs_real_t | uvwr, | ||
cs_real_t | rho_f, | ||
cs_real_t | rho_p, | ||
cs_real_t | nu_f, | ||
cs_real_t | taup[], | ||
const cs_real_t | dt[] | ||
) |
Modification of the calculation of the particle relaxation time with respect to the chosen formulation for the drag coefficient.
This function is called in a loop on the particles, so be careful to avoid too costly operations.
This function is called in a loop on the particles, so be careful to avoid too costly operations.
m Cp p p Tau = --------------- c 2 PI d h p e Tau : Thermal relaxation time (value to be computed) c m : Particle mass p Cp : Particle specific heat p d : Particle diameter p h : Coefficient of thermal exchange e
he coefficient of thermal exchange is calculated from a Nusselt number, itself evaluated by a correlation (Ranz-Marshall by default)
h d e p Nu = -------- = 2 + 0.55 Re **(0.5) Prt**(0.33) Lambda p Lambda : Thermal conductivity of the carrier field Re : Particle Reynolds number p Prt : Prandtl number
[in] | id_p | particle id |
[in] | re_p | particle Reynolds number |
[in] | uvwr | relative velocity of the particle (flow-seen velocity - part. velocity) |
[in] | rho_f | fluid density at particle position |
[in] | rho_p | particle density |
[in] | nu_f | kinematic viscosity of the fluid at particle position |
[in] | cp_f | specific heat of the fluid at particle position |
[in] | k_f | diffusion coefficient of the fluid at particle position |
[out] | taup | thermal relaxation time |
[in] | dt | time step (per cell) |
void cs_user_lagr_rt_t | ( | cs_lnum_t | id_p, |
cs_real_t | re_p, | ||
cs_real_t | uvwr, | ||
cs_real_t | rho_f, | ||
cs_real_t | rho_p, | ||
cs_real_t | nu_f, | ||
cs_real_t | cp_f, | ||
cs_real_t | k_f, | ||
cs_real_t | tauc[], | ||
const cs_real_t | dt[] | ||
) |
Modification of the calculation of the thermal relaxation time of the particles with respect to the chosen formulation of the Nusselt number.
This function is called in a loop on the particles, so be careful to avoid too costly operations.
Modification of the calculation of the thermal relaxation time of the particles with respect to the chosen formulation of the Nusselt number.
This function is called in a loop on the particles, so be careful to avoid too costly operations.
[in] | id_p | particle id |
[in] | re_p | particle Reynolds number |
[in] | uvwr | relative velocity of the particle (flow-seen velocity - part. velocity) |
[in] | rho_f | fluid density at particle position |
[in] | rho_p | particle density |
[in] | nu_f | kinematic viscosity of the fluid at particle position |
[in] | cp_f | specific heat of the fluid at particle position |
[in] | k_f | diffusion coefficient of the fluid at particle position |
[out] | tauc | thermal relaxation time |
[in] | dt | time step (per cell) |
void cs_user_lagr_sde | ( | const cs_real_t | dt[], |
cs_real_t | taup[], | ||
cs_real_3_t | tlag[], | ||
cs_real_t | tempct[] | ||
) |
User function (non-mandatory intervention) Integration of the sde for the user-defined variables. The variables are constant by default. The sde must be of the form:
T : IIIIeme user-defined variable, given for the ip particle by T = EPTP(JVLS(IIII),IP) T = EPTPA(JVLS(IIII),IP) Tca : Characteristic time for the sde to be prescribed in the array auxl1 PIP : Coefficient of the sde (pseudo right member) to be prescribed in the array auxl2 If the chosen scheme is first order (nordre=1) then, at the first and only passage pip is expressed as a function of the quantities of the previous time step contained in eptpa If the chosen scheme is second order (nordre=2) then, at the first passage (nor=1) pip is expressed as a function of the quantities of the previous time step contained in eptpa, and at the second passage (nor=2) pip is expressed as a function of the quantities of the current time step.
[in] | dt | time step (per cell) |
[in] | taup | particle relaxation time |
[in] | tlag | relaxation time for the flow |
[in] | tempct | characteristic thermal time and implicit source term of return coupling |
User function (non-mandatory intervention) Integration of the sde for the user-defined variables. The variables are constant by default. The sde must be of the form:
T : IIIIeme user-defined variable, given for the ip particle by T = EPTP(JVLS(IIII),IP) T = EPTPA(JVLS(IIII),IP) Tca : Characteristic time for the sde to be prescribed in the array auxl1 PIP : Coefficient of the sde (pseudo right member) to be prescribed in the array auxl2 If the chosen scheme is first order (nordre=1) then, at the first and only passage pip is expressed as a function of the quantities of the previous time step contained in eptpa If the chosen scheme is second order (nordre=2) then, at the first passage (nor=1) pip is expressed as a function of the quantities of the previous time step contained in eptpa, and at the second passage (nor=2) pip is expressed as a function of the quantities of the current time step.
The variables are constant by default. The SDE must be of the form:
T: particle attribute representing the variable Tca: characteristic time for the sde to be prescribed in the array auxl1 PIP: coefficient of the SDE (pseudo RHS) to be prescribed in the array auxl2. If the chosen scheme is first order (nordre=1) then, at the first and only call pip is expressed as a function of the quantities of the previous time step (contained in the particle data). If the chosen scheme is second order (nordre=2) then, at the first call (nor=1) pip is expressed as a function of the quantities of the previous time step, and at the second passage (nor=2) pip is expressed as a function of the quantities of the current time step.
[in] | dt | time step (per cell) |
[in] | taup | particle relaxation time |
[in] | tlag | relaxation time for the flow |
[in] | tempct | characteristic thermal time and implicit source term of return coupling |