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)
420 assert(particle_set->
p_am->
count[0][attr] > 0);
422 return (
unsigned char *)particle_set->
p_buffer
440inline static const void *
445 assert(particle_set->
p_am->
count[0][attr] > 0);
472 assert(particle_set->
p_am->
count[time_id][attr] > 0);
476 + particle_set->
p_am->
displ[time_id][attr];
493inline static const void *
499 assert(particle_set->
p_am->
count[time_id][attr] > 0);
503 + particle_set->
p_am->
displ[time_id][attr];
528 return (flag & mask);
578 flag = (flag | mask) - mask;
602 assert(particle_set->
p_am->
count[0][attr] > 0);
629 assert(particle_set->
p_am->
count[time_id][attr] > 0);
633 + particle_set->
p_am->
displ[time_id][attr]));
653 assert(particle_set->
p_am->
count[0][attr] > 0);
657 + particle_set->
p_am->
displ[0][attr])) = value;
680 assert(particle_set->
p_am->
count[time_id][attr] > 0);
684 + particle_set->
p_am->
displ[time_id][attr])) = value;
704 assert(particle_set->
p_am->
count[0][attr] > 0);
731 assert(particle_set->
p_am->
count[time_id][attr] > 0);
735 + particle_set->
p_am->
displ[time_id][attr]));
755 assert(particle_set->
p_am->
count[0][attr] > 0);
759 + particle_set->
p_am->
displ[0][attr])) = value;
782 assert(particle_set->
p_am->
count[time_id][attr] > 0);
786 + particle_set->
p_am->
displ[time_id][attr])) = value;
806 assert(particle_set->
p_am->
count[0][attr] > 0);
833 assert(particle_set->
p_am->
count[time_id][attr] > 0);
837 + particle_set->
p_am->
displ[time_id][attr]));
857 assert(particle_set->
p_am->
count[0][attr] > 0);
861 + particle_set->
p_am->
displ[0][attr])) = value;
884 assert(particle_set->
p_am->
count[time_id][attr] > 0);
888 + particle_set->
p_am->
displ[time_id][attr])) = value;
982 assert(attr_map->
count[0][attr] > 0);
984 return (
unsigned char *)particle + attr_map->
displ[0][attr];
999inline static const void *
1004 assert(attr_map->
count[0][attr] > 0);
1006 return (
const unsigned char *)particle + attr_map->
displ[0][attr];
1028 assert(attr_map->
count[time_id][attr] > 0);
1030 return (
unsigned char *)particle + attr_map->
displ[time_id][attr];
1046inline static const void *
1052 assert(attr_map->
count[time_id][attr] > 0);
1054 return (
const unsigned char *)particle
1055 + attr_map->
displ[time_id][attr];
1075 assert(attr_map->
count[0][attr] > 0);
1077 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1078 + attr_map->
displ[0][attr]));
1101 assert(attr_map->
count[time_id][attr] > 0);
1103 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1104 + attr_map->
displ[time_id][attr]));
1124 assert(attr_map->
count[0][attr] > 0);
1126 *((
cs_lnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1150 assert(attr_map->
count[time_id][attr] > 0);
1152 *((
cs_lnum_t *)( (
unsigned char *)particle
1153 + attr_map->
displ[time_id][attr])) = value;
1173 assert(attr_map->
count[0][attr] > 0);
1175 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1176 + attr_map->
displ[0][attr]));
1199 assert(attr_map->
count[time_id][attr] > 0);
1201 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1202 + attr_map->
displ[time_id][attr]));
1222 assert(attr_map->
count[0][attr] > 0);
1224 *((
cs_gnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1248 assert(attr_map->
count[time_id][attr] > 0);
1250 *((
cs_gnum_t *)( (
unsigned char *)particle
1251 + attr_map->
displ[time_id][attr])) = value;
1271 assert(attr_map->
count[0][attr] > 0);
1273 return *((
const cs_real_t *)( (
const unsigned char *)particle
1274 + attr_map->
displ[0][attr]));
1297 assert(attr_map->
count[time_id][attr] > 0);
1299 return *((
const cs_real_t *)( (
const unsigned char *)particle
1300 + attr_map->
displ[time_id][attr]));
1320 assert(attr_map->
count[0][attr] > 0);
1322 *((
cs_real_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1346 assert(attr_map->
count[time_id][attr] > 0);
1348 *((
cs_real_t *)( (
unsigned char *)particle
1349 + attr_map->
displ[time_id][attr])) = value;
1372 return (
cs_real_t *)( (
unsigned char *)particle
1396 return (
const cs_real_t *)( (
unsigned char *)particle
1499#if defined(__cplusplus)
1501template <
typename T>
1507 assert(particle_set->
p_am->
count[0][attr] > 0);
1509 return (T *)( particle_set->
p_buffer
1514template <
typename T>
1520 assert(particle_set->
p_am->
count[0][attr] > 0);
1522 return (
const T *)( particle_set->
p_buffer
1527template <
typename T>
1534 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1536 return (T *)( particle_set->
p_buffer
1538 + particle_set->
p_am->
displ[time_id][attr]);
1541template <
typename T>
1548 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1550 return (
const T *)( particle_set->
p_buffer
1552 + particle_set->
p_am->
displ[time_id][attr]);
1555template <
typename T>
1561 assert(particle_set->
p_am->
count[0][attr] > 0);
1563 return *(T *)( particle_set->
p_buffer
1568template <
typename T>
1575 assert(particle_set->
p_am->
count[0][attr] > 0);
1579 + particle_set->
p_am->
displ[0][attr]) = value;
1582template <
typename T>
1589 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1591 return *(T *)( particle_set->
p_buffer
1593 + particle_set->
p_am->
displ[time_id][attr]);
1596template <
typename T>
1604 assert(particle_set->
p_am->
count[time_id][attr] > 0);
1608 + particle_set->
p_am->
displ[time_id][attr]) = value;
1611template <
typename T>
1617 assert(attr_map->
count[0][attr] > 0);
1619 return (T *)((
unsigned char *)particle + attr_map->
displ[0][attr]);
1622template <
typename T>
1628 assert(attr_map->
count[0][attr] > 0);
1630 return (
const T *)( (
const unsigned char *)particle
1631 + attr_map->
displ[0][attr]);
1634template <
typename T>
1641 assert(attr_map->
count[time_id][attr] > 0);
1643 return (T *)((
unsigned char *)particle + attr_map->
displ[time_id][attr]);
1646template <
typename T>
1653 assert(attr_map->
count[time_id][attr] > 0);
1655 return (
const T *)( (
const unsigned char *)particle
1656 + attr_map->
displ[time_id][attr]);
1659template <
typename T>
1665 assert(attr_map->
count[0][attr] > 0);
1667 return *((
const T *)( (
const unsigned char *)particle
1668 + attr_map->
displ[0][attr]));
1671template <
typename T>
1678 assert(attr_map->
count[0][attr] > 0);
1680 *((T *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1684template <
typename T>
1691 assert(attr_map->
count[time_id][attr] > 0);
1693 return *((
const T *)( (
const unsigned char *)particle
1694 + attr_map->
displ[time_id][attr]));
1697template <
typename T>
1705 assert(attr_map->
count[time_id][attr] > 0);
1707 *((T *)( (
unsigned char *)particle
1708 + attr_map->
displ[time_id][attr])) = value;
cs_datatype_t
Definition: cs_defs.h:315
#define BEGIN_C_DECLS
Definition: cs_defs.h:554
double cs_real_t
Floating-point value.
Definition: cs_defs.h:357
unsigned cs_gnum_t
global mesh entity number
Definition: cs_defs.h:342
#define END_C_DECLS
Definition: cs_defs.h:555
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:350
void cs_lagr_particle_attr_in_range(int attr)
Check if a particle attribute is in a valid range.
Definition: cs_lagr_particle.cpp:1174
unsigned long long cs_lagr_get_n_g_particles_max(void)
Get global maximum number of particles.
Definition: cs_lagr_particle.cpp:1260
cs_lagr_attribute_t
Definition: cs_lagr_particle.h:80
@ CS_LAGR_DEPO_TIME
Definition: cs_lagr_particle.h:145
@ CS_LAGR_QUATERNION
Definition: cs_lagr_particle.h:119
@ CS_LAGR_HEIGHT
Definition: cs_lagr_particle.h:143
@ CS_LAGR_FOULING_INDEX
Definition: cs_lagr_particle.h:131
@ CS_LAGR_COAL_DENSITY
Definition: cs_lagr_particle.h:164
@ CS_LAGR_MASS
Definition: cs_lagr_particle.h:93
@ CS_LAGR_PRED_VELOCITY
Definition: cs_lagr_particle.h:110
@ CS_LAGR_EMISSIVITY
Definition: cs_lagr_particle.h:168
@ CS_LAGR_AGGLO_CLASS_ID
Definition: cs_lagr_particle.h:175
@ CS_LAGR_NEIGHBOR_FACE_ID
Definition: cs_lagr_particle.h:129
@ CS_LAGR_PRED_VELOCITY_SEEN
Definition: cs_lagr_particle.h:111
@ CS_LAGR_CLUSTER_NB_PART
Definition: cs_lagr_particle.h:144
@ CS_LAGR_RADII
Definition: cs_lagr_particle.h:120
@ CS_LAGR_ORIENTATION
Definition: cs_lagr_particle.h:118
@ CS_LAGR_TR_TRUNCATE
Definition: cs_lagr_particle.h:101
@ CS_LAGR_USER
Definition: cs_lagr_particle.h:181
@ CS_LAGR_DISPLACEMENT_NORM
Definition: cs_lagr_particle.h:139
@ CS_LAGR_COAL_MASS
Definition: cs_lagr_particle.h:157
@ CS_LAGR_VELOCITY
Definition: cs_lagr_particle.h:97
@ CS_LAGR_BR_GAUSS
Definition: cs_lagr_particle.h:113
@ CS_LAGR_INTERF
Definition: cs_lagr_particle.h:128
@ CS_LAGR_MARKO_VALUE
Definition: cs_lagr_particle.h:130
@ CS_LAGR_COKE_MASS
Definition: cs_lagr_particle.h:158
@ 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_REMAINING_INTEG_TIME
Definition: cs_lagr_particle.h:178
@ CS_LAGR_TURB_STATE_1
Definition: cs_lagr_particle.h:108
@ CS_LAGR_TEMPERATURE
Definition: cs_lagr_particle.h:150
@ CS_LAGR_TR_REPOSITION
Definition: cs_lagr_particle.h:102
@ CS_LAGR_CP
Definition: cs_lagr_particle.h:152
@ CS_LAGR_RANDOM_VALUE
Definition: cs_lagr_particle.h:89
@ CS_LAGR_SHAPE_PARAM
Definition: cs_lagr_particle.h:123
@ CS_LAGR_RANK_ID
Definition: cs_lagr_particle.h:85
@ CS_LAGR_COAL_ID
Definition: cs_lagr_particle.h:163
@ CS_LAGR_INITIAL_DIAMETER
Definition: cs_lagr_particle.h:161
@ CS_LAGR_ADHESION_FORCE
Definition: cs_lagr_particle.h:137
@ CS_LAGR_STAT_WEIGHT
Definition: cs_lagr_particle.h:91
@ CS_LAGR_N_SMALL_ASPERITIES
Definition: cs_lagr_particle.h:136
@ CS_LAGR_N_ATTRIBUTES
Definition: cs_lagr_particle.h:185
@ CS_LAGR_ADHESION_TORQUE
Definition: cs_lagr_particle.h:138
@ CS_LAGR_BROWN_STATE_1
Definition: cs_lagr_particle.h:109
@ CS_LAGR_ANGULAR_VEL
Definition: cs_lagr_particle.h:121
@ CS_LAGR_VELOCITY_SEEN
Definition: cs_lagr_particle.h:98
@ CS_LAGR_STAT_CLASS
Definition: cs_lagr_particle.h:172
@ CS_LAGR_N_LARGE_ASPERITIES
Definition: cs_lagr_particle.h:135
@ 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:160
@ CS_LAGR_TEMPERATURE_SEEN
Definition: cs_lagr_particle.h:151
@ CS_LAGR_V_GAUSS
Definition: cs_lagr_particle.h:112
@ CS_LAGR_SHAPE
Definition: cs_lagr_particle.h:117
@ CS_LAGR_AGGLO_FRACTAL_DIM
Definition: cs_lagr_particle.h:176
@ CS_LAGR_YPLUS
Definition: cs_lagr_particle.h:127
@ CS_LAGR_WATER_MASS
Definition: cs_lagr_particle.h:156
@ CS_LAGR_CONSOL_HEIGHT
Definition: cs_lagr_particle.h:146
@ 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:122
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:1194
T * cs_lagr_particles_attr_get_ptr(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1503
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:542
T cs_lagr_particles_attr_n_get_val(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1584
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:978
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:852
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:569
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:1119
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:1320
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:519
void cs_lagr_particle_attr_initialize(void)
Define particle map based on defined options.
Definition: cs_lagr_particle.cpp:664
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:674
const T * cs_lagr_particle_attr_get_const_ptr(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1624
T * cs_lagr_particle_attr_get_ptr(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1613
T * cs_lagr_particles_attr_n_get_ptr(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1529
const T * cs_lagr_particles_attr_n_get_const_ptr(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1543
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:1292
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:1169
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:441
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:750
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:1000
cs_lagr_particle_set_t * cs_glob_lagr_particle_set
const T * cs_lagr_particle_attr_n_get_const_ptr(const void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1648
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:1389
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:624
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:828
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:416
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:1023
void cs_lagr_set_reallocation_factor(double f)
Set reallocation factor for particle sets.
Definition: cs_lagr_particle.cpp:1242
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:1267
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:1365
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:1047
T cs_lagr_particle_attr_get_val(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1661
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:1315
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:726
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:878
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:700
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:1191
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:1096
T cs_lagr_particles_attr_get_val(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1557
const T * cs_lagr_particles_attr_get_const_ptr(const cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1516
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:1340
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:467
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:776
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:648
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:905
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:927
T * cs_lagr_particle_attr_n_get_ptr(void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1636
void cs_lagr_set_n_user_variables(int n_user_variables)
Set number of user particle variables.
Definition: cs_lagr_particle.cpp:1348
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:953
void cs_lagr_particle_attr_n_set_val(void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr, T value)
Definition: cs_lagr_particle.h:1699
void cs_lagr_particle_finalize(void)
Destroy main particle set and map if they exist.
Definition: cs_lagr_particle.cpp:1018
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:494
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:1277
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:1037
int cs_lagr_particle_set_resize(cs_lnum_t n_min_particles)
Resize particle set buffers if needed.
Definition: cs_lagr_particle.cpp:1211
void cs_lagr_particle_set_create(void)
Definition: cs_lagr_particle.cpp:1001
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:1242
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:1109
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:1144
T cs_lagr_particle_attr_n_get_val(const void *particle, const cs_lagr_attribute_map_t *attr_map, int time_id, cs_lagr_attribute_t attr)
Definition: cs_lagr_particle.h:1686
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:1292
void cs_lagr_particle_attr_set_val(void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lagr_attribute_t attr, T value)
Definition: cs_lagr_particle.h:1673
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:1071
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:1072
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:1217
void cs_lagr_particles_attr_n_set_val(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, int time_id, cs_lagr_attribute_t attr, T value)
Definition: cs_lagr_particle.h:1598
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:988
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:802
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:598
void cs_lagr_particles_attr_set_val(cs_lagr_particle_set_t *particle_set, cs_lnum_t particle_id, cs_lagr_attribute_t attr, T value)
Definition: cs_lagr_particle.h:1570
Definition: cs_lagr_particle.h:192
ptrdiff_t(* displ)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_particle.h:212
int(* count)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_particle.h:209
size_t lb
Definition: cs_lagr_particle.h:196
ptrdiff_t * source_term_displ
Definition: cs_lagr_particle.h:216
int n_time_vals
Definition: cs_lagr_particle.h:200
size_t extents
Definition: cs_lagr_particle.h:194
Definition: cs_lagr_particle.h:226
cs_real_t weight_merged
Definition: cs_lagr_particle.h:240
cs_lnum_t n_part_merged
Definition: cs_lagr_particle.h:231
cs_real_t weight
Definition: cs_lagr_particle.h:237
cs_lnum_t n_particles
Definition: cs_lagr_particle.h:228
cs_lnum_t n_part_new
Definition: cs_lagr_particle.h:229
cs_real_t weight_out
Definition: cs_lagr_particle.h:239
cs_real_t weight_failed
Definition: cs_lagr_particle.h:244
cs_real_t weight_dep
Definition: cs_lagr_particle.h:241
unsigned char * p_buffer
Definition: cs_lagr_particle.h:250
cs_lnum_t n_failed_part
Definition: cs_lagr_particle.h:235
cs_real_t weight_fou
Definition: cs_lagr_particle.h:242
cs_lnum_t n_part_resusp
Definition: cs_lagr_particle.h:234
cs_real_t weight_new
Definition: cs_lagr_particle.h:238
cs_lnum_t n_part_out
Definition: cs_lagr_particle.h:230
const cs_lagr_attribute_map_t * p_am
Definition: cs_lagr_particle.h:248
cs_lnum_t n_part_fou
Definition: cs_lagr_particle.h:233
cs_lnum_t n_part_dep
Definition: cs_lagr_particle.h:232
cs_lnum_t n_particles_max
Definition: cs_lagr_particle.h:246
cs_real_t weight_resusp
Definition: cs_lagr_particle.h:243