8.0
general documentation
cs_lagr_orientation.c File Reference
#include "cs_defs.h"
#include <math.h>
#include "bft_printf.h"
#include "bft_error.h"
#include "bft_mem.h"
#include "cs_base.h"
#include "cs_field.h"
#include "cs_field_pointer.h"
#include "cs_math.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
#include "cs_parameters.h"
#include "cs_physical_constants.h"
#include "cs_physical_model.h"
#include "cs_prototypes.h"
#include "cs_random.h"
#include "cs_lagr.h"
#include "cs_lagr_particle.h"
#include "cs_lagr_event.h"
#include "cs_lagr_orientation.h"
+ Include dependency graph for cs_lagr_orientation.c:

Functions

static void _mean_stretching_phase_spheroid (const cs_real_t dtp, cs_real_t orientation[3], const cs_real_t Lambda, const cs_real_t beta, const cs_real_t gradvf_sym[3][3])
 Treatment of spheroid stretching by symetric part of the mean velocity gradient. More...
 
static void _mean_rotation_phase_spheroid (const cs_real_t dtp, cs_real_t orientation[3], const cs_real_t gradvf_ant[3][3])
 Treatment of spheroid rotation increment by antisymetric mean velocity gradient. More...
 
static void _bm_stretching_phase_spheroid (const cs_lnum_t ip, const cs_real_t dtp, const cs_real_t d_plus, cs_real_t orientation[3], const cs_real_t Lambda, const cs_real_t brown[])
 Treatment of spheroid stretching by Brownian effect. More...
 
static void _bm_rotation_phase_spheroid_by_quaternion (const cs_lnum_t ip, const cs_real_t dtp, const cs_real_t d_minus, cs_real_t orient_loc[3], cs_real_t quater_loc[4], const cs_real_t brown[])
 Treatment of spheroid rotation by Brownian on the sphere using quaternions. More...
 
void cs_lagr_orientation_dyn_spheroids (int iprev, const cs_real_t dt_p, const cs_real_t gradvf[][3][3])
 Integration of the equations of motion for particle orientation: More...
 
void cs_lagr_orientation_dyn_jeffery (cs_real_t dt_p, const cs_real_t gradvf[][3][3])
 Integration of the Jeffey equations in DNS mode. More...
 

Function Documentation

◆ _bm_rotation_phase_spheroid_by_quaternion()

static void _bm_rotation_phase_spheroid_by_quaternion ( const cs_lnum_t  ip,
const cs_real_t  dtp,
const cs_real_t  d_minus,
cs_real_t  orient_loc[3],
cs_real_t  quater_loc[4],
const cs_real_t  brown[] 
)
static

Treatment of spheroid rotation by Brownian on the sphere using quaternions.

Principle: Use of quaternions to get the rotation angle

Parameters
[in]ipparticle number
[in]dtptime step
[in]d_minusreduced parameter for the (isotropic) fluctuation tensor
[in]orientationspheroid orientation (vector)
[in]brownnormal random number (9 values by particles)

◆ _bm_stretching_phase_spheroid()

static void _bm_stretching_phase_spheroid ( const cs_lnum_t  ip,
const cs_real_t  dtp,
const cs_real_t  d_plus,
cs_real_t  orientation[3],
const cs_real_t  Lambda,
const cs_real_t  brown[] 
)
static

Treatment of spheroid stretching by Brownian effect.

Principle: Euler scheme

Parameters
[in]ipparticle number
[in]dtptime step
[in]d_plusreduced parameter for the (isotropic) fluctuation tensor
[in]orientationspheroid orientation (vector)
[in]Lambdaspheroid shape parameter
[in]brownnormal random number (9 values by particles)

◆ _mean_rotation_phase_spheroid()

static void _mean_rotation_phase_spheroid ( const cs_real_t  dtp,
cs_real_t  orientation[3],
const cs_real_t  gradvf_ant[3][3] 
)
static

Treatment of spheroid rotation increment by antisymetric mean velocity gradient.

Principle: exact matrix rotation (Rodrigues' formula)

TODO: use directly the antisymetric mean velocity gradient matrix Omega

Parameters
[in]dtptime step
[in]orientationspheroid orientation (vector)
[in]gradvf_antantisymetric part of the fluid velocity gradient (tensor)

◆ _mean_stretching_phase_spheroid()

static void _mean_stretching_phase_spheroid ( const cs_real_t  dtp,
cs_real_t  orientation[3],
const cs_real_t  Lambda,
const cs_real_t  beta,
const cs_real_t  gradvf_sym[3][3] 
)
static

Treatment of spheroid stretching by symetric part of the mean velocity gradient.

Principle: exact exponential scheme

Parameters
[in]dtptime step
[in]orientationspheroid orientation (vector)
[in]Lambdaspheroid shape parameter
[in]betacoefficient to be added to diagonal elements (if needed)
[in]gradvf_symsymetric part of the fluid velocity gradient (tensor)

◆ cs_lagr_orientation_dyn_jeffery()

void cs_lagr_orientation_dyn_jeffery ( cs_real_t  dt_p,
const cs_real_t  gradvf[][3][3] 
)

Integration of the Jeffey equations in DNS mode.

Parameters
[in]dt_plagrangian time step
[in]gradvffluid velocity gradient

◆ cs_lagr_orientation_dyn_spheroids()

void cs_lagr_orientation_dyn_spheroids ( int  iprev,
const cs_real_t  dt_p,
const cs_real_t  gradvf[][3][3] 
)

Integration of the equations of motion for particle orientation:

Details in publication by M. Bossy and L. Campana (INRIA)

Parameters
[in]iprevtime step indicator for fields 0: use fields at current time step 1: use fields at previous time step
[in]dt_plagrangian time step
[in]gradvffluid velocity gradient