Public Types | Public Member Functions | Public Attributes | List of all members
MixTransport::CommonMaterialData Struct Reference

#include <users_modules/tutorials/other_tutorials/mix_transport/src/MaterialUnsaturatedFlow.hpp>

Inheritance diagram for MixTransport::CommonMaterialData:
Collaboration diagram for MixTransport::CommonMaterialData:

Public Types

typedef boost::function< boost::shared_ptr< CommonMaterialData > const CommonMaterialData &data)> RegisterHook

Public Member Functions

 CommonMaterialData ()
double initialPcEval () const
 Initialize head. More...
void addOptions (po::options_description &o, const std::string &prefix)
void printMatParameters (const int id, const std::string &prefix) const
- Public Member Functions inherited from MixTransport::GenericMaterial
virtual ~GenericMaterial ()
virtual MoFEMErrorCode calK ()
virtual MoFEMErrorCode calDiffK ()
virtual MoFEMErrorCode calC ()
virtual MoFEMErrorCode calDiffC ()
virtual MoFEMErrorCode calTheta ()
virtual MoFEMErrorCode calSe ()

Public Attributes

int blockId
 Block Id. More...
std::string matName
 material name More...
double Ks
 Saturated hydraulic conductivity [m/day]. More...
double hS
 minimum capillary height [m] More...
double thetaS
 saturated water content More...
double thetaR
 residual water contents More...
double thetaM
 model parameter More...
double alpha
 model parameter More...
double n
 model parameter More...
double Ah
 Initial hydraulic head coefficient. More...
double AhZ
 Initial hydraulic head coefficient. More...
double AhZZ
 Initial hydraulic head coefficient. More...
- Public Attributes inherited from MixTransport::GenericMaterial
double sCale
 Scale time dependent eq. More...
double h
 hydraulic head More...
double h_t
 rate of hydraulic head More...
double K
 Hydraulic conductivity [L/s]. More...
double diffK
 Derivative of hydraulic conductivity [L/s * L^2/F]. More...
double C
 Capacity [S^2/L^2]. More...
double diffC
 Derivative of capacity [S^2/L^2 * L^2/F ]. More...
double tHeta
 Water content. More...
double Se
 Effective saturation. More...
Range tEts
 Elements with this material. More...
double x
double y
double z
 in meters (L) More...

Additional Inherited Members

- Static Public Attributes inherited from MixTransport::GenericMaterial
static double ePsilon0 = 0
 Regularization parameter. More...
static double ePsilon1 = 0
 Regularization parameter. More...
static double scaleZ = 1
 Scale z direction. More...

Detailed Description


Definition at line 13 of file MaterialUnsaturatedFlow.hpp.

Member Typedef Documentation

◆ RegisterHook

typedef boost::function<boost::shared_ptr<CommonMaterialData> const CommonMaterialData &data)> MixTransport::CommonMaterialData::RegisterHook

Definition at line 99 of file MaterialUnsaturatedFlow.hpp.

Constructor & Destructor Documentation

◆ CommonMaterialData()

MixTransport::CommonMaterialData::CommonMaterialData ( )

Definition at line 15 of file MaterialUnsaturatedFlow.hpp.

15  {
16  blockId = 0;
17  matName = "SimpleDarcy";
18  sCale = 1;
19  thetaS = 0.38;
20  thetaM = 0.38;
21  thetaR = 0.068;
22  alpha = 0.8;
23  n = 1.09;
24  Ks = 0.048;
25  hS = 0;
26  Ah = 0.;
27  AhZ = 0.;
28  AhZZ = 0;
29  }

Member Function Documentation

◆ addOptions()

void MixTransport::CommonMaterialData::addOptions ( po::options_description &  o,
const std::string &  prefix 

Definition at line 49 of file MaterialUnsaturatedFlow.hpp.

49  {
50  o.add_options()((prefix + ".material_name").c_str(),
51  po::value<std::string>(&matName)->default_value(matName))(
52  (prefix + ".ePsilon0").c_str(),
53  po::value<double>(&ePsilon0)->default_value(ePsilon0))(
54  (prefix + ".ePsilon1").c_str(),
55  po::value<double>(&ePsilon1)->default_value(ePsilon1))(
56  (prefix + ".sCale").c_str(),
57  po::value<double>(&sCale)->default_value(sCale))(
58  (prefix + ".thetaS").c_str(),
59  po::value<double>(&thetaS)->default_value(thetaS))(
60  (prefix + ".thetaR").c_str(),
61  po::value<double>(&thetaR)->default_value(thetaR))(
62  (prefix + ".thetaM").c_str(),
63  po::value<double>(&thetaM)->default_value(thetaM))(
64  (prefix + ".alpha").c_str(),
65  po::value<double>(&alpha)->default_value(alpha))(
66  (prefix + ".n").c_str(), po::value<double>(&n)->default_value(n))(
67  (prefix + ".hS").c_str(), po::value<double>(&hS)->default_value(hS))(
68  (prefix + ".Ks").c_str(), po::value<double>(&Ks)->default_value(Ks))(
69  (prefix + ".Ah").c_str(), po::value<double>(&Ah)->default_value(Ah))(
70  (prefix + ".AhZ").c_str(), po::value<double>(&AhZ)->default_value(AhZ))(
71  (prefix + ".AhZZ").c_str(),
72  po::value<double>(&AhZZ)->default_value(AhZZ))(
73  (prefix + ".scaleZ").c_str(),
74  po::value<double>(&scaleZ)->default_value(scaleZ));
75  }

◆ initialPcEval()

double MixTransport::CommonMaterialData::initialPcEval ( ) const

Initialize head.

value of head

Implements MixTransport::GenericMaterial.

Definition at line 47 of file MaterialUnsaturatedFlow.hpp.

47 { return Ah + AhZ * z + AhZZ * z * z; }

◆ printMatParameters()

void MixTransport::CommonMaterialData::printMatParameters ( const int  id,
const std::string &  prefix 
) const

Implements MixTransport::GenericMaterial.


Definition at line 77 of file MaterialUnsaturatedFlow.hpp.

77  {
78  PetscPrintf(PETSC_COMM_WORLD, "Mat name %s-%s block id %d\n",
79  prefix.c_str(), matName.c_str(), id);
80  PetscPrintf(PETSC_COMM_WORLD, "Material name: %s\n", matName.c_str());
81  PetscPrintf(PETSC_COMM_WORLD, "thetaS=%6.4g\n", thetaS);
82  PetscPrintf(PETSC_COMM_WORLD, "thetaR=%6.4g\n", thetaR);
83  PetscPrintf(PETSC_COMM_WORLD, "thetaM=%6.4g\n", thetaM);
84  PetscPrintf(PETSC_COMM_WORLD, "alpha=%6.4g\n", alpha);
85  PetscPrintf(PETSC_COMM_WORLD, "n=%6.4g\n", n);
86  PetscPrintf(PETSC_COMM_WORLD, "hS=%6.4g\n", hS);
87  PetscPrintf(PETSC_COMM_WORLD, "Ks=%6.4g\n", Ks);
88  PetscPrintf(PETSC_COMM_WORLD, "Ah=%6.4g\n", Ah);
89  PetscPrintf(PETSC_COMM_WORLD, "AhZ=%6.4g\n", AhZ);
90  PetscPrintf(PETSC_COMM_WORLD, "AhZZ=%6.4g\n", AhZZ);
91  PetscPrintf(PETSC_COMM_WORLD, "ePsilon0=%6.4g\n", ePsilon0);
92  PetscPrintf(PETSC_COMM_WORLD, "ePsilon1=%6.4g\n", ePsilon1);
93  PetscPrintf(PETSC_COMM_WORLD, "sCale=%6.4g\n", sCale);
94  PetscPrintf(PETSC_COMM_WORLD, "scaleZ=%6.4g\n", scaleZ);
95  }

Member Data Documentation

◆ Ah

double MixTransport::CommonMaterialData::Ah

Initial hydraulic head coefficient.

Definition at line 43 of file MaterialUnsaturatedFlow.hpp.

◆ AhZ

double MixTransport::CommonMaterialData::AhZ

Initial hydraulic head coefficient.

Definition at line 44 of file MaterialUnsaturatedFlow.hpp.

◆ AhZZ

double MixTransport::CommonMaterialData::AhZZ

Initial hydraulic head coefficient.

Definition at line 45 of file MaterialUnsaturatedFlow.hpp.

◆ alpha

double MixTransport::CommonMaterialData::alpha

model parameter

Definition at line 39 of file MaterialUnsaturatedFlow.hpp.

◆ blockId

int MixTransport::CommonMaterialData::blockId

Block Id.

Definition at line 31 of file MaterialUnsaturatedFlow.hpp.

◆ hS

double MixTransport::CommonMaterialData::hS

minimum capillary height [m]

Definition at line 35 of file MaterialUnsaturatedFlow.hpp.

◆ Ks

double MixTransport::CommonMaterialData::Ks

Saturated hydraulic conductivity [m/day].

Definition at line 34 of file MaterialUnsaturatedFlow.hpp.

◆ matName

std::string MixTransport::CommonMaterialData::matName

material name

Definition at line 32 of file MaterialUnsaturatedFlow.hpp.

◆ n

double MixTransport::CommonMaterialData::n

model parameter

Definition at line 40 of file MaterialUnsaturatedFlow.hpp.

◆ thetaM

double MixTransport::CommonMaterialData::thetaM

model parameter

Definition at line 38 of file MaterialUnsaturatedFlow.hpp.

◆ thetaR

double MixTransport::CommonMaterialData::thetaR

residual water contents

Definition at line 37 of file MaterialUnsaturatedFlow.hpp.

◆ thetaS

double MixTransport::CommonMaterialData::thetaS

saturated water content

Definition at line 36 of file MaterialUnsaturatedFlow.hpp.

The documentation for this struct was generated from the following file:
static Index< 'o', 3 > o
Definition: BasicFeTools.hpp:79
double AhZZ
Initial hydraulic head coefficient.
Definition: MaterialUnsaturatedFlow.hpp:45
double thetaM
model parameter
Definition: MaterialUnsaturatedFlow.hpp:38
int blockId
Block Id.
Definition: MaterialUnsaturatedFlow.hpp:31
double thetaS
saturated water content
Definition: MaterialUnsaturatedFlow.hpp:36
static double ePsilon0
Regularization parameter.
Definition: UnsaturatedFlow.hpp:39
double Ks
Saturated hydraulic conductivity [m/day].
Definition: MaterialUnsaturatedFlow.hpp:34
double AhZ
Initial hydraulic head coefficient.
Definition: MaterialUnsaturatedFlow.hpp:44
static double scaleZ
Scale z direction.
Definition: UnsaturatedFlow.hpp:41
double alpha
model parameter
Definition: MaterialUnsaturatedFlow.hpp:39
double hS
minimum capillary height [m]
Definition: MaterialUnsaturatedFlow.hpp:35
double thetaR
residual water contents
Definition: MaterialUnsaturatedFlow.hpp:37
double sCale
Scale time dependent eq.
Definition: UnsaturatedFlow.hpp:43
double z
in meters (L)
Definition: UnsaturatedFlow.hpp:57
static double ePsilon1
Regularization parameter.
Definition: UnsaturatedFlow.hpp:40
double Ah
Initial hydraulic head coefficient.
Definition: MaterialUnsaturatedFlow.hpp:43
std::string matName
material name
Definition: MaterialUnsaturatedFlow.hpp:32
double n
model parameter
Definition: MaterialUnsaturatedFlow.hpp:40