9.1
general documentation
cs_lagr_sde.cpp File Reference
+ Include dependency graph for cs_lagr_sde.cpp:

Functions

static void _add_resuspension_event (cs_lagr_event_set_t *events, cs_lagr_particle_set_t *particles, cs_lnum_t p_id, cs_lnum_t face_id, const cs_real_t particle_velocity[3])
 Add a resulspension event. More...
 
static double _x_expm1 (double x)
 
static double _x_expm1_p (double x)
 
static double _secant_ter2p (double a, double b)
 
static double _secant_ter2x (double a, double b)
 
static double _secant_ter7x (double a, double b)
 
static double _secant_ter7p (double a, double b)
 
void cs_sde_vels_pos_1_st_order_time_integ (cs_lnum_t p_id, cs_real_t dt_part, int nor, const cs_real_t *taup, const cs_real_3_t *tlag, const cs_real_3_t *piil, const cs_real_33_t *bx, const cs_real_3_t *vagaus, const cs_real_6_t brgaus, const cs_real_3_t force_p, const cs_real_3_t beta)
 Integration of SDEs by 1st order time scheme for one particle. More...
 
static void cs_sde_vels_pos_2_nd_order_time_integ (cs_lnum_t p_id, cs_real_t dt_part, int nor, const cs_real_t *taup, const cs_real_3_t *tlag, const cs_real_3_t *piil, const cs_real_33_t *bx, cs_real_t *tsfext, const cs_real_3_t *vagaus, const cs_real_6_t brgaus, const cs_real_3_t force_p, const cs_real_3_t beta)
 Integration of SDEs by 2nd order scheme. More...
 
static void _lagesd (cs_real_t dt_part, cs_lnum_t p_id, int nor, const cs_real_t taup, const cs_real_3_t piil, const cs_real_3_t *vagaus, const cs_real_t romp, const cs_real_3_t force_p, cs_real_t tempf, const cs_real_t vislen[], cs_lagr_event_set_t *events, cs_real_t *depint, cs_lnum_t *n_new_particles)
 Deposition submodel. More...
 
static void cs_sde_vels_pos_time_integ_depot (cs_lnum_t p_id, cs_real_t dt_part, int nor, const cs_real_t taup, const cs_real_3_t tlag, const cs_real_3_t piil, const cs_real_33_t bx, const cs_real_3_t *vagaus, const cs_real_t romp, const cs_real_3_t force_p, const cs_real_t vislen[], cs_lnum_t *n_new_particles)
 Deposition submodel. More...
 
void cs_lagr_sde (cs_lnum_t p_id, cs_real_t dt_part, int nor, const cs_real_t *taup, const cs_real_3_t *tlag, const cs_real_3_t *piil, const cs_real_33_t *bx, cs_real_t *tsfext, const cs_real_3_t force_p, const cs_real_t vislen[], const cs_real_3_t beta, cs_real_3_t *vagaus, cs_real_6_t brgaus, cs_lnum_t *n_new_particles)
 Integration of particle equations of motion: More...
 
void cs_lagr_sde_attr (cs_lagr_attribute_t attr, const cs_lnum_t p_id, int nor, const cs_real_t dt_part, cs_real_t tcarac, cs_real_t pip)
 Integration of a stochastic differential equation (SDE) for a user particle variable (attribute). More...
 

Function Documentation

◆ _add_resuspension_event()

static void _add_resuspension_event ( cs_lagr_event_set_t events,
cs_lagr_particle_set_t particles,
cs_lnum_t  p_id,
cs_lnum_t  face_id,
const cs_real_t  particle_velocity[3] 
)
static

Add a resulspension event.

TODO add additional info to events.

Parameters
[in]eventspointer to events set
[in]particlespointer to particle set
[in]p_idparticle id
[in]face_idassociated face id
[in]particle_velocityvelocity after event

◆ _lagesd()

static void _lagesd ( cs_real_t  dt_part,
cs_lnum_t  p_id,
int  nor,
const cs_real_t  taup,
const cs_real_3_t  piil,
const cs_real_3_t vagaus,
const cs_real_t  romp,
const cs_real_3_t  force_p,
cs_real_t  tempf,
const cs_real_t  vislen[],
cs_lagr_event_set_t events,
cs_real_t depint,
cs_lnum_t n_new_particles 
)
static

Deposition submodel.

1/ Modification of the coordinate system (global ->local) 2/ Call of subroutine lagcli 3/ Integration of the stochastic differential equations in the 2 directions different from the normal to the boundary face 4/ Modification of the coordinate system (local ->global) 5/ Update of the particle position

Parameters
[in]dt_partremaining time step associated to the particle
[in]p_idparticle index in set
[in]norcurrent step id (for 2nd order scheme)
[in]taupdynamic characteristic time
[in]piilterm in integration of UP SDEs
[in]vagausgaussian random variables
[in]rompparticles associated density
[in]force_pforces per mass unit on particles (m/s^2)
[in]tempftemperature of the fluid (K)
[in]vislenFIXME
[in]eventsassociated events set
[in]depintinterface location near-wall/core-flow
[in]n_new_particles

◆ _secant_ter2p()

static double _secant_ter2p ( double  a,
double  b 
)
static

◆ _secant_ter2x()

static double _secant_ter2x ( double  a,
double  b 
)
static

◆ _secant_ter7p()

static double _secant_ter7p ( double  a,
double  b 
)
static

◆ _secant_ter7x()

static double _secant_ter7x ( double  a,
double  b 
)
static

◆ _x_expm1()

static double _x_expm1 ( double  x)
inlinestatic

◆ _x_expm1_p()

static double _x_expm1_p ( double  x)
inlinestatic

◆ cs_lagr_sde()

void cs_lagr_sde ( cs_lnum_t  p_id,
cs_real_t  dt_part,
int  nor,
const cs_real_t taup,
const cs_real_3_t tlag,
const cs_real_3_t piil,
const cs_real_33_t bx,
cs_real_t tsfext,
const cs_real_3_t  force_p,
const cs_real_t  vislen[],
const cs_real_3_t  beta,
cs_real_3_t vagaus,
cs_real_6_t  brgaus,
cs_lnum_t n_new_particles 
)

Integration of particle equations of motion:

  • Standard Model : First or second order
  • Deposition submodel (Guingo & Minier, 2007) if needed
Parameters
[in]p_idparticle index in set
[in]dt_partremaining time step associated to the particle
[in]norcurrent step id (for 2nd order scheme)
[in]taupdynamic characteristic time
[in]tlagfluid characteristic time
[in]piilterm in integration of U-P SDEs
[in]bxturbulence characteristics
[out]tsfextinfo for return coupling source terms
[out]force_pforces per mass unit on particles (m/s^2)
[in]vislennu/u* = y/y+
[in]betaproportional to the gradient of T_lag
[out]vagausgaussian random variables
[out]brgausgaussian random variables
[in]n_new_particles

◆ cs_lagr_sde_attr()

void cs_lagr_sde_attr ( cs_lagr_attribute_t  attr,
const cs_lnum_t  p_id,
int  nor,
const cs_real_t  dt_part,
cs_real_t  tcarac,
cs_real_t  pip 
)

Integration of a stochastic differential equation (SDE) for a user particle variable (attribute).

\[
 \frac{dV}{dt} = \frac{V - PIP}{TCARAC}
\]

When there is interaction with a boundary face, the integration degenerates to order 1 (even if the 2nd order scheme is active).

Parameters
[in]attrattribute/variable
[in]p_idparticle id
[in]norcurrent step id (for 2nd order scheme)
[in]dt_partremaining time step associated to the particle
[in]tcaracvariable characteristic time
[in]pipright-hand side associated with SDE

◆ cs_sde_vels_pos_1_st_order_time_integ()

void cs_sde_vels_pos_1_st_order_time_integ ( cs_lnum_t  p_id,
cs_real_t  dt_part,
int  nor,
const cs_real_t taup,
const cs_real_3_t tlag,
const cs_real_3_t piil,
const cs_real_33_t bx,
const cs_real_3_t vagaus,
const cs_real_6_t  brgaus,
const cs_real_3_t  force_p,
const cs_real_3_t  beta 
)

Integration of SDEs by 1st order time scheme for one particle.

Parameters
[in]p_idparticle index in set
[in]dt_partremaining time step associated to the particle
[in]norcurrent step id (for 2nd order scheme)
[in]taupdynamic characteristic time
[in]tlaglagrangian fluid characteristic time
[in]piilterm in integration of up sdes
[in]bxturbulence characteristics
[in]vagausgaussian random variables
[in]brgausgaussian random variables
[in]force_pforces per mass unit on particles (m/s^2)
[in]betaproportional to the gradient of T_lag

◆ cs_sde_vels_pos_2_nd_order_time_integ()

static void cs_sde_vels_pos_2_nd_order_time_integ ( cs_lnum_t  p_id,
cs_real_t  dt_part,
int  nor,
const cs_real_t taup,
const cs_real_3_t tlag,
const cs_real_3_t piil,
const cs_real_33_t bx,
cs_real_t tsfext,
const cs_real_3_t vagaus,
const cs_real_6_t  brgaus,
const cs_real_3_t  force_p,
const cs_real_3_t  beta 
)
static

Integration of SDEs by 2nd order scheme.

When there has beed interaction with a boundary face, the velocity and velocity seen computations are forced to 1st order.

Parameters
[in]p_idparticle index in set
[in]dt_partremaining time step associated to the particle
[in]norcurrent step id (for 2nd order scheme)
[in]taupdynamic characteristic time
[in]tlaglagrangian fluid characteristic time
[in]piilterm in integration of up sdes
[in]bxturbulence characteristics
[out]tsfextinfo for return coupling source terms
[in]vagausgaussian random variables
[in]brgausgaussian random variables
[in]force_pforces per mass unit on particles (m/s^2)
[in]betaproportional to the gradient of T_lag

◆ cs_sde_vels_pos_time_integ_depot()

static void cs_sde_vels_pos_time_integ_depot ( cs_lnum_t  p_id,
cs_real_t  dt_part,
int  nor,
const cs_real_t  taup,
const cs_real_3_t  tlag,
const cs_real_3_t  piil,
const cs_real_33_t  bx,
const cs_real_3_t vagaus,
const cs_real_t  romp,
const cs_real_3_t  force_p,
const cs_real_t  vislen[],
cs_lnum_t n_new_particles 
)
static

Deposition submodel.

Main subroutine of the submodel 1/ Calculation of the normalized wall-normal distance of the boundary-cell particles 2/ Sorting of the particles with respect to their normalized wall-normal distance

  • If y^+ > depint : the standard Langevin model is applied
  • If y^+ < depint : the deposition submodel is applied
Parameters
[in]p_idparticle index in set
[in]dt_partremaining time step associated to the particle
[in]norcurrent step id (for 2nd order scheme)
[in]taupdynamic characteristic time
[in]tlaglagrangian fluid characteristic time
[in]piilterm in integration of up sdes
[in]bxturbulence characteristics
[in]vagausgaussian random variables
[in]rompparticles associated density
[in]force_pforces per mass unit on particles (m/s^2)
[in]vislennu/u* = y/y+
[out]n_new_particles