feelpp_hm_heat_moisture

1. Name

feelpp_hm_heat_moisture - heat and moisture transfer toolbox application.

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.

Table 1. Table of command-line feelpp_hm_heat_moisture options
Name Description Default value Possible Values

ts.time-step

time between two steps of the simulation (in second)

1

ts.time-final

final time of the simulation (in second)

1

hm.export

times where solution is exported

all

all or {t0,t1,…​}

hm.picard

enable or disable the substeps with the Picard loop

false

false or true

picard.tol

Picard tolerance

1E-5

picard.relax

Picard relaxation

0.5

picard.maxiter

picard maximum iteration

20

picard.verbose

picard verbose iteration

true

{heat|moisture}.ksp-monitor

monitor the Krylov Subspace iterations

0

0,1

{heat|moisture}.ksp-view

view the Krylov Subspace structure

0

0,1

{heat|moisture}.ksp-type

change the Krylov Subspace method

gmres

see PETSc documentation

{heat|moisture}.pc-view

view the Krylov Subspace structure

0

0,1

{heat|moisture}.pc-type

change the Krylov Subspace strategy

lu

see PETSc documentation

{heat|moisture}.snes-monitor

if applicable, monitor the non-linear solver iterations

0

0,1

{heat|moisture}.snes-type

if applicable, change the non-linear solver iterations

newtonls

see PETSc documentation

fit.datafile

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 and Neumann.

Initial Conditions

See the Feel++ documentation. The initial conditions are applied to T and phi.

Post Process

See the Feel++ documentation. Only the Exports section is available.