1#ifndef __CS_SOLIDIFICATION_H__
2#define __CS_SOLIDIFICATION_H__
92#define CS_SOLIDIFICATION_POST_CELL_STATE (1 << 0)
93#define CS_SOLIDIFICATION_POST_ENTHALPY (1 << 1)
94#define CS_SOLIDIFICATION_POST_CBULK_ADIM (1 << 2)
95#define CS_SOLIDIFICATION_POST_CLIQ (1 << 3)
96#define CS_SOLIDIFICATION_POST_LIQUIDUS_TEMPERATURE (1 << 4)
97#define CS_SOLIDIFICATION_POST_SEGREGATION_INDEX (1 << 5)
98#define CS_SOLIDIFICATION_POST_SOLIDIFICATION_RATE (1 << 6)
99#define CS_SOLIDIFICATION_ADVANCED_ANALYSIS (1 << 7)
132#define CS_SOLIDIFICATION_USE_ENTHALPY_VARIABLE (1 << 0)
133#define CS_SOLIDIFICATION_NO_VELOCITY_FIELD (1 << 1)
134#define CS_SOLIDIFICATION_WITH_SOLUTE_SOURCE_TERM (1 << 2)
135#define CS_SOLIDIFICATION_USE_EXTRAPOLATION (1 << 3)
136#define CS_SOLIDIFICATION_WITH_PENALIZED_EUTECTIC (1 << 4)
155#define CS_SOLIDIFICATION_BINARY_ALLOY_M_FUNC (1 << 7)
156#define CS_SOLIDIFICATION_BINARY_ALLOY_C_FUNC (1 << 8)
157#define CS_SOLIDIFICATION_BINARY_ALLOY_G_FUNC (1 << 9)
158#define CS_SOLIDIFICATION_BINARY_ALLOY_T_FUNC (1 <<10)
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
uint64_t cs_gnum_t
global mesh entity number
Definition: cs_defs.h:325
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:335
unsigned short int cs_flag_t
Definition: cs_defs.h:344
cs_flag_t cs_navsto_param_post_flag_t
Definition: cs_navsto_param.h:59
cs_navsto_param_coupling_t
Choice of algorithm for solving the system.
Definition: cs_navsto_param.h:229
cs_navsto_param_model_t
Describe the system of equations related to the Navier-Stokes to be solved.
Definition: cs_navsto_param.h:82
cs_flag_t cs_navsto_param_model_flag_t
Definition: cs_navsto_param.h:58
cs_param_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:606
void cs_solidification_compute(const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *time_step)
Solve equations related to the solidification module.
Definition: cs_solidification.cpp:5102
cs_solidification_binary_alloy_t * cs_solidification_get_binary_alloy_struct(void)
Get the structure defining the binary alloy model.
Definition: cs_solidification.cpp:3844
cs_solidification_voller_t * cs_solidification_check_voller_model(void)
Sanity checks on the consistency of the Voller's model settings.
Definition: cs_solidification.cpp:3740
void cs_solidification_set_strategy(cs_solidification_strategy_t strategy)
Set the strategy to update quantitiess (liquid fraction and the thermal source term for the two main ...
Definition: cs_solidification.cpp:4061
cs_solidification_binary_alloy_t * cs_solidification_check_binary_alloy_model(void)
Sanity checks on the consistency of the settings of the binary alloy model.
Definition: cs_solidification.cpp:3874
void() cs_solidification_func_t(const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *ts)
Function pointer associated to a solidification model aiming at updating/initializing the solidificat...
Definition: cs_solidification.h:267
void cs_solidification_extra_op(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *ts)
Predefined extra-operations for the solidification module.
Definition: cs_solidification.cpp:5158
void cs_solidification_init_values(const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *time_step)
Set an initial values for all quantities related to this module This is done after the setup step.
Definition: cs_solidification.cpp:4889
cs_solidification_stefan_t * cs_solidification_check_stefan_model(void)
Sanity checks on the consistency of the Stefan's model settings.
Definition: cs_solidification.cpp:3663
cs_solidification_t * cs_solidification_get_structure(void)
Retrieve the main structure to deal with solidification process.
Definition: cs_solidification.cpp:3214
cs_solidification_model_t
Type of physical model used to simulate the solidifcation/fusion process.
Definition: cs_solidification.h:195
@ CS_SOLIDIFICATION_MODEL_BINARY_ALLOY
Definition: cs_solidification.h:200
@ CS_SOLIDIFICATION_MODEL_VOLLER_NL
Definition: cs_solidification.h:199
@ CS_SOLIDIFICATION_MODEL_VOLLER_PRAKASH_87
Definition: cs_solidification.h:198
@ CS_SOLIDIFICATION_N_MODELS
Definition: cs_solidification.h:202
@ CS_SOLIDIFICATION_MODEL_STEFAN
Definition: cs_solidification.h:197
void cs_solidification_init_setup(void)
Setup equations/properties related to the solidification module.
Definition: cs_solidification.cpp:4315
cs_solidification_t * cs_solidification_destroy_all(void)
Free the main structure related to the solidification module.
Definition: cs_solidification.cpp:4220
cs_solidification_strategy_t
Kind of strategy to use to model the segregation/solidification process. This implies a setting of fu...
Definition: cs_solidification.h:243
@ CS_SOLIDIFICATION_STRATEGY_LEGACY
Definition: cs_solidification.h:245
@ CS_SOLIDIFICATION_STRATEGY_TAYLOR
Definition: cs_solidification.h:246
@ CS_SOLIDIFICATION_STRATEGY_PATH
Definition: cs_solidification.h:247
@ CS_SOLIDIFICATION_N_STRATEGIES
Definition: cs_solidification.h:249
void cs_solidification_set_binary_alloy_model(const char *name, const char *varname, cs_real_t beta_t, cs_real_t temp0, cs_real_t beta_c, cs_real_t conc0, cs_real_t kp, cs_real_t mliq, cs_real_t t_eutec, cs_real_t t_melt, cs_real_t solute_diff, cs_real_t latent_heat)
Set the main physical parameters which describe a solidification process with a binary alloy (with co...
Definition: cs_solidification.cpp:3933
void cs_solidification_finalize_setup(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant)
Finalize the setup stage for equations related to the solidification module.
Definition: cs_solidification.cpp:4476
void cs_solidification_set_verbosity(int verbosity)
Set the level of verbosity for the solidification module.
Definition: cs_solidification.cpp:3228
cs_solidification_t * cs_solidification_activate(cs_solidification_model_t model, cs_flag_t options, cs_flag_t post_flag, const cs_boundary_t *boundaries, cs_navsto_param_model_t ns_model, cs_navsto_param_model_flag_t ns_model_flag, cs_navsto_param_coupling_t algo_coupling, cs_navsto_param_post_flag_t ns_post_flag)
Activate the solidification module.
Definition: cs_solidification.cpp:3272
void cs_solidification_extra_post(void *input, int mesh_id, int cat_id, int ent_flag[5], cs_lnum_t n_cells, cs_lnum_t n_i_faces, cs_lnum_t n_b_faces, const cs_lnum_t cell_ids[], const cs_lnum_t i_face_ids[], const cs_lnum_t b_face_ids[], const cs_time_step_t *time_step)
Predefined post-processing output for the solidification module. Prototype of this function is fixed ...
Definition: cs_solidification.cpp:5320
cs_solidification_state_t
Kind of state in which a cell or an entity is.
Definition: cs_solidification.h:225
@ CS_SOLIDIFICATION_STATE_SOLID
Definition: cs_solidification.h:227
@ CS_SOLIDIFICATION_N_STATES
Definition: cs_solidification.h:232
@ CS_SOLIDIFICATION_STATE_LIQUID
Definition: cs_solidification.h:229
@ CS_SOLIDIFICATION_STATE_MUSHY
Definition: cs_solidification.h:228
@ CS_SOLIDIFICATION_STATE_EUTECTIC
Definition: cs_solidification.h:230
cs_solidification_voller_t * cs_solidification_get_voller_struct(void)
Get the structure defining the Voller model.
Definition: cs_solidification.cpp:3710
bool cs_solidification_is_activated(void)
Test if solidification module is activated.
Definition: cs_solidification.cpp:3197
void cs_solidification_set_stefan_model(cs_real_t t_change, cs_real_t latent_heat)
Set the main physical parameters which describe the Stefan model.
Definition: cs_solidification.cpp:3689
void cs_solidification_log_setup(void)
Summarize the solidification module in the log file dedicated to the setup.
Definition: cs_solidification.cpp:4674
void cs_solidification_set_kozeny_carman_parameters(double kozeny_constant, double tortuosity, double s_das)
Set the parameters involved in the computation of the permeability coefficient of the Kozeny-Carman r...
Definition: cs_solidification.cpp:3594
void cs_solidification_set_voller_model_no_velocity(cs_real_t t_solidus, cs_real_t t_liquidus, cs_real_t latent_heat)
Set the main physical parameters which describe the Voller and Prakash modelling.
Definition: cs_solidification.cpp:3815
cs_solidification_stefan_t * cs_solidification_get_stefan_struct(void)
Get the structure defining the Stefan model.
Definition: cs_solidification.cpp:3634
void cs_solidification_set_segr_functions(cs_solidification_func_t *vel_forcing, cs_solidification_func_t *cliq_update, cs_solidification_func_t *gliq_update, cs_solidification_func_t *thm_st_update)
Set the functions to perform the update of physical properties and/or the computation of the thermal ...
Definition: cs_solidification.cpp:4175
void cs_solidification_set_forcing_eps(cs_real_t forcing_eps)
Set the value of the epsilon parameter used in the forcing term of the momentum equation.
Definition: cs_solidification.cpp:3248
void cs_solidification_set_voller_model(cs_real_t beta, cs_real_t t_ref, cs_real_t t_solidus, cs_real_t t_liquidus, cs_real_t latent_heat)
Set the main physical parameters which describe the Voller and Prakash modelling.
Definition: cs_solidification.cpp:3776
struct _cs_time_plot_t cs_time_plot_t
Definition: cs_time_plot.h:48
Structure storing information related to the "physical" boundaries associated with the computational ...
Definition: cs_boundary.h:155
Definition: cs_cdo_connect.h:61
Definition: cs_cdo_quantities.h:139
Main structure to handle the discretization and the resolution of an equation.
Field descriptor.
Definition: cs_field.h:131
Structure to handle the convergence of an iterative algorithm.
Definition: cs_iter_algo.h:290
Structure associated to the definition of a property relying on the cs_xdef_t structure.
Definition: cs_solidification.h:363
cs_real_t * c_l_faces
Definition: cs_solidification.h:465
cs_real_t t_eut_inf
Definition: cs_solidification.h:391
cs_solidification_func_t * update_clc
Definition: cs_solidification.h:421
cs_real_t ml
Definition: cs_solidification.h:381
cs_real_t kp
Definition: cs_solidification.h:378
cs_real_t * eta_coef_array
Definition: cs_solidification.h:484
const cs_real_t * temp_faces
Definition: cs_solidification.h:469
cs_real_t inv_ml
Definition: cs_solidification.h:382
cs_field_t * c_bulk
Definition: cs_solidification.h:474
cs_real_t * c_l_cells
Definition: cs_solidification.h:464
cs_solidification_func_t * update_velocity_forcing
Definition: cs_solidification.h:417
cs_solidification_func_t * update_thm_st
Definition: cs_solidification.h:413
cs_equation_t * solute_equation
Definition: cs_solidification.h:473
cs_real_t * t_liquidus
Definition: cs_solidification.h:491
cs_real_t t_melt
Definition: cs_solidification.h:386
cs_real_t * cliq_minus_cbulk
Definition: cs_solidification.h:496
cs_real_t dgldC_eut
Definition: cs_solidification.h:396
cs_real_t * tk_bulk
Definition: cs_solidification.h:455
double gliq_relax
Definition: cs_solidification.h:441
cs_real_t inv_kpm1
Definition: cs_solidification.h:380
cs_real_t inv_kp
Definition: cs_solidification.h:379
cs_real_t t_eut
Definition: cs_solidification.h:390
cs_real_t cs1
Definition: cs_solidification.h:395
cs_real_t t_eut_sup
Definition: cs_solidification.h:392
cs_real_t * tx_bulk
Definition: cs_solidification.h:457
cs_property_t * diff_pty
Definition: cs_solidification.h:480
double delta_tolerance
Definition: cs_solidification.h:439
cs_real_t diff_coef
Definition: cs_solidification.h:479
cs_real_t * tbulk_minus_tliq
Definition: cs_solidification.h:495
int n_iter_max
Definition: cs_solidification.h:438
cs_real_t ref_concentration
Definition: cs_solidification.h:371
cs_real_t * ck_bulk
Definition: cs_solidification.h:456
int iter
Definition: cs_solidification.h:437
cs_real_t c_eut
Definition: cs_solidification.h:394
cs_real_t * diff_pty_array
Definition: cs_solidification.h:481
cs_solidification_func_t * update_gl
Definition: cs_solidification.h:409
cs_real_t * cx_bulk
Definition: cs_solidification.h:458
cs_property_t * eta_coef_pty
Definition: cs_solidification.h:483
double eta_relax
Definition: cs_solidification.h:440
Definition: cs_solidification.h:283
cs_solidification_func_t * update_thm_st
Definition: cs_solidification.h:304
int n_iter_max
Definition: cs_solidification.h:309
cs_solidification_func_t * update_gl
Definition: cs_solidification.h:300
cs_real_t t_change
Definition: cs_solidification.h:293
double max_delta_h
Definition: cs_solidification.h:310
Definition: cs_solidification.h:504
cs_property_t * mass_density
Definition: cs_solidification.h:518
cs_solidification_strategy_t strategy
Definition: cs_solidification.h:587
int verbosity
Definition: cs_solidification.h:511
double forcing_coef
Definition: cs_solidification.h:624
cs_property_t * g_l
Definition: cs_solidification.h:543
cs_flag_t options
Definition: cs_solidification.h:507
cs_time_plot_t * plot_state
Definition: cs_solidification.h:551
cs_field_t * g_l_field
Definition: cs_solidification.h:541
cs_field_t * enthalpy
Definition: cs_solidification.h:570
cs_property_t * viscosity
Definition: cs_solidification.h:529
cs_real_t * forcing_mom_array
Definition: cs_solidification.h:594
cs_real_t latent_heat
Definition: cs_solidification.h:535
cs_real_t * thermal_source_term_array
Definition: cs_solidification.h:577
cs_flag_t post_flag
Definition: cs_solidification.h:509
cs_field_t * temperature
Definition: cs_solidification.h:565
cs_thermal_system_t * thermal_sys
Definition: cs_solidification.h:561
cs_solidification_state_t * cell_state
Definition: cs_solidification.h:547
cs_flag_t model
Definition: cs_solidification.h:506
double kozeny_constant
Definition: cs_solidification.h:622
double s_das
Definition: cs_solidification.h:621
cs_real_t * thermal_reaction_coef_array
Definition: cs_solidification.h:576
double tortuosity
Definition: cs_solidification.h:623
cs_property_t * forcing_mom
Definition: cs_solidification.h:596
cs_property_t * thermal_reaction_coef
Definition: cs_solidification.h:575
cs_lnum_t first_cell
Definition: cs_solidification.h:629
cs_property_t * cp
Definition: cs_solidification.h:523
void * model_context
Definition: cs_solidification.h:581
Definition: cs_solidification.h:326
cs_solidification_func_t * update_thm_st
Definition: cs_solidification.h:348
cs_iter_algo_t * nl_algo
Definition: cs_solidification.h:354
cs_real_t t_solidus
Definition: cs_solidification.h:336
cs_solidification_func_t * update_gl
Definition: cs_solidification.h:344
cs_real_t t_liquidus
Definition: cs_solidification.h:337
cs_param_nl_algo_t nl_algo_type
Definition: cs_solidification.h:353
Definition: cs_thermal_system.h:132
time step descriptor
Definition: cs_time_step.h:64