42 #ifndef DOXYGEN_SHOULD_SKIP_THIS
153 const int num_object);
187 cs_medcoupling_intersector_t *
mi;
378 const int num_object);
395 const char *file_name,
587 const int num_object);
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
cs_real_t cs_real_34_t[3][4]
Definition: cs_defs.h:349
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:334
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
@ t
Definition: cs_field_pointer.h:92
void cs_user_ibm_parameters(void)
User function to set global parameters for the immersed boundaries module.
Definition: cs_user_ibm.c:84
void cs_ibm_add_object_from_func(const char *name, cs_cutcell_func_t *cutcell_func, bool solve_fsi, int n_nodes)
Define an object from a function used in the cutcell algorithm.
Definition: cs_ibm.c:4243
void cs_immersed_boundaries(const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities)
Define immersed boundaries in time and space (solid(s) interior part).
Definition: cs_ibm.c:3801
void cs_ibm_user_parameters(void)
Apply user parameters.
Definition: cs_ibm.c:4466
void cs_ibm_volumic_zone(const cs_mesh_quantities_t *mesh_quantities)
Define space immersed boundaries on a set of zones defined by the user in the GUI.
Definition: cs_ibm.c:4667
int cs_ibm_object_compute_cut_porosity(const cs_lnum_t c_id, const cs_real_3_t xyz, const cs_real_t t, const int num_object)
Check if a point is solid or fluid based on the cut-cell method.
Definition: cs_ibm.c:4155
void cs_user_ibm_define_objects(void)
User function in which the user defines the objects to model.
Definition: cs_user_ibm.c:70
void cs_ibm_object_compute_intersect_vol(cs_ibm_object_t *obj, const cs_mesh_t *m, const cs_real_t *cell_vol, cs_real_t *obj_frac_tot, int *indic)
Compute the volume fraction of an object over all cells.
Definition: cs_ibm.c:4589
void cs_ibm_init_writer(void)
Init writers for STL or MED objects.
Definition: cs_ibm.c:4485
cs_ibm_object_init_param_t
Definition: cs_ibm.h:132
@ CS_IBM_OBJ_INIT_FLUID_FORCE
Definition: cs_ibm.h:139
@ CS_IBM_OBJ_INIT_ANGLE
Definition: cs_ibm.h:135
@ CS_IBM_OBJ_INIT_ANGULAR_VEL
Definition: cs_ibm.h:138
@ CS_N_IBM_OBJ_INIT_TYPES
Definition: cs_ibm.h:141
@ CS_IBM_OBJ_INIT_COG
Definition: cs_ibm.h:134
@ CS_IBM_OBJ_INIT_VELOCITY
Definition: cs_ibm.h:136
@ CS_IBM_OBJ_INIT_ACCELERATION
Definition: cs_ibm.h:137
@ CS_IBM_OBJ_INIT_COG_EQ
Definition: cs_ibm.h:133
cs_ibm_object_property_type_t
Definition: cs_ibm.h:112
@ CS_IBM_OBJ_PROP_STIFFNESS
Definition: cs_ibm.h:119
@ CS_IBM_OBJ_PROP_DAMPING
Definition: cs_ibm.h:120
@ CS_IBM_OBJ_PROP_YOUNG_MODULE
Definition: cs_ibm.h:121
@ CS_IBM_OBJ_PROP_RAYLEIGH_DAMP_A
Definition: cs_ibm.h:124
@ CS_N_IBM_OBJ_PROP_TYPES
Definition: cs_ibm.h:127
@ NC_IBM_OBJ_PROP_INERTIA_MATRIX
Definition: cs_ibm.h:116
@ CS_IBM_OBJ_PROP_CROSS_SECTION
Definition: cs_ibm.h:123
@ CS_IBM_OBJ_PROP_CP
Definition: cs_ibm.h:117
@ CS_IBM_OBJ_PROP_DENSITY
Definition: cs_ibm.h:114
@ CS_IBM_OBJ_PROP_RAYLEIGH_DAMP_B
Definition: cs_ibm.h:125
@ CS_IBM_OBJ_PROP_INERTIA_MOM
Definition: cs_ibm.h:122
@ CS_IBM_OBJ_PROP_LAMBDA
Definition: cs_ibm.h:118
@ NC_IBM_OBJ_PROP_MASS
Definition: cs_ibm.h:115
cs_ibm_object_t * cs_ibm_object_by_id(int obj_id)
Get an object based on its id.
Definition: cs_ibm.c:3652
cs_ibm_object_t * cs_ibm_object_by_name_try(const char *name)
Try to get an object based on its name. Returns NULL if not found.
Definition: cs_ibm.c:3672
cs_ibm_model_type_t
Definition: cs_ibm.h:61
@ CS_IBM_FIXED_SOLID
Definition: cs_ibm.h:63
@ CS_IBM_OFF
Definition: cs_ibm.h:62
void cs_ibm_object_transform_from_init(cs_ibm_object_t *obj, cs_real_34_t matrix)
Transform an object from its initial state using a transformation matrix.
Definition: cs_ibm.c:4553
void cs_volumic_zone_porosity(const cs_mesh_quantities_t *mesh_quantities)
void cs_user_ibm_modify(const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities)
User function. Locally modify a given porosity to take into account erosion effect (for instance)
Definition: cs_user_ibm_modify.c:79
void cs_ibm_object_scale(const char *name, cs_real_t factor)
Scale an object based on a factor.
Definition: cs_ibm.c:4430
void cs_ibm_object_set_property_const(cs_ibm_object_t *obj, cs_ibm_object_property_type_t ppty_id, cs_real_t val)
Define a new constant property definition for an object.
Definition: cs_ibm.c:4374
cs_ibm_t * cs_ibm_create(void)
Definition: cs_ibm.c:3727
void cs_user_ibm_solid_por(const cs_lnum_t c_id, const cs_real_3_t xyz, const cs_real_t t, const int num_object)
User function which allows the definition of a 'porous' object.
Definition: cs_user_ibm.c:120
cs_porosity_ibm_opt_t * cs_glob_porosity_ibm_opt
Definition: cs_ibm.c:98
cs_ibm_object_t * cs_ibm_object_by_name(const char *name)
Get an object based on its name. Error if not found.
Definition: cs_ibm.c:3699
int() cs_cutcell_func_t(const cs_lnum_t c_id, const cs_real_3_t xyz, const cs_real_t t, const int num_object)
Definition: cs_ibm.h:150
void cs_user_ibm_object_transformations(const cs_real_t time)
User function where to apply predefined transformations to med/stl based objects.
Definition: cs_user_ibm.c:101
cs_ibm_algo_type_t
Definition: cs_ibm.h:85
@ CS_IBM_ALGO_CUT_CELLS
Definition: cs_ibm.h:87
@ CS_N_VAR_PORO_ALGO_TYPES
Definition: cs_ibm.h:91
@ CS_IBM_ALGO_MEDCOUPLING
Definition: cs_ibm.h:88
@ CS_IBM_ALGO_NONE
Definition: cs_ibm.h:86
@ CS_IBM_ALGO_STL
Definition: cs_ibm.h:89
void cs_ibm_object_translate(const char *name, cs_real_t vector[3])
Translate an object based on the STL or MED algorithms.
Definition: cs_ibm.c:4391
void cs_ibm_object_rotate(const char *name, cs_real_t angle, cs_real_t axis[3], cs_real_t center[3])
Rotate an object based on the STL or MED algorithms.
Definition: cs_ibm.c:4326
void cs_ibm_add_object_from_file(const char *name, cs_ibm_algo_type_t method, const char *file_name, bool solve_fsi)
Define an object from a file using STL or MED formats.
Definition: cs_ibm.c:4190
void cs_ibm_stl_define_ext_points(const char *name, const int n_pts, cs_real_t *pts_coords)
Define exterior points for an STL object.
Definition: cs_ibm.c:4297
void cs_ibm_finalize(void)
Definition: cs_ibm.c:3765
cs_ibm_prob_dim_type_t
Definition: cs_ibm.h:72
@ CS_IBM_2D_Y
Definition: cs_ibm.h:75
@ CS_IBM_2D_Z
Definition: cs_ibm.h:76
@ CS_IBM_2D_X
Definition: cs_ibm.h:74
@ CS_IBM_3D
Definition: cs_ibm.h:73
cs_ibm_t * cs_ibm
Definition: cs_ibm.c:101
cs_ibm_wall_cond_type_t
Definition: cs_ibm.h:100
@ CS_IBM_WALL_LAW_WALL_CONDITION
Definition: cs_ibm.h:103
@ CS_IBM_SLIP_WALL_CONDITION
Definition: cs_ibm.h:101
@ CS_IBM_NO_SLIP_WALL_CONDITION
Definition: cs_ibm.h:102
void matrix(const int *iconvp, const int *idiffp, const int *ndircp, const int *isym, const cs_real_t *thetap, const int *imucpp, const cs_real_t coefbp[], const cs_real_t cofbfp[], const cs_real_t rovsdt[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t xcpp[], cs_real_t da[], cs_real_t xa[])
cs_medcoupling_intersector_t * mi
Definition: cs_ibm.h:187
char * name
Definition: cs_ibm.h:176
cs_ibm_algo_type_t method
Definition: cs_ibm.h:181
cs_stl_mesh_t * stl
Definition: cs_ibm.h:186
cs_cutcell_func_t * cutcell_func
Definition: cs_ibm.h:185
bool porosity_from_nodes
Definition: cs_ibm.h:237
bool porosity_user_source_term_modification
Definition: cs_ibm.h:225
bool ensure_isovol
Definition: cs_ibm.h:235
int n_objects
Definition: cs_ibm.h:210
cs_ibm_prob_dim_type_t prob_dim
Definition: cs_ibm.h:215
cs_real_t isovol
Definition: cs_ibm.h:233
int nb_cut_faces
Definition: cs_ibm.h:223
cs_ibm_algo_type_t algo_choice
Definition: cs_ibm.h:217
cs_real_3_t xyzmax_moving_porosity
Definition: cs_ibm.h:229
cs_real_t * solid_porosity
Definition: cs_ibm.h:231
cs_real_3_t xyzmin_moving_porosity
Definition: cs_ibm.h:227
cs_ibm_object_t ** objects
Definition: cs_ibm.h:211
int nb_cut_cells
Definition: cs_ibm.h:221
cs_ibm_wall_cond_type_t wall_condition
Definition: cs_ibm.h:219
Definition: cs_mesh_quantities.h:92
int porosity_mode
Definition: cs_ibm.h:164
Structure storing medata for defining a quantity in a very flexible way.
Definition: cs_xdef.h:160