1 #ifndef __CS_LAGR_TRACKING_H__
2 #define __CS_LAGR_TRACKING_H__
142 typedef struct _cs_lagr_tracking_list_t cs_lagr_tracking_list_t;
498 assert(particle_set->
p_am->
count[0][attr] > 0);
500 return (
unsigned char *)particle_set->
p_buffer
518 inline static const void *
523 assert(particle_set->
p_am->
count[0][attr] > 0);
550 assert(particle_set->
p_am->
count[time_id][attr] > 0);
554 + particle_set->
p_am->
displ[time_id][attr];
571 inline static const void *
577 assert(particle_set->
p_am->
count[time_id][attr] > 0);
581 + particle_set->
p_am->
displ[time_id][attr];
601 assert(particle_set->
p_am->
count[0][attr] > 0);
628 assert(particle_set->
p_am->
count[time_id][attr] > 0);
632 + particle_set->
p_am->
displ[time_id][attr]));
652 assert(particle_set->
p_am->
count[0][attr] > 0);
656 + particle_set->
p_am->
displ[0][attr])) = value;
679 assert(particle_set->
p_am->
count[time_id][attr] > 0);
683 + particle_set->
p_am->
displ[time_id][attr])) = value;
703 assert(particle_set->
p_am->
count[0][attr] > 0);
730 assert(particle_set->
p_am->
count[time_id][attr] > 0);
734 + particle_set->
p_am->
displ[time_id][attr]));
754 assert(particle_set->
p_am->
count[0][attr] > 0);
758 + particle_set->
p_am->
displ[0][attr])) = value;
781 assert(particle_set->
p_am->
count[time_id][attr] > 0);
785 + particle_set->
p_am->
displ[time_id][attr])) = value;
805 assert(particle_set->
p_am->
count[0][attr] > 0);
832 assert(particle_set->
p_am->
count[time_id][attr] > 0);
836 + particle_set->
p_am->
displ[time_id][attr]));
856 assert(particle_set->
p_am->
count[0][attr] > 0);
860 + particle_set->
p_am->
displ[0][attr])) = value;
883 assert(particle_set->
p_am->
count[time_id][attr] > 0);
887 + particle_set->
p_am->
displ[time_id][attr])) = value;
903 cs_lagr_particle_attr(
void *particle,
907 assert(attr_map->
count[0][attr] > 0);
909 return (
unsigned char *)particle + attr_map->
displ[0][attr];
924 inline static const void *
925 cs_lagr_particle_attr_const(
const void *particle,
929 assert(attr_map->
count[0][attr] > 0);
931 return (
const unsigned char *)particle + attr_map->
displ[0][attr];
948 cs_lagr_particle_attr_n(
void *particle,
953 assert(attr_map->
count[time_id][attr] > 0);
955 return (
unsigned char *)particle + attr_map->
displ[time_id][attr];
971 inline static const void *
972 cs_lagr_particle_attr_n_const(
const void *particle,
977 assert(attr_map->
count[time_id][attr] > 0);
979 return (
const unsigned char *)particle
980 + attr_map->
displ[time_id][attr];
996 cs_lagr_particle_get_lnum(
const void *particle,
1000 assert(attr_map->
count[0][attr] > 0);
1002 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1003 + attr_map->
displ[0][attr]));
1021 cs_lagr_particle_get_lnum_n(
const void *particle,
1026 assert(attr_map->
count[time_id][attr] > 0);
1028 return *((
const cs_lnum_t *)( (
const unsigned char *)particle
1029 + attr_map->
displ[time_id][attr]));
1044 cs_lagr_particle_set_lnum(
void *particle,
1049 assert(attr_map->
count[0][attr] > 0);
1051 *((
cs_lnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1069 cs_lagr_particle_set_lnum_n(
void *particle,
1075 assert(attr_map->
count[time_id][attr] > 0);
1077 *((
cs_lnum_t *)( (
unsigned char *)particle
1078 + attr_map->
displ[time_id][attr])) = value;
1094 cs_lagr_particle_get_gnum(
const void *particle,
1098 assert(attr_map->
count[0][attr] > 0);
1100 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1101 + attr_map->
displ[0][attr]));
1119 cs_lagr_particle_get_gnum_n(
const void *particle,
1124 assert(attr_map->
count[time_id][attr] > 0);
1126 return *((
const cs_gnum_t *)( (
const unsigned char *)particle
1127 + attr_map->
displ[time_id][attr]));
1142 cs_lagr_particle_set_gnum(
void *particle,
1147 assert(attr_map->
count[0][attr] > 0);
1149 *((
cs_gnum_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1167 cs_lagr_particle_set_gnum_n(
void *particle,
1173 assert(attr_map->
count[time_id][attr] > 0);
1175 *((
cs_gnum_t *)( (
unsigned char *)particle
1176 + attr_map->
displ[time_id][attr])) = value;
1192 cs_lagr_particle_get_real(
const void *particle,
1196 assert(attr_map->
count[0][attr] > 0);
1198 return *((
const cs_real_t *)( (
const unsigned char *)particle
1199 + attr_map->
displ[0][attr]));
1217 cs_lagr_particle_get_real_n(
const void *particle,
1222 assert(attr_map->
count[time_id][attr] > 0);
1224 return *((
const cs_real_t *)( (
const unsigned char *)particle
1225 + attr_map->
displ[time_id][attr]));
1240 cs_lagr_particle_set_real(
void *particle,
1245 assert(attr_map->
count[0][attr] > 0);
1247 *((
cs_real_t *)((
unsigned char *)particle + attr_map->
displ[0][attr]))
1265 cs_lagr_particle_set_real_n(
void *particle,
1271 assert(attr_map->
count[time_id][attr] > 0);
1273 *((
cs_real_t *)( (
unsigned char *)particle
1274 + attr_map->
displ[time_id][attr])) = value;
cs_lnum_t n_part_out
Definition: cs_lagr_tracking.h:152
cs_datatype_t
Definition: cs_defs.h:255
Definition: cs_lagr_tracking.h:74
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:5760
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:280
Definition: cs_lagr_tracking.h:67
cs_lnum_t n_part_fou
Definition: cs_lagr_tracking.h:154
Definition: cs_lagr_tracking.h:75
Definition: cs_lagr_tracking.h:81
Definition: cs_lagr_tracking.h:94
void lagbeg(const cs_int_t *n_particles_max, 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[], const cs_int_t *jisor, const cs_int_t *jisora, const cs_int_t *jirka, const cs_int_t *jord1, const cs_int_t *jrval, const cs_int_t *jrpoi, const cs_int_t *jrtsp, const cs_int_t *jdp, const cs_int_t *jmp, const cs_int_t *jxp, const cs_int_t *jyp, const cs_int_t *jzp, const cs_int_t *jup, const cs_int_t *jvp, const cs_int_t *jwp, const cs_int_t *juf, const cs_int_t *jvf, const cs_int_t *jwf, const cs_int_t *jtaux, const cs_int_t *jryplu, const cs_int_t *jrinpf, const cs_int_t *jdfac, const cs_int_t *jimark, const cs_int_t *jtp, const cs_int_t jhp[], const cs_int_t *jtf, const cs_int_t *jmwat, const cs_int_t jmch[], const cs_int_t jmck[], const cs_int_t *jcp, const cs_int_t *jrdck, const cs_int_t *jrd0p, const cs_int_t *jinch, const cs_int_t jrhock[], const cs_int_t *jreps, const cs_int_t *jdepo, const cs_int_t *jnbasg, const cs_int_t *jnbasp, const cs_int_t *jfadh, const cs_int_t *jmfadh, const cs_int_t *jndisp, const cs_int_t *jclst, const cs_int_t *jvls)
Definition: cs_lagr_tracking.h:66
Definition: cs_lagr_tracking.h:106
Definition: cs_lagr_tracking.h:55
int physical_model
Definition: cs_lagr_tracking.h:181
Definition: cs_lagr_tracking.h:73
Definition: cs_lagr_tracking.h:98
Definition: cs_lagr_tracking.h:110
Definition: cs_lagr_tracking.h:49
#define BEGIN_C_DECLS
Definition: cs_defs.h:405
Definition: cs_lagr_tracking.h:76
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:295
Definition: cs_lagr_tracking.h:147
Definition: cs_lagr_tracking.h:90
Definition: cs_lagr_tracking.h:72
int n_temperature_layers
Definition: cs_lagr_tracking.h:184
const cs_lagr_param_t * cs_glob_lagr_params
Definition: cs_lagr_tracking.c:385
void prtget(const cs_int_t *nbpmax, const cs_int_t *nbpart, const cs_real_t ettp[], const cs_real_t ettpa[], const cs_int_t itepa[], const cs_real_t tepa[])
cs_real_t weight_fou
Definition: cs_lagr_tracking.h:160
void dplprt(cs_int_t *p_n_particles, 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)
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:5729
const cs_lagr_attribute_map_t * p_am
Definition: cs_lagr_tracking.h:168
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.h:57
cs_real_t weight_failed
Definition: cs_lagr_tracking.h:161
Definition: cs_lagr_tracking.h:87
cs_real_t weight_dep
Definition: cs_lagr_tracking.h:159
unsigned char * p_buffer
Definition: cs_lagr_tracking.h:170
Definition: cs_lagr_tracking.h:102
int resuspension
Definition: cs_lagr_tracking.h:188
Definition: cs_lagr_tracking.h:53
Definition: cs_lagr_tracking.h:47
ptrdiff_t(* displ)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_tracking.h:130
cs_real_t weight_out
Definition: cs_lagr_tracking.h:158
int deposition
Definition: cs_lagr_tracking.h:186
Definition: cs_lagr_tracking.h:51
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:5816
int time_id
Definition: cs_lagr_tracking.h:149
cs_lnum_t n_part_dep
Definition: cs_lagr_tracking.h:153
cs_lnum_t n_particles_max
Definition: cs_lagr_tracking.h:163
Definition: cs_lagr_tracking.h:58
const char * cs_lagr_attribute_name[]
Definition: cs_lagr_tracking.c:312
cs_lagr_attribute_t
Definition: cs_lagr_tracking.h:44
void cs_lagr_destroy(void)
Delete particle set structure and other useful buffers.
Definition: cs_lagr_tracking.c:5772
Definition: cs_lagr_tracking.h:46
Definition: cs_lagr_tracking.h:86
cs_lnum_t n_particles
Definition: cs_lagr_tracking.h:151
cs_lnum_t n_failed_part
Definition: cs_lagr_tracking.h:155
Definition: cs_lagr_tracking.h:82
void prtput(const cs_int_t *nbpmax, cs_int_t *nbpart, cs_real_t *dnbpar, cs_int_t *nbpout, cs_real_t *dnbpou, cs_int_t *nbperr, cs_real_t *dnbper, cs_int_t *nbpdep, cs_real_t *dnbdep, cs_int_t *npencr, cs_real_t *dnpenc, cs_real_t ettp[], cs_real_t ettpa[], cs_int_t itepa[], cs_real_t tepa[])
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
int n_time_vals
Definition: cs_lagr_tracking.h:122
Definition: cs_lagr_tracking.h:80
Definition: cs_lagr_tracking.h:91
#define END_C_DECLS
Definition: cs_defs.h:406
double cs_real_t
Definition: cs_defs.h:296
Definition: cs_lagr_tracking.h:68
Definition: cs_lagr_tracking.h:56
size_t extents
Definition: cs_lagr_tracking.h:119
#define CS_PROCF(x, y)
Definition: cs_defs.h:419
int roughness
Definition: cs_lagr_tracking.h:187
Definition: cs_lagr_tracking.h:59
void ucdprt(const cs_lnum_t *nbpmax, const cs_lnum_t *nbpart, const cs_real_t *dnbpar, const cs_int_t *nbpout, const cs_real_t *dnbpou, const cs_int_t *nbperr, const cs_real_t *dnbper, const cs_int_t *nbpdep, const cs_real_t *dnbdep, const cs_int_t *npencr, const cs_real_t *dnpenc, const cs_real_t ettp[], const cs_real_t ettpa[], const cs_lnum_t itepa[], const cs_real_t tepa[])
cs_real_t weight
Definition: cs_lagr_tracking.h:157
int n_user_variables
Definition: cs_lagr_tracking.h:192
Definition: cs_lagr_tracking.h:65
int n_stat_classes
Definition: cs_lagr_tracking.h:191
Definition: cs_lagr_tracking.h:54
Definition: cs_lagr_tracking.h:88
Definition: cs_lagr_tracking.h:117
Definition: cs_lagr_tracking.h:60
cs_lnum_t first_free_id
Definition: cs_lagr_tracking.h:166
cs_lagr_tracking_list_t * used_id
Definition: cs_lagr_tracking.h:172
Definition: cs_lagr_tracking.h:93
cs_lnum_t first_used_id
Definition: cs_lagr_tracking.h:165
Definition: cs_lagr_tracking.h:64
int clogging
Definition: cs_lagr_tracking.h:189
int(* count)[CS_LAGR_N_ATTRIBUTES]
Definition: cs_lagr_tracking.h:133
Definition: cs_lagr_tracking.h:179