1 #ifndef __CS_LAGR_TRACKING_H__
2 #define __CS_LAGR_TRACKING_H__
427 assert(particle_set->
p_am->
count[0][attr] > 0);
429 return (
unsigned char *)particle_set->
p_buffer
447 inline static const void *
452 assert(particle_set->
p_am->
count[0][attr] > 0);
479 assert(particle_set->
p_am->
count[time_id][attr] > 0);
483 + particle_set->
p_am->
displ[time_id][attr];
500 inline static const void *
506 assert(particle_set->
p_am->
count[time_id][attr] > 0);
510 + particle_set->
p_am->
displ[time_id][attr];
530 assert(particle_set->
p_am->
count[0][attr] > 0);
557 assert(particle_set->
p_am->
count[time_id][attr] > 0);
561 + particle_set->
p_am->
displ[time_id][attr]));
581 assert(particle_set->
p_am->
count[0][attr] > 0);
585 + particle_set->
p_am->
displ[0][attr])) = value;
608 assert(particle_set->
p_am->
count[time_id][attr] > 0);
612 + particle_set->
p_am->
displ[time_id][attr])) = value;
632 assert(particle_set->
p_am->
count[0][attr] > 0);
659 assert(particle_set->
p_am->
count[time_id][attr] > 0);
663 + particle_set->
p_am->
displ[time_id][attr]));
683 assert(particle_set->
p_am->
count[0][attr] > 0);
687 + particle_set->
p_am->
displ[0][attr])) = value;
710 assert(particle_set->
p_am->
count[time_id][attr] > 0);
714 + particle_set->
p_am->
displ[time_id][attr])) = value;
734 assert(particle_set->
p_am->
count[0][attr] > 0);
761 assert(particle_set->
p_am->
count[time_id][attr] > 0);
765 + particle_set->
p_am->
displ[time_id][attr]));
785 assert(particle_set->
p_am->
count[0][attr] > 0);
789 + particle_set->
p_am->
displ[0][attr])) = value;
812 assert(particle_set->
p_am->
count[time_id][attr] > 0);
816 + particle_set->
p_am->
displ[time_id][attr])) = value;
888 assert(attr_map->
count[0][attr] > 0);
890 return (
unsigned char *)particle + attr_map->
displ[0][attr];
905 inline static const void *
910 assert(attr_map->
count[0][attr] > 0);
912 return (
const unsigned char *)particle + attr_map->
displ[0][attr];
934 assert(attr_map->
count[time_id][attr] > 0);
936 return (
unsigned char *)particle + attr_map->
displ[time_id][attr];
952 inline static const void *
958 assert(attr_map->
count[time_id][attr] > 0);
960 return (
const unsigned char *)particle
961 + attr_map->
displ[time_id][attr];
981 assert(attr_map->
count[0][attr] > 0);
983 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
984 + attr_map->
displ[0][attr]));
1007 assert(attr_map->
count[time_id][attr] > 0);
1009 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1010 + attr_map->
displ[time_id][attr]));
1030 assert(attr_map->
count[0][attr] > 0);
1032 *((
cs_lnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1056 assert(attr_map->
count[time_id][attr] > 0);
1058 *((
cs_lnum_t *)( (
unsigned char *)particle
1059 + attr_map->
displ[time_id][attr])) = value;
1079 assert(attr_map->
count[0][attr] > 0);
1081 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1082 + attr_map->
displ[0][attr]));
1105 assert(attr_map->
count[time_id][attr] > 0);
1107 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1108 + attr_map->
displ[time_id][attr]));
1128 assert(attr_map->
count[0][attr] > 0);
1130 *((
cs_gnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1154 assert(attr_map->
count[time_id][attr] > 0);
1156 *((
cs_gnum_t *)( (
unsigned char *)particle
1157 + attr_map->
displ[time_id][attr])) = value;
1177 assert(attr_map->
count[0][attr] > 0);
1179 return *((
const cs_real_t *)( (
const unsigned char *)particle
1180 + attr_map->
displ[0][attr]));
1203 assert(attr_map->
count[time_id][attr] > 0);
1205 return *((
const cs_real_t *)( (
const unsigned char *)particle
1206 + attr_map->
displ[time_id][attr]));
1226 assert(attr_map->
count[0][attr] > 0);
1228 *((
cs_real_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1252 assert(attr_map->
count[time_id][attr] > 0);
1254 *((
cs_real_t *)( (
unsigned char *)particle
1255 + attr_map->
displ[time_id][attr])) = value;
1278 return (
cs_real_t *)( (
unsigned char *)particle
1302 return (
const cs_real_t *)( (
unsigned char *)particle
cs_lnum_t n_part_out
Definition: cs_lagr_tracking.h:168
void dplprt(cs_int_t *p_scheme_order, cs_real_t boundary_stat[], const cs_int_t *iensi3, const cs_int_t *inbr, const cs_int_t *inbrbd, const cs_int_t *iflm, const cs_int_t *iflmbd, const cs_int_t *iang, const cs_int_t *iangbd, const cs_int_t *ivit, const cs_int_t *ivitbd, const cs_int_t *iencnd, const cs_int_t *iencma, const cs_int_t *iencdi, const cs_int_t *iencck, const cs_int_t *iencnbbd, const cs_int_t *iencmabd, const cs_int_t *iencdibd, const cs_int_t *iencckbd, const cs_int_t *inclg, const cs_int_t *inclgt, const cs_int_t *iscovc, const cs_int_t *ihdepm, const cs_int_t *ihdepv, const cs_int_t *ihsum, const cs_int_t *nusbor, cs_int_t iusb[], cs_real_t visc_length[], cs_real_t dlgeo[], const cs_real_t tprenc[], const cs_real_t visref[], const cs_real_t enc1[], const cs_real_t enc2[], const cs_real_t *tkelvi)
Definition: cs_lagr_tracking.c:4813
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_tracking.h:1148
cs_datatype_t
Definition: cs_defs.h:255
Definition: cs_lagr_tracking.h:82
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_tracking.c:5095
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:280
Definition: cs_lagr_tracking.h:75
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_tracking.h:1173
cs_lnum_t n_part_fou
Definition: cs_lagr_tracking.h:170
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_tracking.h:780
Definition: cs_lagr_tracking.h:83
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_tracking.h:730
Definition: cs_lagr_tracking.h:96
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_tracking.h:678
Definition: cs_lagr_tracking.h:109
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_tracking.h:1050
ptrdiff_t * source_term_displ
Definition: cs_lagr_tracking.h:153
int t_order
Definition: cs_lagr_tracking.h:206
Definition: cs_lagr_tracking.h:74
Definition: cs_lagr_tracking.h:121
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_tracking.h:1198
Definition: cs_lagr_tracking.h:57
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_tracking.h:756
int physical_model
Definition: cs_lagr_tracking.h:192
Definition: cs_lagr_tracking.h:81
Definition: cs_lagr_tracking.h:113
Definition: cs_lagr_tracking.h:125
Definition: cs_lagr_tracking.h:51
#define BEGIN_C_DECLS
Definition: cs_defs.h:429
Definition: cs_lagr_tracking.h:84
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:295
Definition: cs_lagr_tracking.h:163
Definition: cs_lagr_tracking.h:105
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_tracking.h:1123
Definition: cs_lagr_tracking.h:80
int n_temperature_layers
Definition: cs_lagr_tracking.h:195
const cs_lagr_param_t * cs_glob_lagr_params
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_tracking.h:704
cs_real_t weight_fou
Definition: cs_lagr_tracking.h:176
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_tracking.h:977
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_tracking.c:5064
const cs_lagr_attribute_map_t * p_am
Definition: cs_lagr_tracking.h:181
void getbdy(const cs_int_t *nflagm, const cs_int_t *nfrlag, const cs_int_t *injcon, const cs_int_t ilflag[], const cs_int_t iusncl[], const cs_int_t iusclb[], const cs_real_t deblag[], const cs_int_t ifrlag[])
Definition: cs_lagr_tracking.c:4744
Definition: cs_lagr_tracking.h:59
cs_real_t weight_failed
Definition: cs_lagr_tracking.h:177
Definition: cs_lagr_tracking.h:102
cs_real_t weight_dep
Definition: cs_lagr_tracking.h:175
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_tracking.h:884
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_tracking.h:1271
unsigned char * p_buffer
Definition: cs_lagr_tracking.h:183
Definition: cs_lagr_tracking.h:90
Definition: cs_lagr_tracking.h:117
int resuspension
Definition: cs_lagr_tracking.h:200
Definition: cs_lagr_tracking.h:55
Definition: cs_lagr_tracking.h:49
ptrdiff_t(* displ)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_tracking.h:149
cs_real_t weight_out
Definition: cs_lagr_tracking.h:174
int deposition
Definition: cs_lagr_tracking.h:197
Definition: cs_lagr_tracking.h:53
void cs_lagr_particle_set_dump(const cs_lagr_particle_set_t *particles)
Dump a cs_lagr_particle_t structure.
Definition: cs_lagr_tracking.c:5225
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_tracking.h:474
int time_id
Definition: cs_lagr_tracking.h:165
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_tracking.h:448
int dlvo
Definition: cs_lagr_tracking.h:198
cs_lnum_t n_part_dep
Definition: cs_lagr_tracking.h:169
cs_lnum_t n_particles_max
Definition: cs_lagr_tracking.h:179
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_tracking.h:423
Definition: cs_lagr_tracking.h:67
Definition: cs_lagr_tracking.h:60
const char * cs_lagr_attribute_name[]
cs_lagr_attribute_t
Definition: cs_lagr_tracking.h:46
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_tracking.h:833
Definition: cs_lagr_tracking.h:66
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_tracking.h:906
void cs_lagr_destroy(void)
Delete particle set structure and other useful buffers.
Definition: cs_lagr_tracking.c:5107
Definition: cs_lagr_tracking.h:48
int cs_lagr_resize_particle_set(cs_lnum_t n_min_particles)
Resize particle set buffers if needed.
Definition: cs_lagr_tracking.c:5162
Definition: cs_lagr_tracking.h:101
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_tracking.h:1246
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_tracking.h:628
cs_lnum_t n_particles
Definition: cs_lagr_tracking.h:167
cs_lnum_t n_failed_part
Definition: cs_lagr_tracking.h:171
Definition: cs_lagr_tracking.h:97
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_tracking.h:552
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_tracking.h:953
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_tracking.h:929
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_tracking.h:1075
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
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_tracking.h:654
int n_time_vals
Definition: cs_lagr_tracking.h:137
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_tracking.h:576
Definition: cs_lagr_tracking.h:88
Definition: cs_lagr_tracking.h:95
Definition: cs_lagr_tracking.h:106
#define END_C_DECLS
Definition: cs_defs.h:430
double cs_real_t
Definition: cs_defs.h:296
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_tracking.h:1221
Definition: cs_lagr_tracking.h:76
Definition: cs_lagr_tracking.h:91
Definition: cs_lagr_tracking.h:58
size_t extents
Definition: cs_lagr_tracking.h:134
Definition: cs_lagr_tracking.h:89
#define CS_PROCF(x, y)
Definition: cs_defs.h:453
int roughness
Definition: cs_lagr_tracking.h:199
Definition: cs_lagr_tracking.h:61
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_tracking.h:1100
cs_real_t weight
Definition: cs_lagr_tracking.h:173
int n_user_variables
Definition: cs_lagr_tracking.h:204
Definition: cs_lagr_tracking.h:68
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_tracking.h:806
void cs_lagr_set_reallocation_factor(double f)
Set reallocation factor for particle sets.
Definition: cs_lagr_tracking.c:5193
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_tracking.h:501
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_tracking.h:1295
Definition: cs_lagr_tracking.h:73
int n_stat_classes
Definition: cs_lagr_tracking.h:203
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_tracking.h:1002
Definition: cs_lagr_tracking.h:56
Definition: cs_lagr_tracking.h:103
Definition: cs_lagr_tracking.h:132
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_tracking.h:526
void cs_lagr_set_n_g_particles_max(unsigned long long n_g_particles_max)
Set global maximum number of particles.
Definition: cs_lagr_tracking.c:5211
Definition: cs_lagr_tracking.h:62
Definition: cs_lagr_tracking.h:108
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_tracking.h:859
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_tracking.h:602
void lagbeg(const cs_int_t *nordre, const cs_int_t *nlayer, const cs_int_t *iphyla, const cs_int_t *idepst, const cs_int_t *idlvo, const cs_int_t *irough, const cs_int_t *ireent, const cs_int_t *iclogst, const cs_int_t *nvls, const cs_int_t *nbclst, cs_lnum_t icocel[], cs_lnum_t itycel[], cs_int_t *jisor, cs_int_t *jisora, cs_int_t *jirka, cs_int_t *jord1, cs_int_t *jrval, cs_int_t *jrpoi, cs_int_t *jrtsp, cs_int_t *jdp, cs_int_t *jmp, cs_int_t *jxp, cs_int_t *jyp, cs_int_t *jzp, cs_int_t *jup, cs_int_t *jvp, cs_int_t *jwp, cs_int_t *juf, cs_int_t *jvf, cs_int_t *jwf, cs_int_t *jtaux, cs_int_t jbx1[3], cs_int_t jtsup[3], cs_int_t jtsuf[3], cs_int_t *jryplu, cs_int_t *jrinpf, cs_int_t *jdfac, cs_int_t *jimark, cs_int_t *jtp, cs_int_t jhp[], cs_int_t *jtf, cs_int_t *jmwat, cs_int_t jmch[], cs_int_t jmck[], cs_int_t *jcp, cs_int_t *jrdck, cs_int_t *jrd0p, cs_int_t *jinch, cs_int_t jrhock[], cs_int_t *jreps, cs_int_t *jdepo, cs_int_t *jnbasg, cs_int_t *jnbasp, cs_int_t *jfadh, cs_int_t *jmfadh, cs_int_t *jndisp, cs_int_t *jclst, cs_int_t *jvls, cs_int_t *jdp2, cs_int_t *jnbpoi, cs_int_t *jrtdep, cs_int_t *jrhcon)
Definition: cs_lagr_tracking.c:4217
Definition: cs_lagr_tracking.h:72
int clogging
Definition: cs_lagr_tracking.h:201
int(* count)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_tracking.h:146
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_tracking.h:1025
Definition: cs_lagr_tracking.h:190