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.
List of all members
Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw > Class Template Reference

This is a viscous law using Maxwell formulation. More...

#include <viscous_generalized_maxwell.h>

Inheritance diagram for Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >:
Collaboration diagram for Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >:

Public Member Functions

Life Cycle
 ViscousGeneralizedMaxwell ()
 Default constructor. More...
 
ConstitutiveLaw::Pointer Clone () const override
 Clone. More...
 
 ViscousGeneralizedMaxwell (const ViscousGeneralizedMaxwell &rOther)
 Copy constructor. More...
 
 ~ViscousGeneralizedMaxwell () override
 Destructor. More...
 
Operations
void CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 
void CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 
void CalculateMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 
void CalculateMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 
MatrixCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 Calculates the value of a specified variable (Matrix) More...
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 This function provides the place to perform checks on the completeness of the input. More...
 
bool RequiresInitializeMaterialResponse () override
 If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More...
 
bool RequiresFinalizeMaterialResponse () override
 If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More...
 

Type Definitions

typedef ConstitutiveLaw CLBaseType
 Definition of the base CL class. More...
 
typedef TElasticBehaviourLaw BaseType
 Definition of the base class. More...
 
typedef std::size_t IndexType
 The index definition. More...
 
typedef std::size_t SizeType
 The size definition. More...
 
typedef Node NodeType
 The node definition. More...
 
typedef Geometry< NodeTypeGeometryType
 The geometry definition. More...
 
static constexpr SizeType Dimension = TElasticBehaviourLaw::Dimension
 Static definition of the dimension. More...
 
static constexpr SizeType VoigtSize = TElasticBehaviourLaw::VoigtSize
 Static definition of the VoigtSize. More...
 
static constexpr double tolerance = std::numeric_limits<double>::epsilon()
 Definition of the machine precision tolerance. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ViscousGeneralizedMaxwell)
 Counted pointer of GenericYieldSurface. More...
 

Un accessible methods

class Serializer
 

Detailed Description

template<class TElasticBehaviourLaw>
class Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >

This is a viscous law using Maxwell formulation.

The definition of a maxwell material can be found in https://en.wikipedia.org/wiki/Maxwell_material This definition consists in a spring and a damper in serial

      -----^^^^^^-----------[------
           Spring (K)   Damper (C)

The Maxwell law requires the definition of the following properties:

Member Typedef Documentation

◆ BaseType

template<class TElasticBehaviourLaw >
typedef TElasticBehaviourLaw Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::BaseType

Definition of the base class.

◆ CLBaseType

template<class TElasticBehaviourLaw >
typedef ConstitutiveLaw Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::CLBaseType

Definition of the base CL class.

◆ GeometryType

template<class TElasticBehaviourLaw >
typedef Geometry<NodeType> Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::GeometryType

The geometry definition.

◆ IndexType

template<class TElasticBehaviourLaw >
typedef std::size_t Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::IndexType

The index definition.

◆ NodeType

template<class TElasticBehaviourLaw >
typedef Node Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::NodeType

The node definition.

◆ SizeType

template<class TElasticBehaviourLaw >
typedef std::size_t Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::SizeType

The size definition.

Constructor & Destructor Documentation

◆ ViscousGeneralizedMaxwell() [1/2]

template<class TElasticBehaviourLaw >
Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::ViscousGeneralizedMaxwell

Default constructor.

◆ ViscousGeneralizedMaxwell() [2/2]

template<class TElasticBehaviourLaw >
Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::ViscousGeneralizedMaxwell ( const ViscousGeneralizedMaxwell< TElasticBehaviourLaw > &  rOther)

Copy constructor.

◆ ~ViscousGeneralizedMaxwell()

template<class TElasticBehaviourLaw >
Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::~ViscousGeneralizedMaxwell
override

Destructor.

Member Function Documentation

◆ CalculateMaterialResponseCauchy()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::CalculateMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
override

Computes the material response in terms of Cauchy stresses and constitutive tensor

See also
Parameters

◆ CalculateMaterialResponseKirchhoff()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::CalculateMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
override

Computes the material response in terms of Kirchhoff stresses and constitutive tensor

See also
Parameters

◆ CalculateMaterialResponsePK1()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::CalculateMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
override

Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor

See also
Parameters

◆ CalculateMaterialResponsePK2()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::CalculateMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
override

Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor

See also
Parameters

◆ CalculateValue()

template<class TElasticBehaviourLaw >
Matrix & Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::CalculateValue ( ConstitutiveLaw::Parameters rParameterValues,
const Variable< Matrix > &  rThisVariable,
Matrix rValue 
)
override

Calculates the value of a specified variable (Matrix)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

◆ Check()

template<class TElasticBehaviourLaw >
int Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::Check ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const ProcessInfo rCurrentProcessInfo 
) const
override

This function provides the place to perform checks on the completeness of the input.

It is designed to be called only once (or anyway, not often) typically at the beginning of the calculations, so to verify that nothing is missing from the input or that no common error is found.

Parameters
rMaterialPropertiesThe properties of the material
rElementGeometryThe geometry of the element
rCurrentProcessInfoThe current process info instance
Returns
0 if OK, 1 otherwise

◆ Clone()

template<class TElasticBehaviourLaw >
ConstitutiveLaw::Pointer Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::Clone
override

Clone.

◆ FinalizeMaterialResponseCauchy()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::FinalizeMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of Cauchy stresses

See also
Parameters

◆ FinalizeMaterialResponseKirchhoff()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::FinalizeMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of Kirchhoff stresses

See also
Parameters

◆ FinalizeMaterialResponsePK1()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::FinalizeMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of 1st Piola-Kirchhoff stresses

See also
Parameters

◆ FinalizeMaterialResponsePK2()

template<class TElasticBehaviourLaw >
void Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::FinalizeMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of 2nd Piola-Kirchhoff stresses

See also
Parameters

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TElasticBehaviourLaw >
Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::KRATOS_CLASS_POINTER_DEFINITION ( ViscousGeneralizedMaxwell< TElasticBehaviourLaw >  )

Counted pointer of GenericYieldSurface.

◆ RequiresFinalizeMaterialResponse()

template<class TElasticBehaviourLaw >
bool Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::RequiresFinalizeMaterialResponse ( )
inlineoverride

If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.

◆ RequiresInitializeMaterialResponse()

template<class TElasticBehaviourLaw >
bool Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::RequiresInitializeMaterialResponse ( )
inlineoverride

If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.

Friends And Related Function Documentation

◆ Serializer

template<class TElasticBehaviourLaw >
friend class Serializer
friend

Member Data Documentation

◆ Dimension

template<class TElasticBehaviourLaw >
constexpr SizeType Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::Dimension = TElasticBehaviourLaw::Dimension
staticconstexpr

Static definition of the dimension.

◆ tolerance

template<class TElasticBehaviourLaw >
constexpr double Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::tolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

Definition of the machine precision tolerance.

◆ VoigtSize

template<class TElasticBehaviourLaw >
constexpr SizeType Kratos::ViscousGeneralizedMaxwell< TElasticBehaviourLaw >::VoigtSize = TElasticBehaviourLaw::VoigtSize
staticconstexpr

Static definition of the VoigtSize.


The documentation for this class was generated from the following files: