#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"
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... | |
|
static |
Treatment of spheroid rotation by Brownian on the sphere using quaternions.
Principle: Use of quaternions to get the rotation angle
[in] | ip | particle number |
[in] | dtp | time step |
[in] | d_minus | reduced parameter for the (isotropic) fluctuation tensor |
[in] | orientation | spheroid orientation (vector) |
[in] | brown | normal random number (9 values by particles) |
|
static |
Treatment of spheroid stretching by Brownian effect.
Principle: Euler scheme
[in] | ip | particle number |
[in] | dtp | time step |
[in] | d_plus | reduced parameter for the (isotropic) fluctuation tensor |
[in] | orientation | spheroid orientation (vector) |
[in] | Lambda | spheroid shape parameter |
[in] | brown | normal random number (9 values by particles) |
|
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
[in] | dtp | time step |
[in] | orientation | spheroid orientation (vector) |
[in] | gradvf_ant | antisymetric part of the fluid velocity gradient (tensor) |
|
static |
Treatment of spheroid stretching by symetric part of the mean velocity gradient.
Principle: exact exponential scheme
[in] | dtp | time step |
[in] | orientation | spheroid orientation (vector) |
[in] | Lambda | spheroid shape parameter |
[in] | beta | coefficient to be added to diagonal elements (if needed) |
[in] | gradvf_sym | symetric part of the fluid velocity gradient (tensor) |
Integration of the Jeffey equations in DNS mode.
[in] | dt_p | lagrangian time step |
[in] | gradvf | fluid velocity gradient |
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)
[in] | iprev | time step indicator for fields 0: use fields at current time step 1: use fields at previous time step |
[in] | dt_p | lagrangian time step |
[in] | gradvf | fluid velocity gradient |