KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
#include <retention_law.h>
Classes | |
class | Parameters |
Public Types | |
using | ProcessInfoType = ProcessInfo |
using | SizeType = std::size_t |
using | GeometryType = Geometry< Node > |
Public Member Functions | |
KRATOS_CLASS_POINTER_DEFINITION (RetentionLaw) | |
RetentionLaw ()=default | |
virtual | ~RetentionLaw ()=default |
virtual RetentionLaw::Pointer | Clone () const =0 |
Clone function (has to be implemented by any derived class) More... | |
virtual double & | CalculateValue (Parameters &rParameters, const Variable< double > &rThisVariable, double &rValue)=0 |
Calculates the value of a specified variable (double) More... | |
virtual double | CalculateSaturation (Parameters &rParameters)=0 |
virtual double | CalculateEffectiveSaturation (Parameters &rParameters)=0 |
virtual double | CalculateDerivativeOfSaturation (Parameters &rParameters)=0 |
virtual double | CalculateRelativePermeability (Parameters &rParameters)=0 |
virtual double | CalculateBishopCoefficient (Parameters &rParameters)=0 |
virtual void | InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) |
virtual void | Initialize (Parameters &rParameters) |
virtual void | InitializeSolutionStep (Parameters &rParameters) |
virtual void | FinalizeSolutionStep (Parameters &rParameters) |
virtual void | Finalize (Parameters &rParameters) |
virtual void | ResetMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) |
virtual int | Check (const Properties &rMaterialProperties, const ProcessInfo &rCurrentProcessInfo)=0 |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Static Public Member Functions | |
static bool | HasSameType (const RetentionLaw &rLHS, const RetentionLaw &rRHS) |
This method is used to check that two Retention Laws are the same type (references) More... | |
static bool | HasSameType (const RetentionLaw *rLHS, const RetentionLaw *rRHS) |
This method is used to check that tow Retention Laws are the same type (pointers) More... | |
Friends | |
class | Serializer |
Base class of retention laws.
Type definitions NOTE: geometries are assumed to be of type Node for all problems
using Kratos::RetentionLaw::SizeType = std::size_t |
|
default |
|
virtualdefault |
|
pure virtual |
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
pure virtual |
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
pure virtual |
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
pure virtual |
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
pure virtual |
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
pure virtual |
Calculates the value of a specified variable (double)
rParameterValues | the needed parameters for the CL calculation |
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
pure virtual |
This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors.
rMaterialProperties | |
rElementGeometry | |
rCurrentProcessInfo |
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
pure virtual |
Clone function (has to be implemented by any derived class)
Implemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
virtual |
Finalize the material response in terms of Cauchy stresses
Reimplemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
virtual |
to be called at the end of each solution step (e.g. from Element::FinalizeSolutionStep)
Reimplemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
inlinestatic |
This method is used to check that two Retention Laws are the same type (references)
rLHS | The first argument |
rRHS | The second argument |
|
inlinestatic |
This method is used to check that tow Retention Laws are the same type (pointers)
rLHS | The first argument |
rRHS | The second argument |
|
inlinevirtual |
Turn back information as a string.
|
virtual |
Reimplemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
virtual |
This is to be called at the very beginning of the calculation (e.g. from InitializeElement) in order to initialize all relevant attributes of the retention law
rMaterialProperties | the Properties instance of the current element |
rElementGeometry | the geometry of the current element |
rCurrentProcessInfo | process info |
Reimplemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
|
virtual |
to be called at the beginning of each solution step (e.g. from Element::InitializeSolutionStep)
Reimplemented in Kratos::VanGenuchtenLaw, Kratos::SaturatedLaw, and Kratos::SaturatedBelowPhreaticLevelLaw.
Kratos::RetentionLaw::KRATOS_CLASS_POINTER_DEFINITION | ( | RetentionLaw | ) |
Counted pointer of RetentionLaw
|
inlinevirtual |
Print object's data.
|
inlinevirtual |
Print information about this object.
|
virtual |
This can be used in order to reset all internal variables of the retention law (e.g. if a model should be reset to its reference state)
rMaterialProperties | the Properties instance of the current element |
rElementGeometry | the geometry of the current element |
rShapeFunctionsValues | the shape functions values in the current integration point |
the | current ProcessInfo instance |
|
friend |