v0.14.0
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
MixTransport::GenericMaterial Struct Referenceabstract

Generic material model for unsaturated water transport. More...

#include <users_modules/tutorials/cor-0to1/src/UnsaturatedFlow.hpp>

Inheritance diagram for MixTransport::GenericMaterial:
[legend]
Collaboration diagram for MixTransport::GenericMaterial:
[legend]

Public Member Functions

virtual ~GenericMaterial ()
 
virtual double initialPcEval () const =0
 Initialize head. More...
 
virtual void printMatParameters (const int id, const std::string &prefix) const =0
 
virtual MoFEMErrorCode calK ()
 
virtual MoFEMErrorCode calDiffK ()
 
virtual MoFEMErrorCode calC ()
 
virtual MoFEMErrorCode calDiffC ()
 
virtual MoFEMErrorCode calTheta ()
 
virtual MoFEMErrorCode calSe ()
 

Public Attributes

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

Static Public Attributes

static double ePsilon0 = 0
 Regularization parameter. More...
 
static double ePsilon1 = 0
 Regularization parameter. More...
 
static double scaleZ = 1
 Scale z direction. More...
 

Detailed Description

Generic material model for unsaturated water transport.

Note
This is abstact class, no physical material model is implemented here.

Definition at line 22 of file UnsaturatedFlow.hpp.

Constructor & Destructor Documentation

◆ ~GenericMaterial()

virtual MixTransport::GenericMaterial::~GenericMaterial ( )
inlinevirtual
Examples
UnsaturatedFlow.hpp.

Definition at line 24 of file UnsaturatedFlow.hpp.

24 {}

Member Function Documentation

◆ calC()

virtual MoFEMErrorCode MixTransport::GenericMaterial::calC ( )
inlinevirtual

Reimplemented in MixTransport::MaterialWithAutomaticDifferentiation, and MixTransport::MaterialDarcy.

Examples
UnsaturatedFlow.hpp.

Definition at line 69 of file UnsaturatedFlow.hpp.

69  {
71  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
72  "Not implemented how to calculate capacity");
74  }

◆ calDiffC()

virtual MoFEMErrorCode MixTransport::GenericMaterial::calDiffC ( )
inlinevirtual

Reimplemented in MixTransport::MaterialWithAutomaticDifferentiation, and MixTransport::MaterialDarcy.

Examples
UnsaturatedFlow.hpp.

Definition at line 76 of file UnsaturatedFlow.hpp.

76  {
78  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
79  "Not implemented how to calculate capacity");
81  }

◆ calDiffK()

virtual MoFEMErrorCode MixTransport::GenericMaterial::calDiffK ( )
inlinevirtual

Reimplemented in MixTransport::MaterialWithAutomaticDifferentiation, and MixTransport::MaterialDarcy.

Examples
UnsaturatedFlow.hpp.

Definition at line 61 of file UnsaturatedFlow.hpp.

61  {
63  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
64  "Not implemented how to calculate derivative of hydraulic "
65  "conductivity");
67  }

◆ calK()

virtual MoFEMErrorCode MixTransport::GenericMaterial::calK ( )
inlinevirtual

Reimplemented in MixTransport::MaterialWithAutomaticDifferentiation, and MixTransport::MaterialDarcy.

Examples
UnsaturatedFlow.hpp.

Definition at line 54 of file UnsaturatedFlow.hpp.

54  {
56  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
57  "Not implemented how to calculate hydraulic conductivity");
59  }

◆ calSe()

virtual MoFEMErrorCode MixTransport::GenericMaterial::calSe ( )
inlinevirtual

Reimplemented in MixTransport::MaterialWithAutomaticDifferentiation, and MixTransport::MaterialDarcy.

Examples
UnsaturatedFlow.hpp.

Definition at line 90 of file UnsaturatedFlow.hpp.

90  {
92  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
93  "Not implemented how to calculate capacity");
95  }

◆ calTheta()

virtual MoFEMErrorCode MixTransport::GenericMaterial::calTheta ( )
inlinevirtual

Reimplemented in MixTransport::MaterialWithAutomaticDifferentiation, and MixTransport::MaterialDarcy.

Examples
UnsaturatedFlow.hpp.

Definition at line 83 of file UnsaturatedFlow.hpp.

83  {
85  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
86  "Not implemented how to calculate capacity");
88  }

◆ initialPcEval()

virtual double MixTransport::GenericMaterial::initialPcEval ( ) const
pure virtual

Initialize head.

Returns
value of head

Implemented in MixTransport::CommonMaterialData.

Examples
UnsaturatedFlow.hpp.

◆ printMatParameters()

virtual void MixTransport::GenericMaterial::printMatParameters ( const int  id,
const std::string &  prefix 
) const
pure virtual

Member Data Documentation

◆ C

double MixTransport::GenericMaterial::C

Capacity [S^2/L^2].

Examples
UnsaturatedFlow.hpp.

Definition at line 37 of file UnsaturatedFlow.hpp.

◆ diffC

double MixTransport::GenericMaterial::diffC

Derivative of capacity [S^2/L^2 * L^2/F ].

Examples
UnsaturatedFlow.hpp.

Definition at line 38 of file UnsaturatedFlow.hpp.

◆ diffK

double MixTransport::GenericMaterial::diffK

Derivative of hydraulic conductivity [L/s * L^2/F].

Examples
UnsaturatedFlow.hpp.

Definition at line 36 of file UnsaturatedFlow.hpp.

◆ ePsilon0

double GenericMaterial::ePsilon0 = 0
static

Regularization parameter.

Examples
UnsaturatedFlow.hpp.

Definition at line 26 of file UnsaturatedFlow.hpp.

◆ ePsilon1

double GenericMaterial::ePsilon1 = 0
static

Regularization parameter.

Examples
UnsaturatedFlow.hpp.

Definition at line 27 of file UnsaturatedFlow.hpp.

◆ h

double MixTransport::GenericMaterial::h

hydraulic head

Examples
UnsaturatedFlow.hpp.

Definition at line 32 of file UnsaturatedFlow.hpp.

◆ h_t

double MixTransport::GenericMaterial::h_t

rate of hydraulic head

Examples
UnsaturatedFlow.hpp.

Definition at line 33 of file UnsaturatedFlow.hpp.

◆ K

double MixTransport::GenericMaterial::K

Hydraulic conductivity [L/s].

Examples
UnsaturatedFlow.hpp.

Definition at line 35 of file UnsaturatedFlow.hpp.

◆ sCale

double MixTransport::GenericMaterial::sCale

Scale time dependent eq.

Examples
UnsaturatedFlow.hpp.

Definition at line 30 of file UnsaturatedFlow.hpp.

◆ scaleZ

double GenericMaterial::scaleZ = 1
static

Scale z direction.

Examples
UnsaturatedFlow.hpp.

Definition at line 28 of file UnsaturatedFlow.hpp.

◆ Se

double MixTransport::GenericMaterial::Se

Effective saturation.

Examples
UnsaturatedFlow.hpp.

Definition at line 40 of file UnsaturatedFlow.hpp.

◆ tEts

Range MixTransport::GenericMaterial::tEts

Elements with this material.

Examples
UnsaturatedFlow.hpp.

Definition at line 42 of file UnsaturatedFlow.hpp.

◆ tHeta

double MixTransport::GenericMaterial::tHeta

Water content.

Examples
UnsaturatedFlow.hpp.

Definition at line 39 of file UnsaturatedFlow.hpp.

◆ x

double MixTransport::GenericMaterial::x
Examples
UnsaturatedFlow.hpp.

Definition at line 44 of file UnsaturatedFlow.hpp.

◆ y

double MixTransport::GenericMaterial::y
Examples
UnsaturatedFlow.hpp.

Definition at line 44 of file UnsaturatedFlow.hpp.

◆ z

double MixTransport::GenericMaterial::z

in meters (L)

Examples
UnsaturatedFlow.hpp.

Definition at line 44 of file UnsaturatedFlow.hpp.


The documentation for this struct was generated from the following files:
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MOFEM_NOT_IMPLEMENTED
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346