1 #ifndef __CS_LAGR_TRACKING_H__
2 #define __CS_LAGR_TRACKING_H__
421 assert(particle_set->
p_am->
count[0][attr] > 0);
423 return (
unsigned char *)particle_set->
p_buffer
441 inline static const void *
446 assert(particle_set->
p_am->
count[0][attr] > 0);
473 assert(particle_set->
p_am->
count[time_id][attr] > 0);
477 + particle_set->
p_am->
displ[time_id][attr];
494 inline static const void *
500 assert(particle_set->
p_am->
count[time_id][attr] > 0);
504 + particle_set->
p_am->
displ[time_id][attr];
524 assert(particle_set->
p_am->
count[0][attr] > 0);
551 assert(particle_set->
p_am->
count[time_id][attr] > 0);
555 + particle_set->
p_am->
displ[time_id][attr]));
575 assert(particle_set->
p_am->
count[0][attr] > 0);
579 + particle_set->
p_am->
displ[0][attr])) = value;
602 assert(particle_set->
p_am->
count[time_id][attr] > 0);
606 + particle_set->
p_am->
displ[time_id][attr])) = value;
626 assert(particle_set->
p_am->
count[0][attr] > 0);
653 assert(particle_set->
p_am->
count[time_id][attr] > 0);
657 + particle_set->
p_am->
displ[time_id][attr]));
677 assert(particle_set->
p_am->
count[0][attr] > 0);
681 + particle_set->
p_am->
displ[0][attr])) = value;
704 assert(particle_set->
p_am->
count[time_id][attr] > 0);
708 + particle_set->
p_am->
displ[time_id][attr])) = value;
728 assert(particle_set->
p_am->
count[0][attr] > 0);
755 assert(particle_set->
p_am->
count[time_id][attr] > 0);
759 + particle_set->
p_am->
displ[time_id][attr]));
779 assert(particle_set->
p_am->
count[0][attr] > 0);
783 + particle_set->
p_am->
displ[0][attr])) = value;
806 assert(particle_set->
p_am->
count[time_id][attr] > 0);
810 + particle_set->
p_am->
displ[time_id][attr])) = value;
882 assert(attr_map->
count[0][attr] > 0);
884 return (
unsigned char *)particle + attr_map->
displ[0][attr];
899 inline static const void *
904 assert(attr_map->
count[0][attr] > 0);
906 return (
const unsigned char *)particle + attr_map->
displ[0][attr];
928 assert(attr_map->
count[time_id][attr] > 0);
930 return (
unsigned char *)particle + attr_map->
displ[time_id][attr];
946 inline static const void *
952 assert(attr_map->
count[time_id][attr] > 0);
954 return (
const unsigned char *)particle
955 + attr_map->
displ[time_id][attr];
975 assert(attr_map->
count[0][attr] > 0);
977 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
978 + attr_map->
displ[0][attr]));
1001 assert(attr_map->
count[time_id][attr] > 0);
1003 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1004 + attr_map->
displ[time_id][attr]));
1024 assert(attr_map->
count[0][attr] > 0);
1026 *((
cs_lnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1050 assert(attr_map->
count[time_id][attr] > 0);
1052 *((
cs_lnum_t *)( (
unsigned char *)particle
1053 + attr_map->
displ[time_id][attr])) = value;
1073 assert(attr_map->
count[0][attr] > 0);
1075 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1076 + attr_map->
displ[0][attr]));
1099 assert(attr_map->
count[time_id][attr] > 0);
1101 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1102 + attr_map->
displ[time_id][attr]));
1122 assert(attr_map->
count[0][attr] > 0);
1124 *((
cs_gnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1148 assert(attr_map->
count[time_id][attr] > 0);
1150 *((
cs_gnum_t *)( (
unsigned char *)particle
1151 + attr_map->
displ[time_id][attr])) = value;
1171 assert(attr_map->
count[0][attr] > 0);
1173 return *((
const cs_real_t *)( (
const unsigned char *)particle
1174 + attr_map->
displ[0][attr]));
1197 assert(attr_map->
count[time_id][attr] > 0);
1199 return *((
const cs_real_t *)( (
const unsigned char *)particle
1200 + attr_map->
displ[time_id][attr]));
1220 assert(attr_map->
count[0][attr] > 0);
1222 *((
cs_real_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1246 assert(attr_map->
count[time_id][attr] > 0);
1248 *((
cs_real_t *)( (
unsigned char *)particle
1249 + attr_map->
displ[time_id][attr])) = value;
1272 return (
cs_real_t *)( (
unsigned char *)particle
1296 return (
const cs_real_t *)( (
unsigned char *)particle
cs_lnum_t n_part_out
Definition: cs_lagr_tracking.h:166
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:1142
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:5521
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:1167
cs_lnum_t n_part_fou
Definition: cs_lagr_tracking.h:168
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:774
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:724
Definition: cs_lagr_tracking.h:89
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:672
Definition: cs_lagr_tracking.h:102
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:1044
ptrdiff_t * source_term_displ
Definition: cs_lagr_tracking.h:146
int t_order
Definition: cs_lagr_tracking.h:209
Definition: cs_lagr_tracking.h:74
Definition: cs_lagr_tracking.h:114
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:1192
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:750
int physical_model
Definition: cs_lagr_tracking.h:196
Definition: cs_lagr_tracking.h:81
Definition: cs_lagr_tracking.h:106
Definition: cs_lagr_tracking.h:118
Definition: cs_lagr_tracking.h:51
#define BEGIN_C_DECLS
Definition: cs_defs.h:419
Definition: cs_lagr_tracking.h:84
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:295
Definition: cs_lagr_tracking.h:161
Definition: cs_lagr_tracking.h:98
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:1117
Definition: cs_lagr_tracking.h:80
int n_temperature_layers
Definition: cs_lagr_tracking.h:199
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:698
cs_real_t weight_fou
Definition: cs_lagr_tracking.h:174
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:971
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:5490
const cs_lagr_attribute_map_t * p_am
Definition: cs_lagr_tracking.h:182
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:5111
Definition: cs_lagr_tracking.h:59
cs_real_t weight_failed
Definition: cs_lagr_tracking.h:175
Definition: cs_lagr_tracking.h:95
cs_real_t weight_dep
Definition: cs_lagr_tracking.h:173
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:878
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:1265
unsigned char * p_buffer
Definition: cs_lagr_tracking.h:184
Definition: cs_lagr_tracking.h:110
int resuspension
Definition: cs_lagr_tracking.h:203
Definition: cs_lagr_tracking.h:55
Definition: cs_lagr_tracking.h:49
ptrdiff_t(* displ)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_tracking.h:142
cs_real_t weight_out
Definition: cs_lagr_tracking.h:172
int deposition
Definition: cs_lagr_tracking.h:201
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:5646
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:468
int time_id
Definition: cs_lagr_tracking.h:163
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:442
cs_lnum_t n_part_dep
Definition: cs_lagr_tracking.h:167
cs_lnum_t n_particles_max
Definition: cs_lagr_tracking.h:177
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:417
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:827
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:900
void cs_lagr_destroy(void)
Delete particle set structure and other useful buffers.
Definition: cs_lagr_tracking.c:5533
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:5583
Definition: cs_lagr_tracking.h:94
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:1240
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:622
cs_lnum_t n_particles
Definition: cs_lagr_tracking.h:165
cs_lnum_t n_failed_part
Definition: cs_lagr_tracking.h:169
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 *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)
Definition: cs_lagr_tracking.c:4621
Definition: cs_lagr_tracking.h:90
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:546
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:947
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:923
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:1069
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:648
int n_time_vals
Definition: cs_lagr_tracking.h:130
struct _cs_lagr_tracking_list_t cs_lagr_tracking_list_t
Definition: cs_lagr_tracking.h:156
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:570
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 *iscovc, const cs_int_t *nusbor, cs_int_t iusb[], cs_real_t visc_length[], cs_real_t dlgeo[], cs_real_t energt[], 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:5180
Definition: cs_lagr_tracking.h:88
Definition: cs_lagr_tracking.h:99
#define END_C_DECLS
Definition: cs_defs.h:420
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:1215
Definition: cs_lagr_tracking.h:76
Definition: cs_lagr_tracking.h:58
size_t extents
Definition: cs_lagr_tracking.h:127
#define CS_PROCF(x, y)
Definition: cs_defs.h:433
int roughness
Definition: cs_lagr_tracking.h:202
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:1094
cs_real_t weight
Definition: cs_lagr_tracking.h:171
int n_user_variables
Definition: cs_lagr_tracking.h:207
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:800
void cs_lagr_set_reallocation_factor(double f)
Set reallocation factor for particle sets.
Definition: cs_lagr_tracking.c:5614
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:495
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:1289
Definition: cs_lagr_tracking.h:73
int n_stat_classes
Definition: cs_lagr_tracking.h:206
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:996
Definition: cs_lagr_tracking.h:56
Definition: cs_lagr_tracking.h:96
Definition: cs_lagr_tracking.h:125
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:520
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:5632
Definition: cs_lagr_tracking.h:62
cs_lnum_t first_free_id
Definition: cs_lagr_tracking.h:180
cs_lagr_tracking_list_t * used_id
Definition: cs_lagr_tracking.h:186
Definition: cs_lagr_tracking.h:101
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:853
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:596
cs_lnum_t first_used_id
Definition: cs_lagr_tracking.h:179
Definition: cs_lagr_tracking.h:72
int clogging
Definition: cs_lagr_tracking.h:204
int(* count)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_tracking.h:139
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:1019
Definition: cs_lagr_tracking.h:194