feelpp_hm_heat_moisture
2. Synopsis
feelpp_hm_heat_moisture --case <directory to model case> --mod-file <path to json file> [--ts.time-step <time step>] [--ts.time-final <time final>] [--hm.export {all | <times vector>}] [--hm.picard {true|false}] [--fit.datafile <C_pw file name>]
3. Desciption
feelpp_hm_heat_moisture
is an application which can run heat and moisture transfer model defined by a set of files : a geometry or mesh, a config file(.cfg
) and a model file(.json
).
The execution steps are as follows :
-
load the model
-
load the mesh
-
setup model (materials, initial and boundary condition)
-
execute the simuation
-
post-process the resuls, viewable in paraview or ensight
3.1. Options
feelpp_hm_heat_moisture
requires some options.
Name | Description | Default value | Possible Values |
---|---|---|---|
|
time between two steps of the simulation (in second) |
1 |
|
|
final time of the simulation (in second) |
1 |
|
|
times where solution is exported |
|
|
|
enable or disable the substeps with the Picard loop |
|
|
|
Picard tolerance |
|
|
|
Picard relaxation |
|
|
|
picard maximum iteration |
|
|
|
picard verbose iteration |
|
|
|
monitor the Krylov Subspace iterations |
0 |
0,1 |
|
view the Krylov Subspace structure |
0 |
0,1 |
|
change the Krylov Subspace method |
|
|
|
view the Krylov Subspace structure |
0 |
0,1 |
|
change the Krylov Subspace strategy |
|
|
|
if applicable, monitor the non-linear solver iterations |
0 |
0,1 |
|
if applicable, change the non-linear solver iterations |
|
|
|
If needed, path to the csv file containing the data of the water heat capacity at constant pressure \(C_{p,w}\) depending on the temperature. Such a file can be found here |
3.2. JSON file
- Parameters
-
Set the values of the parameters for the simulation, that don’t depend on the physic.
"Parameters":
{
"name1":"value1",
"name2":"value2",
...
}
The possible parameter names are : Mw
, T_ref
, R_h20
, rho_w
, L_v
, Q
, G
. To see to what correspond thoses parameters, see the documentation.
- Materials
-
Define the domain, and the physic which is applied on that domain. This section allows to define the coefficients that depend on the physic (constant or not). Here is an example of usage.
"Materials":
{
"Omega":
{
"physics":["heat-moisture"],
"markers":["Omega"],
"rho_sC_ps":"1.824e6",
"w":"146. / pow(1 + pow((-8e-8)*R_h20 * T_ref * rho_w * log(phi),1.6),.375):R_h20:T_ref:rho_w:phi",
"p_suc":"0.125e8 * pow( pow(146./w,1./.375) - 1,0.625 ):w",
"delta_p":"( 1 / ( R_h20 * T_ref ) ) * 0.00000013 * (1 - w/146) / (0.503 * pow(1 - w/146,2.) + 0.497):R_h20:T_ref:w",
"K":"exp( -39.2619 + 0.0704*(w-73) - 1.7420e-4*pow(w-73,2) - 2.7953e-6*pow(w-73,3) - 1.1566e-7*pow(w-73,4) + 2.5969e-9*pow(w-73,5)):w",
"k_eff":"1.5 + 15.8/1000 * w:w"
}
}
The different physic names available are : heat
, moisture
and heat-moisture
.
- Boundary Conditions
-
See the Feel++ documentation. The boundary conditions possible are
Dirichlet
andNeumann
. - Initial Conditions
-
See the Feel++ documentation. The initial conditions are applied to
T
andphi
. - Post Process
-
See the Feel++ documentation. Only the
Exports
section is available.