1#ifndef __CS_LAGR_PARTICLE_H__
2#define __CS_LAGR_PARTICLE_H__
52#define CS_LAGR_PART_TO_DELETE (1 << 0)
55#define CS_LAGR_PART_FIXED (1 << 1)
58#define CS_LAGR_PART_DEPOSITED (1 << 2)
61#define CS_LAGR_PART_ROLLING (1 << 3)
64#define CS_LAGR_PART_IMPOSED_MOTION (1 << 4)
69#define CS_LAGR_PART_DEPOSITION_FLAGS \
70 ( CS_LAGR_PART_TO_DELETE | CS_LAGR_PART_FIXED | CS_LAGR_PART_DEPOSITED \
71 | CS_LAGR_PART_ROLLING | CS_LAGR_PART_IMPOSED_MOTION)
418 assert(particle_set->
p_am->
count[0][attr] > 0);
420 return (
unsigned char *)particle_set->
p_buffer
438inline static const void *
443 assert(particle_set->
p_am->
count[0][attr] > 0);
470 assert(particle_set->
p_am->
count[time_id][attr] > 0);
474 + particle_set->
p_am->
displ[time_id][attr];
491inline static const void *
497 assert(particle_set->
p_am->
count[time_id][attr] > 0);
501 + particle_set->
p_am->
displ[time_id][attr];
526 return (flag & mask);
576 flag = (flag | mask) - mask;
600 assert(particle_set->
p_am->
count[0][attr] > 0);
627 assert(particle_set->
p_am->
count[time_id][attr] > 0);
631 + particle_set->
p_am->
displ[time_id][attr]));
651 assert(particle_set->
p_am->
count[0][attr] > 0);
655 + particle_set->
p_am->
displ[0][attr])) = value;
678 assert(particle_set->
p_am->
count[time_id][attr] > 0);
682 + particle_set->
p_am->
displ[time_id][attr])) = value;
702 assert(particle_set->
p_am->
count[0][attr] > 0);
729 assert(particle_set->
p_am->
count[time_id][attr] > 0);
733 + particle_set->
p_am->
displ[time_id][attr]));
753 assert(particle_set->
p_am->
count[0][attr] > 0);
757 + particle_set->
p_am->
displ[0][attr])) = value;
780 assert(particle_set->
p_am->
count[time_id][attr] > 0);
784 + particle_set->
p_am->
displ[time_id][attr])) = value;
804 assert(particle_set->
p_am->
count[0][attr] > 0);
831 assert(particle_set->
p_am->
count[time_id][attr] > 0);
835 + particle_set->
p_am->
displ[time_id][attr]));
855 assert(particle_set->
p_am->
count[0][attr] > 0);
859 + particle_set->
p_am->
displ[0][attr])) = value;
882 assert(particle_set->
p_am->
count[time_id][attr] > 0);
886 + particle_set->
p_am->
displ[time_id][attr])) = value;
980 assert(attr_map->
count[0][attr] > 0);
982 return (
unsigned char *)particle + attr_map->
displ[0][attr];
997inline static const void *
1002 assert(attr_map->
count[0][attr] > 0);
1004 return (
const unsigned char *)particle + attr_map->
displ[0][attr];
1026 assert(attr_map->
count[time_id][attr] > 0);
1028 return (
unsigned char *)particle + attr_map->
displ[time_id][attr];
1044inline static const void *
1050 assert(attr_map->
count[time_id][attr] > 0);
1052 return (
const unsigned char *)particle
1053 + attr_map->
displ[time_id][attr];
1073 assert(attr_map->
count[0][attr] > 0);
1075 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1076 + attr_map->
displ[0][attr]));
1099 assert(attr_map->
count[time_id][attr] > 0);
1101 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1102 + attr_map->
displ[time_id][attr]));
1122 assert(attr_map->
count[0][attr] > 0);
1124 *((
cs_lnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1148 assert(attr_map->
count[time_id][attr] > 0);
1150 *((
cs_lnum_t *)( (
unsigned char *)particle
1151 + attr_map->
displ[time_id][attr])) = value;
1171 assert(attr_map->
count[0][attr] > 0);
1173 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1174 + attr_map->
displ[0][attr]));
1197 assert(attr_map->
count[time_id][attr] > 0);
1199 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1200 + attr_map->
displ[time_id][attr]));
1220 assert(attr_map->
count[0][attr] > 0);
1222 *((
cs_gnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1246 assert(attr_map->
count[time_id][attr] > 0);
1248 *((
cs_gnum_t *)( (
unsigned char *)particle
1249 + attr_map->
displ[time_id][attr])) = value;
1269 assert(attr_map->
count[0][attr] > 0);
1271 return *((
const cs_real_t *)( (
const unsigned char *)particle
1272 + attr_map->
displ[0][attr]));
1295 assert(attr_map->
count[time_id][attr] > 0);
1297 return *((
const cs_real_t *)( (
const unsigned char *)particle
1298 + attr_map->
displ[time_id][attr]));
1318 assert(attr_map->
count[0][attr] > 0);
1320 *((
cs_real_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1344 assert(attr_map->
count[time_id][attr] > 0);
1346 *((
cs_real_t *)( (
unsigned char *)particle
1347 + attr_map->
displ[time_id][attr])) = value;
1370 return (
cs_real_t *)( (
unsigned char *)particle
1394 return (
const cs_real_t *)( (
unsigned char *)particle
1497#if defined(__cplusplus)
1499template <
typename T>
1505 assert(particle_set->
p_am->
count[0][attr] > 0);
1507 return (T *)( particle_set->
p_buffer
1512template <
typename T>
1518 assert(particle_set->
p_am->
count[0][attr] > 0);
1520 return (
const T *)( particle_set->
p_buffer
1525template <
typename T>
1532 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1534 return (T *)( particle_set->
p_buffer
1536 + particle_set->
p_am->
displ[time_id][attr]);
1539template <
typename T>
1546 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1548 return (
const T *)( particle_set->
p_buffer
1550 + particle_set->
p_am->
displ[time_id][attr]);
1553template <
typename T>
1559 assert(particle_set->
p_am->
count[0][attr] > 0);
1561 return *(T *)( particle_set->
p_buffer
1566template <
typename T>
1573 assert(particle_set->
p_am->
count[0][attr] > 0);
1577 + particle_set->
p_am->
displ[0][attr]) = value;
1580template <
typename T>
1587 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1589 return *(T *)( particle_set->
p_buffer
1591 + particle_set->
p_am->
displ[time_id][attr]);
1594template <
typename T>
1602 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1606 + particle_set->
p_am->
displ[time_id][attr]) = value;
1609template <
typename T>
1611cs_lagr_particle_attr_get_ptr(
void *particle,
1615 assert(attr_map->
count[0][attr] > 0);
1617 return (T *)((
unsigned char *)particle + attr_map->
displ[0][attr]);
1620template <
typename T>
1622cs_lagr_particle_attr_get_const_ptr(
const void *particle,
1626 assert(attr_map->
count[0][attr] > 0);
1628 return (
const T *)( (
const unsigned char *)particle
1629 + attr_map->
displ[0][attr]);
1632template <
typename T>
1634cs_lagr_particle_attr_n_get_ptr(
void *particle,
1639 assert(attr_map->
count[time_id][attr] > 0);
1641 return (T *)((
unsigned char *)particle + attr_map->
displ[time_id][attr]);
1644template <
typename T>
1646cs_lagr_particle_attr_n_get_const_ptr(
const void *particle,
1651 assert(attr_map->
count[time_id][attr] > 0);
1653 return (
const T *)( (
const unsigned char *)particle
1654 + attr_map->
displ[time_id][attr]);
1657template <
typename T>
1659cs_lagr_particle_attr_get_val(
const void *particle,
1663 assert(attr_map->
count[0][attr] > 0);
1665 return *((
const T *)( (
const unsigned char *)particle
1666 + attr_map->
displ[0][attr]));
1669template <
typename T>
1671cs_lagr_particle_attr_set_val(
void *particle,
1676 assert(attr_map->
count[0][attr] > 0);
1678 *((T *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1682template <
typename T>
1684cs_lagr_particle_attr_n_get_val(
const void *particle,
1689 assert(attr_map->
count[time_id][attr] > 0);
1691 return *((
const T *)( (
const unsigned char *)particle
1692 + attr_map->
displ[time_id][attr]));
1695template <
typename T>
1697cs_lagr_particle_attr_n_set_val(
void *particle,
1703 assert(attr_map->
count[time_id][attr] > 0);
1705 *((T *)( (
unsigned char *)particle
1706 + attr_map->
displ[time_id][attr])) = value;
cs_datatype_t
Definition cs_defs.h:300
#define BEGIN_C_DECLS
Definition cs_defs.h:542
double cs_real_t
Floating-point value.
Definition cs_defs.h:342
unsigned cs_gnum_t
global mesh entity number
Definition cs_defs.h:327
#define END_C_DECLS
Definition cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:335
void cs_lagr_particle_attr_in_range(int attr)
Check if a particle attribute is in a valid range.
Definition cs_lagr_particle.cpp:1164
unsigned long long cs_lagr_get_n_g_particles_max(void)
Get global maximum number of particles.
Definition cs_lagr_particle.cpp:1250
cs_lagr_attribute_t
Definition cs_lagr_particle.h:80
@ CS_LAGR_DEPO_TIME
Definition cs_lagr_particle.h:144
@ CS_LAGR_QUATERNION
Definition cs_lagr_particle.h:118
@ CS_LAGR_FLUID_TEMPERATURE
Definition cs_lagr_particle.h:150
@ CS_LAGR_HEIGHT
Definition cs_lagr_particle.h:142
@ CS_LAGR_FOULING_INDEX
Definition cs_lagr_particle.h:130
@ CS_LAGR_COAL_DENSITY
Definition cs_lagr_particle.h:163
@ CS_LAGR_MASS
Definition cs_lagr_particle.h:93
@ CS_LAGR_PRED_VELOCITY
Definition cs_lagr_particle.h:109
@ CS_LAGR_EMISSIVITY
Definition cs_lagr_particle.h:167
@ CS_LAGR_AGGLO_CLASS_ID
Definition cs_lagr_particle.h:174
@ CS_LAGR_NEIGHBOR_FACE_ID
Definition cs_lagr_particle.h:128
@ CS_LAGR_PRED_VELOCITY_SEEN
Definition cs_lagr_particle.h:110
@ CS_LAGR_CLUSTER_NB_PART
Definition cs_lagr_particle.h:143
@ CS_LAGR_RADII
Definition cs_lagr_particle.h:119
@ CS_LAGR_ORIENTATION
Definition cs_lagr_particle.h:117
@ CS_LAGR_TR_TRUNCATE
Definition cs_lagr_particle.h:101
@ CS_LAGR_USER
Definition cs_lagr_particle.h:179
@ CS_LAGR_DISPLACEMENT_NORM
Definition cs_lagr_particle.h:138
@ CS_LAGR_COAL_MASS
Definition cs_lagr_particle.h:156
@ CS_LAGR_VELOCITY
Definition cs_lagr_particle.h:97
@ CS_LAGR_BR_GAUSS
Definition cs_lagr_particle.h:112
@ CS_LAGR_INTERF
Definition cs_lagr_particle.h:127
@ CS_LAGR_MARKO_VALUE
Definition cs_lagr_particle.h:129
@ CS_LAGR_COKE_MASS
Definition cs_lagr_particle.h:157
@ CS_LAGR_CELL_ID
Definition cs_lagr_particle.h:84
@ CS_LAGR_REBOUND_ID
Definition cs_lagr_particle.h:87
@ CS_LAGR_TAUP_AUX
Definition cs_lagr_particle.h:95
@ CS_LAGR_RESIDENCE_TIME
Definition cs_lagr_particle.h:92
@ CS_LAGR_TURB_STATE_1
Definition cs_lagr_particle.h:108
@ CS_LAGR_TEMPERATURE
Definition cs_lagr_particle.h:149
@ CS_LAGR_TR_REPOSITION
Definition cs_lagr_particle.h:102
@ CS_LAGR_CP
Definition cs_lagr_particle.h:151
@ CS_LAGR_RANDOM_VALUE
Definition cs_lagr_particle.h:89
@ CS_LAGR_SHAPE_PARAM
Definition cs_lagr_particle.h:122
@ CS_LAGR_RANK_ID
Definition cs_lagr_particle.h:85
@ CS_LAGR_COAL_ID
Definition cs_lagr_particle.h:162
@ CS_LAGR_INITIAL_DIAMETER
Definition cs_lagr_particle.h:160
@ CS_LAGR_ADHESION_FORCE
Definition cs_lagr_particle.h:136
@ CS_LAGR_STAT_WEIGHT
Definition cs_lagr_particle.h:91
@ CS_LAGR_N_SMALL_ASPERITIES
Definition cs_lagr_particle.h:135
@ CS_LAGR_N_ATTRIBUTES
Definition cs_lagr_particle.h:183
@ CS_LAGR_ADHESION_TORQUE
Definition cs_lagr_particle.h:137
@ CS_LAGR_ANGULAR_VEL
Definition cs_lagr_particle.h:120
@ CS_LAGR_VELOCITY_SEEN
Definition cs_lagr_particle.h:98
@ CS_LAGR_STAT_CLASS
Definition cs_lagr_particle.h:171
@ CS_LAGR_N_LARGE_ASPERITIES
Definition cs_lagr_particle.h:134
@ CS_LAGR_VELOCITY_SEEN_VELOCITY_COV
Definition cs_lagr_particle.h:99
@ CS_LAGR_P_FLAG
Definition cs_lagr_particle.h:82
@ CS_LAGR_SHRINKING_DIAMETER
Definition cs_lagr_particle.h:159
@ CS_LAGR_V_GAUSS
Definition cs_lagr_particle.h:111
@ CS_LAGR_SHAPE
Definition cs_lagr_particle.h:116
@ CS_LAGR_AGGLO_FRACTAL_DIM
Definition cs_lagr_particle.h:175
@ CS_LAGR_YPLUS
Definition cs_lagr_particle.h:126
@ CS_LAGR_WATER_MASS
Definition cs_lagr_particle.h:155
@ CS_LAGR_CONSOL_HEIGHT
Definition cs_lagr_particle.h:145
@ CS_LAGR_DIAMETER
Definition cs_lagr_particle.h:94
@ CS_LAGR_COORDS
Definition cs_lagr_particle.h:96
@ CS_LAGR_EULER
Definition cs_lagr_particle.h:121
static cs_gnum_t cs_lagr_particle_get_gnum_n(const void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_gnum_t of a given particle at a given time.
Definition cs_lagr_particle.h:1192
static void cs_lagr_particles_set_flag(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int mask)
Set flag value with a selected mask for a given particle in a set.
Definition cs_lagr_particle.h:540
static void * cs_lagr_particle_attr(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get pointer to current attribute data of a particle.
Definition cs_lagr_particle.h:976
static void cs_lagr_particles_set_real(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr, cs_real_t value)
Set attribute value of type cs_real_t of a given particle in a set.
Definition cs_lagr_particle.h:850
static void cs_lagr_particles_unset_flag(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int mask)
Unset flag value with a selected mask for a given particle in a set.
Definition cs_lagr_particle.h:567
static void cs_lagr_particle_set_lnum(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr, cs_lnum_t value)
Set attribute value of type cs_lnum_t of a given particle.
Definition cs_lagr_particle.h:1117
void cs_lagr_particle_set_dump(const cs_lagr_particle_set_t *particles)
Dump a cs_lagr_particle_set_t structure.
Definition cs_lagr_particle.cpp:1310
static int cs_lagr_particles_get_flag(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int mask)
Get flag value with a selected mask for a given particle in a set.
Definition cs_lagr_particle.h:517
void cs_lagr_particle_attr_initialize(void)
Define particle map based on defined options.
Definition cs_lagr_particle.cpp:660
static void cs_lagr_particles_set_lnum_n(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr, cs_lnum_t value)
Set attribute value of type cs_lnum_t of a given particle in a set at a given time.
Definition cs_lagr_particle.h:672
void cs_lagr_particles_current_to_previous(cs_lagr_particle_set_t *particles, cs_lnum_t particle_id)
Copy current attributes to previous attributes.
Definition cs_lagr_particle.cpp:1282
static cs_gnum_t cs_lagr_particle_get_gnum(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get attribute value of type cs_gnum_t of a given particle in a set.
Definition cs_lagr_particle.h:1167
static const void * cs_lagr_particles_attr_const(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Get const pointer to current attribute data of a given particle in a set.
Definition cs_lagr_particle.h:439
static void cs_lagr_particles_set_gnum(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr, cs_gnum_t value)
Set attribute value of type cs_gnum_t of a given particle in a set.
Definition cs_lagr_particle.h:748
static const void * cs_lagr_particle_attr_const(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get const pointer to current attribute data of a particle.
Definition cs_lagr_particle.h:998
cs_lagr_particle_set_t * cs_glob_lagr_particle_set
static const cs_real_t * cs_lagr_particle_source_term_const(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get pointer to 2nd order scheme attribute source terms of a particle.
Definition cs_lagr_particle.h:1387
static cs_lnum_t cs_lagr_particles_get_lnum_n(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_lnum_t of a given particle in a set at a given time.
Definition cs_lagr_particle.h:622
static cs_real_t cs_lagr_particles_get_real_n(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_real_t of a given particle in a set at a given time.
Definition cs_lagr_particle.h:826
static void * cs_lagr_particles_attr(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Get pointer to a current attribute of a given particle in a set.
Definition cs_lagr_particle.h:414
static void * cs_lagr_particle_attr_n(void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Get pointer to attribute data of a particle at a given time.
Definition cs_lagr_particle.h:1021
void cs_lagr_set_reallocation_factor(double f)
Set reallocation factor for particle sets.
Definition cs_lagr_particle.cpp:1232
static cs_real_t cs_lagr_particle_get_real(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get attribute value of type cs_real_t of a given particle in a set.
Definition cs_lagr_particle.h:1265
static cs_real_t * cs_lagr_particle_source_term(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get pointer to 2nd order scheme attribute source terms of a particle.
Definition cs_lagr_particle.h:1363
static const void * cs_lagr_particle_attr_n_const(const void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Get const pointer to attribute data of a particle at a given time.
Definition cs_lagr_particle.h:1045
static void cs_lagr_particle_set_real(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr, cs_real_t value)
Set attribute value of type cs_real_t of a given particle.
Definition cs_lagr_particle.h:1313
static cs_gnum_t cs_lagr_particles_get_gnum_n(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_gnum_t of a given particle in a set at a given time.
Definition cs_lagr_particle.h:724
static void cs_lagr_particles_set_real_n(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr, cs_real_t value)
Set attribute value of type cs_real_t of a given particle in a set at a given time.
Definition cs_lagr_particle.h:876
static cs_gnum_t cs_lagr_particles_get_gnum(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_gnum_t of a given particle in a set.
Definition cs_lagr_particle.h:698
cs_lagr_particle_set_t * cs_lagr_get_particle_set(void)
Return pointer to the main cs_lagr_particle_set_t structure.
Definition cs_lagr_particle.cpp:1181
static cs_lnum_t cs_lagr_particle_get_lnum_n(const void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_lnum_t of a given particle at a given time.
Definition cs_lagr_particle.h:1094
static void cs_lagr_particle_set_real_n(void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr, cs_real_t value)
Set attribute value of type cs_real_t of a given particle at a given time.
Definition cs_lagr_particle.h:1338
static void * cs_lagr_particles_attr_n(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Get pointer to attribute data of a given particle in a set at a given time.
Definition cs_lagr_particle.h:465
static void cs_lagr_particles_set_gnum_n(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr, cs_gnum_t value)
Set attribute value of type cs_gnum_t of a given particle in a set at a given time.
Definition cs_lagr_particle.h:774
static void cs_lagr_particles_set_lnum(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr, cs_lnum_t value)
Set attribute value of type cs_lnum_t of a given particle in a set.
Definition cs_lagr_particle.h:646
static void cs_lagr_particles_attributes_fill_zero(cs_lagr_particle_set_t *p_set, cs_lnum_t p_id)
Set attribute value of type cs_real_t of a given particle in a set at a given time.
Definition cs_lagr_particle.h:903
static cs_real_t * cs_lagr_particles_source_terms(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Get pointer to 2nd order scheme source terms for an attribute of a given particle in a set.
Definition cs_lagr_particle.h:925
void cs_lagr_set_n_user_variables(int n_user_variables)
Set number of user particle variables.
Definition cs_lagr_particle.cpp:1338
static const cs_real_t * cs_lagr_particles_source_terms_const(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Get const pointer to 2nd order scheme source terms an attribute of a given particle in a set.
Definition cs_lagr_particle.h:951
void cs_lagr_particle_finalize(void)
Destroy main particle set and map if they exist.
Definition cs_lagr_particle.cpp:1008
static const void * cs_lagr_particles_attr_n_const(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Get const pointer to attribute data of a given particle in a set at a given time.
Definition cs_lagr_particle.h:492
void cs_lagr_set_n_g_particles_max(unsigned long long n_g_particles_max)
Set global maximum number of particles.
Definition cs_lagr_particle.cpp:1267
void cs_lagr_part_copy(cs_lnum_t dest, cs_lnum_t src)
Copy attributes from one particle to another.
Definition cs_lagr_particle.cpp:1027
int cs_lagr_particle_set_resize(cs_lnum_t n_min_particles)
Resize particle set buffers if needed.
Definition cs_lagr_particle.cpp:1201
void cs_lagr_particle_set_create(void)
Definition cs_lagr_particle.cpp:991
static void cs_lagr_particle_set_gnum_n(void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr, cs_gnum_t value)
Set attribute value of type cs_gnum_t of a given particle at a given time.
Definition cs_lagr_particle.h:1240
int cs_lagr_check_attr_query(const cs_lagr_particle_set_t *particles, cs_lagr_attribute_t attr, cs_datatype_t datatype, int stride, int component_id)
Check that query for a given particle attribute is valid.
Definition cs_lagr_particle.cpp:1099
static void cs_lagr_particle_set_lnum_n(void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr, cs_lnum_t value)
Set attribute value of type cs_lnum_t of a given particle at a given time.
Definition cs_lagr_particle.h:1142
static cs_real_t cs_lagr_particle_get_real_n(const void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_real_t of a given particle at a given time.
Definition cs_lagr_particle.h:1290
static cs_lnum_t cs_lagr_particle_get_lnum(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Get attribute value of type cs_lnum_t of a given particle in a set.
Definition cs_lagr_particle.h:1069
void cs_lagr_get_attr_info(const cs_lagr_particle_set_t *particles, int time_id, cs_lagr_attribute_t attr, size_t *extents, size_t *size, ptrdiff_t *displ, cs_datatype_t *datatype, int *count)
Get data extents for a given particle attribute.
Definition cs_lagr_particle.cpp:1062
static void cs_lagr_particle_set_gnum(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr, cs_gnum_t value)
Set attribute value of type cs_gnum_t of a given particle.
Definition cs_lagr_particle.h:1215
const char * cs_lagr_attribute_name[]
const cs_lagr_attribute_map_t * cs_lagr_particle_get_attr_map(void)
Return const pointer to the main particle attribute map structure.
Definition cs_lagr_particle.cpp:978
static cs_real_t cs_lagr_particles_get_real(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_real_t of a given particle in a set.
Definition cs_lagr_particle.h:800
static cs_lnum_t cs_lagr_particles_get_lnum(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Get attribute value of type cs_lnum_t of a given particle in a set.
Definition cs_lagr_particle.h:596
Definition cs_lagr_particle.h:190
cs_datatype_t datatype[CS_LAGR_N_ATTRIBUTES]
Definition cs_lagr_particle.h:205
ptrdiff_t(* displ)[CS_LAGR_N_ATTRIBUTES]
Definition cs_lagr_particle.h:210
size_t size[CS_LAGR_N_ATTRIBUTES]
Definition cs_lagr_particle.h:201
int(* count)[CS_LAGR_N_ATTRIBUTES]
Definition cs_lagr_particle.h:207
size_t lb
Definition cs_lagr_particle.h:194
ptrdiff_t * source_term_displ
Definition cs_lagr_particle.h:214
int n_time_vals
Definition cs_lagr_particle.h:198
size_t extents
Definition cs_lagr_particle.h:192
Definition cs_lagr_particle.h:224
cs_real_t weight_merged
Definition cs_lagr_particle.h:238
cs_lnum_t n_part_merged
Definition cs_lagr_particle.h:229
cs_real_t weight
Definition cs_lagr_particle.h:235
cs_lnum_t n_particles
Definition cs_lagr_particle.h:226
cs_lnum_t n_part_new
Definition cs_lagr_particle.h:227
cs_real_t weight_out
Definition cs_lagr_particle.h:237
cs_real_t weight_failed
Definition cs_lagr_particle.h:242
cs_real_t weight_dep
Definition cs_lagr_particle.h:239
unsigned char * p_buffer
Definition cs_lagr_particle.h:248
cs_lnum_t n_failed_part
Definition cs_lagr_particle.h:233
cs_real_t weight_fou
Definition cs_lagr_particle.h:240
cs_lnum_t n_part_resusp
Definition cs_lagr_particle.h:232
cs_real_t weight_new
Definition cs_lagr_particle.h:236
cs_lnum_t n_part_out
Definition cs_lagr_particle.h:228
const cs_lagr_attribute_map_t * p_am
Definition cs_lagr_particle.h:246
cs_lnum_t n_part_fou
Definition cs_lagr_particle.h:231
cs_lnum_t n_part_dep
Definition cs_lagr_particle.h:230
cs_lnum_t n_particles_max
Definition cs_lagr_particle.h:244
cs_real_t weight_resusp
Definition cs_lagr_particle.h:241