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.
|
Total Lagrangian mixed u-p element (Q1P0) for 2D and 3D geometries. More...
#include <total_lagrangian_q1p0_mixed_element.h>
Public Member Functions | |
Life Cycle | |
TotalLagrangianQ1P0MixedElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructor. More... | |
TotalLagrangianQ1P0MixedElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
TotalLagrangianQ1P0MixedElement (TotalLagrangianQ1P0MixedElement const &rOther) | |
~TotalLagrangianQ1P0MixedElement () override | |
Destructor. More... | |
Operations | |
Element::Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override |
Creates a new element. More... | |
Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
Creates a new element. More... | |
Element::Pointer | Clone (IndexType NewId, NodesArrayType const &rThisNodes) const override |
It creates a new element pointer and clones the previous element data. More... | |
Input and output | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
Public Member Functions inherited from Kratos::TotalLagrangian | |
TotalLagrangian (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructor. More... | |
TotalLagrangian (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
TotalLagrangian (TotalLagrangian const &rOther) | |
~TotalLagrangian () override | |
Destructor. More... | |
void | CalculateSensitivityMatrix (const Variable< array_1d< double, 3 >> &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (TotalLagrangian) | |
Counted pointer of TotalLagrangian. More... | |
Public Member Functions inherited from Kratos::BaseSolidElement | |
BaseSolidElement () | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
BaseSolidElement (BaseSolidElement const &rOther) | |
~BaseSolidElement () override | |
BaseSolidElement () | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
BaseSolidElement (BaseSolidElement const &rOther) | |
~BaseSolidElement () override | |
void | Initialize (const ProcessInfo &rCurrentProcessInfo) override |
Called to initialize the element. More... | |
void | ResetConstitutiveLaw () override |
This resets the constitutive law. More... | |
void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the beginning of each solution step. More... | |
void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
This is called for non-linear analysis at the beginning of the iteration process. More... | |
void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the end of eahc solution step. More... | |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rResult the ID's of the element degrees of freedom. More... | |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rElementalDofList the degrees of freedom of the considered element geometry. More... | |
IntegrationMethod | GetIntegrationMethod () const override |
Returns the used integration method. More... | |
void | GetValuesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal displacements. More... | |
void | GetFirstDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal velocities. More... | |
void | GetSecondDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal accelerations. More... | |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This function provides a more general interface to the element. More... | |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental left hand side matrix only. More... | |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental right hand side vector only. More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable (double version) More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable (array_1d<double, 3>) version rDestinationVariable. More... | |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental mass matrix. More... | |
void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental damping matrix. More... | |
void | CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a boolean Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a integer Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 3 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 6 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Vector Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Matrix Variable on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a bool Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a int Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a double Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Vector Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Matrix Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Constitutive Law Value on the Element. More... | |
void | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Get on rVariable Constitutive Law from the element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, const std::vector< array_1d< double, 3 > > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 3 compoenents Value on the Element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 6 > > &rVariable, const std::vector< array_1d< double, 6 > > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 6 compoenents Value on the Element. More... | |
void | CalculateRayleighDampingMatrix (Element &rElement, Element::MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo, const std::size_t MatrixSize) |
void | Initialize (const ProcessInfo &rCurrentProcessInfo) override |
Called to initialize the element. More... | |
void | ResetConstitutiveLaw () override |
This resets the constitutive law. More... | |
void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the beginning of each solution step. More... | |
void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
This is called for non-linear analysis at the beginning of the iteration process. More... | |
void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the end of eahc solution step. More... | |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rResult the ID's of the element degrees of freedom. More... | |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rElementalDofList the degrees of freedom of the considered element geometry. More... | |
IntegrationMethod | GetIntegrationMethod () const override |
Returns the used integration method. More... | |
virtual bool | UseGeometryIntegrationMethod () const |
virtual const GeometryType::IntegrationPointsArrayType | IntegrationPoints () const |
virtual const GeometryType::IntegrationPointsArrayType | IntegrationPoints (IntegrationMethod ThisMethod) const |
virtual const Matrix & | ShapeFunctionsValues (IntegrationMethod ThisMethod) const |
void | GetValuesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal displacements. More... | |
void | GetFirstDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal velocities. More... | |
void | GetSecondDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal accelerations. More... | |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This function provides a more general interface to the element. More... | |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental left hand side matrix only. More... | |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental right hand side vector only. More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable (double version) More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable (array_1d<double, 3>) version rDestinationVariable. More... | |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental mass matrix. More... | |
void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental damping matrix. More... | |
void | CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a boolean Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a integer Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 3 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 6 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Vector Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Matrix Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Get on rVariable Constitutive Law from the element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a bool Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a int Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a double Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Vector Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Matrix Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Constitutive Law Value on the Element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, const std::vector< array_1d< double, 3 >> &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 3 compoenents Value on the Element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, const std::vector< array_1d< double, 6 >> &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 6 compoenents Value on the Element. More... | |
const Parameters | GetSpecifications () const override |
This method provides the specifications/requirements of the element. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (BaseSolidElement) | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (BaseSolidElement) | |
KRATOS_DEFINE_LOCAL_FLAG (ROTATED) | |
Public Member Functions inherited from Kratos::Element | |
Element (IndexType NewId=0) | |
Element (IndexType NewId, const NodesArrayType &ThisNodes) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Element (Element const &rOther) | |
Copy constructor. More... | |
~Element () override | |
Destructor. More... | |
Element & | operator= (Element const &rOther) |
Assignment operator. More... | |
virtual void | CalculateFirstDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const MatrixType &rLHSMatrix, const Variable< MatrixType > &rLHSVariable, const Variable< Matrix > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the matrix version) More... | |
virtual void | Calculate (const Variable< double > &rVariable, double &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< Vector > &rVariable, Vector &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< Matrix > &rVariable, Matrix &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, std::vector< array_1d< double, 4 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, std::vector< array_1d< double, 9 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, const std::vector< array_1d< double, 4 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, const std::vector< array_1d< double, 9 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | MassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddMassMatrix (MatrixType &rLeftHandSideMatrix, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | DampMatrix (MatrixType &rDampMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddInertiaForces (VectorType &rRightHandSideVector, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLocalVelocityContribution (MatrixType &rDampingMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< double > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< array_1d< double, 3 > > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
PropertiesType::Pointer | pGetProperties () |
returns the pointer to the property of the element. Does not throw an error, to allow copying of elements which don't have any property assigned. More... | |
const PropertiesType::Pointer | pGetProperties () const |
PropertiesType & | GetProperties () |
PropertiesType const & | GetProperties () const |
void | SetProperties (PropertiesType::Pointer pProperties) |
bool | HasProperties () const |
Check that the Element has a correctly initialized pointer to a Properties instance. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (Element) | |
Public Member Functions inherited from Kratos::GeometricalObject | |
GeometricalObject (IndexType NewId=0) | |
Default constructor. More... | |
GeometricalObject (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructor. More... | |
~GeometricalObject () override | |
Destructor. More... | |
GeometricalObject (GeometricalObject const &rOther) | |
Copy constructor. More... | |
GeometricalObject & | operator= (GeometricalObject const &rOther) |
Assignment operator. More... | |
virtual void | SetGeometry (GeometryType::Pointer pGeometry) |
Sets the pointer to the geometry. More... | |
GeometryType::Pointer | pGetGeometry () |
Returns the pointer to the geometry. More... | |
const GeometryType::Pointer | pGetGeometry () const |
Returns the pointer to the geometry (const version) More... | |
GeometryType & | GetGeometry () |
Returns the reference of the geometry. More... | |
GeometryType const & | GetGeometry () const |
Returns the reference of the geometry (const version) More... | |
Flags & | GetFlags () |
Returns the flags of the object. More... | |
Flags const & | GetFlags () const |
Returns the flags of the object (const version) More... | |
void | SetFlags (Flags const &rThisFlags) |
Sets the flags of the object. More... | |
DataValueContainer & | Data () |
DataValueContainer & | GetData () |
DataValueContainer const & | GetData () const |
void | SetData (DataValueContainer const &rThisData) |
template<class TDataType > | |
bool | Has (const Variable< TDataType > &rThisVariable) const |
template<class TVariableType > | |
void | SetValue (const TVariableType &rThisVariable, typename TVariableType::Type const &rValue) |
template<class TVariableType > | |
TVariableType::Type & | GetValue (const TVariableType &rThisVariable) |
template<class TVariableType > | |
TVariableType::Type const & | GetValue (const TVariableType &rThisVariable) const |
unsigned int | use_count () const noexcept |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (GeometricalObject) | |
Pointer definition of GeometricalObject. More... | |
bool | IsActive () const |
Checks if the GeometricalObject is active. More... | |
Public Member Functions inherited from Kratos::IndexedObject | |
IndexedObject (IndexType NewId=0) | |
Default constructor. More... | |
virtual | ~IndexedObject () |
Destructor. More... | |
IndexedObject (IndexedObject const &rOther) | |
Copy constructor. More... | |
IndexedObject & | operator= (IndexedObject const &rOther) |
Assignment operator. More... | |
template<class TObjectType > | |
IndexType | operator() (TObjectType const &rThisObject) const |
IndexType | Id () const |
IndexType | GetId () const |
virtual void | SetId (IndexType NewId) |
IndexType & | DepricatedIdAccess () |
TODO: remove this function when removing data_file_io object. More... | |
KRATOS_CLASS_POINTER_DEFINITION (IndexedObject) | |
Pointer definition of IndexedObject. More... | |
Public Member Functions inherited from Kratos::Flags | |
Flags & | operator= (Flags const &rOther) |
Assignment operator. More... | |
operator bool () const | |
Flags | operator~ () const |
bool | operator! () const |
void | AssignFlags (Flags const &rOther) |
void | Set (const Flags ThisFlag) |
void | Set (const Flags ThisFlag, bool Value) |
void | Reset (const Flags ThisFlag) |
void | Flip (const Flags ThisFlag) |
void | SetPosition (IndexType Position, bool Value=true) |
bool | GetPosition (IndexType Position) const |
void | FlipPosition (IndexType Position) |
void | ClearPosition (IndexType Position) |
void | Clear () |
Flags | AsFalse () const |
bool | Is (Flags const &rOther) const |
bool | IsDefined (Flags const &rOther) const |
bool | IsNot (Flags const &rOther) const |
bool | IsNotDefined (Flags const &rOther) const |
KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
Pointer definition of Flags. More... | |
const Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (const Flags &Other) |
Flags () | |
Default constructor. More... | |
Flags (Flags const &rOther) | |
Copy constructor. More... | |
virtual | ~Flags () |
Destructor. More... | |
Protected Member Functions | |
Protected Operators | |
TotalLagrangianQ1P0MixedElement () | |
void | CalculateAll (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo, const bool CalculateStiffnessMatrixFlag, const bool CalculateResidualVectorFlag) override |
This functions calculates both the RHS and the LHS. More... | |
void | CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a double Variable on the Element Constitutive Law. More... | |
double | CalculateBulkModulus (const Properties &rProperties) |
It computes the bulk modulus. More... | |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
This function provides the place to perform checks on the completeness of the input. More... | |
void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
Protected Member Functions inherited from Kratos::TotalLagrangian | |
TotalLagrangian () | |
void | CalculateKinematicVariables (KinematicVariables &rThisKinematicVariables, const IndexType PointNumber, const GeometryType::IntegrationMethod &rIntegrationMethod) override |
This functions updates the kinematics variables. More... | |
std::size_t | GetStrainSize () const |
This method returns the size of the strain vector. More... | |
Protected Member Functions inherited from Kratos::BaseSolidElement | |
void | SetIntegrationMethod (const IntegrationMethod &ThisIntegrationMethod) |
Sets the used integration method. More... | |
void | SetConstitutiveLawVector (const std::vector< ConstitutiveLaw::Pointer > &ThisConstitutiveLawVector) |
Sets the used constitutive laws. More... | |
virtual void | InitializeMaterial () |
It initializes the material. More... | |
virtual ConstitutiveLaw::StressMeasure | GetStressMeasure () const |
Gives the StressMeasure used. More... | |
virtual bool | UseElementProvidedStrain () const |
This method returns if the element provides the strain. More... | |
virtual void | SetConstitutiveVariables (KinematicVariables &rThisKinematicVariables, ConstitutiveVariables &rThisConstitutiveVariables, ConstitutiveLaw::Parameters &rValues, const IndexType PointNumber, const GeometryType::IntegrationPointsArrayType &IntegrationPoints) |
This functions updates the data structure passed to the CL. More... | |
virtual void | CalculateConstitutiveVariables (KinematicVariables &rThisKinematicVariables, ConstitutiveVariables &rThisConstitutiveVariables, ConstitutiveLaw::Parameters &rValues, const IndexType PointNumber, const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const ConstitutiveLaw::StressMeasure ThisStressMeasure=ConstitutiveLaw::StressMeasure_PK2) |
This functions updates the constitutive variables. More... | |
Matrix & | CalculateDeltaDisplacement (Matrix &DeltaDisplacement) const |
This methods gives us a matrix with the increment of displacement. More... | |
virtual double | CalculateDerivativesOnReferenceConfiguration (Matrix &rJ0, Matrix &rInvJ0, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the reference frame. More... | |
double | CalculateDerivativesOnCurrentConfiguration (Matrix &rJ, Matrix &rInvJ, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the current frame. More... | |
virtual array_1d< double, 3 > | GetBodyForce (const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const IndexType PointNumber) const |
This function computes the body force. More... | |
virtual void | CalculateAndAddKm (MatrixType &rLeftHandSideMatrix, const Matrix &B, const Matrix &D, const double IntegrationWeight) const |
Calculation of the Material Stiffness Matrix. Km = B^T * D *B. More... | |
void | CalculateAndAddKg (MatrixType &rLeftHandSideMatrix, const Matrix &DN_DX, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the Geometric Stiffness Matrix. Kg = dB * S. More... | |
virtual void | CalculateAndAddResidualVector (VectorType &rRightHandSideVector, const KinematicVariables &rThisKinematicVariables, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the RHS. More... | |
void | CalculateAndAddExtForceContribution (const Vector &rN, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, VectorType &rRightHandSideVector, const double IntegrationWeight) const |
This function add the external force contribution. More... | |
virtual double | GetIntegrationWeight (const GeometryType::IntegrationPointsArrayType &rThisIntegrationPoints, const IndexType PointNumber, const double detJ) const |
This functions computes the integration weight to consider. More... | |
void | CalculateShapeGradientOfMassMatrix (MatrixType &rMassMatrix, ShapeParameter Deriv) const |
This function computes the shape gradient of mass matrix. More... | |
double | GetRayleighAlpha (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo) |
double | GetRayleighBeta (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo) |
void | SetIntegrationMethod (const IntegrationMethod &ThisIntegrationMethod) |
Sets the used integration method. More... | |
void | SetConstitutiveLawVector (const std::vector< ConstitutiveLaw::Pointer > &ThisConstitutiveLawVector) |
Sets the used constitutive laws. More... | |
virtual void | InitializeMaterial () |
It initializes the material. More... | |
virtual ConstitutiveLaw::StressMeasure | GetStressMeasure () const |
Gives the StressMeasure used. More... | |
virtual bool | UseElementProvidedStrain () const |
This method returns if the element provides the strain. More... | |
virtual void | SetConstitutiveVariables (KinematicVariables &rThisKinematicVariables, ConstitutiveVariables &rThisConstitutiveVariables, ConstitutiveLaw::Parameters &rValues, const IndexType PointNumber, const GeometryType::IntegrationPointsArrayType &IntegrationPoints) |
This functions updates the data structure passed to the CL. More... | |
virtual void | CalculateConstitutiveVariables (KinematicVariables &rThisKinematicVariables, ConstitutiveVariables &rThisConstitutiveVariables, ConstitutiveLaw::Parameters &rValues, const IndexType PointNumber, const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const ConstitutiveLaw::StressMeasure ThisStressMeasure=ConstitutiveLaw::StressMeasure_PK2, const bool IsElementRotated=true) |
This functions updates the constitutive variables. More... | |
Matrix & | CalculateDeltaDisplacement (Matrix &DeltaDisplacement) const |
This methods gives us a matrix with the increment of displacement. More... | |
virtual double | CalculateDerivativesOnReferenceConfiguration (Matrix &rJ0, Matrix &rInvJ0, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the reference frame. More... | |
double | CalculateDerivativesOnCurrentConfiguration (Matrix &rJ, Matrix &rInvJ, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the current frame. More... | |
virtual array_1d< double, 3 > | GetBodyForce (const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const IndexType PointNumber) const |
This function computes the body force. More... | |
virtual void | CalculateAndAddKm (MatrixType &rLeftHandSideMatrix, const Matrix &B, const Matrix &D, const double IntegrationWeight) const |
Calculation of the Material Stiffness Matrix. Km = B^T * D *B. More... | |
void | CalculateAndAddKg (MatrixType &rLeftHandSideMatrix, const Matrix &DN_DX, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the Geometric Stiffness Matrix. Kg = dB * S. More... | |
virtual void | CalculateAndAddResidualVector (VectorType &rRightHandSideVector, const KinematicVariables &rThisKinematicVariables, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the RHS. More... | |
void | CalculateAndAddExtForceContribution (const Vector &rN, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, VectorType &rRightHandSideVector, const double IntegrationWeight) const |
This function add the external force contribution. More... | |
virtual double | GetIntegrationWeight (const GeometryType::IntegrationPointsArrayType &rThisIntegrationPoints, const IndexType PointNumber, const double detJ) const |
This functions computes the integration weight to consider. More... | |
void | CalculateShapeGradientOfMassMatrix (MatrixType &rMassMatrix, ShapeParameter Deriv) const |
This function computes the shape gradient of mass matrix. More... | |
virtual bool | IsElementRotated () const |
This method checks is an element has to be rotated according to a set of local axes. More... | |
void | RotateToLocalAxes (ConstitutiveLaw::Parameters &rValues, KinematicVariables &rThisKinematicVariables) |
This method rotates the F or strain according to local axis from global to local coordinates. More... | |
void | RotateToGlobalAxes (ConstitutiveLaw::Parameters &rValues, KinematicVariables &rThisKinematicVariables) |
This method rotates the F or strain according to local axis from local de global. More... | |
Type Definitions | |
typedef TotalLagrangian | BaseType |
The base element type. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (TotalLagrangianQ1P0MixedElement) | |
Counted pointer of TotalLagrangianQ1P0MixedElement. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::TotalLagrangian | |
typedef ConstitutiveLaw | ConstitutiveLawType |
Reference type definition for constitutive laws. More... | |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef BaseSolidElement | BaseType |
The base element type. More... | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
typedef std::size_t | SizeType |
The definition of the sizetype. More... | |
Public Types inherited from Kratos::BaseSolidElement | |
typedef ConstitutiveLaw | ConstitutiveLawType |
Reference type definition for constitutive laws. More... | |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef ConstitutiveLawType::StressMeasure | StressMeasureType |
StressMeasure from constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef Node | NodeType |
This is the definition of the node. More... | |
typedef Element | BaseType |
The base element type. More... | |
typedef ConstitutiveLaw | ConstitutiveLawType |
Reference type definition for constitutive laws. More... | |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef ConstitutiveLawType::StressMeasure | StressMeasureType |
StressMeasure from constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef Node | NodeType |
This is the definition of the node. More... | |
typedef Element | BaseType |
The base element type. More... | |
Public Types inherited from Kratos::Element | |
typedef Element | ElementType |
definition of element type More... | |
typedef GeometricalObject | BaseType |
base type: an GeometricalObject that automatically has a unique number More... | |
typedef Node | NodeType |
definition of node type (default is: Node) More... | |
typedef Properties | PropertiesType |
typedef Geometry< NodeType > | GeometryType |
definition of the geometry type with given NodeType More... | |
typedef Geometry< NodeType >::PointsArrayType | NodesArrayType |
definition of nodes container type, redefined from GeometryType More... | |
typedef Vector | VectorType |
typedef Matrix | MatrixType |
typedef std::size_t | IndexType |
typedef std::size_t | SizeType |
typedef Dof< double > | DofType |
typedef std::vector< std::size_t > | EquationIdVectorType |
typedef std::vector< DofType::Pointer > | DofsVectorType |
typedef PointerVectorSet< DofType > | DofsArrayType |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef GeometryData | GeometryDataType |
Public Types inherited from Kratos::GeometricalObject | |
typedef Node | NodeType |
Definition of the node type. More... | |
typedef Geometry< NodeType > | GeometryType |
The geometry type definition. More... | |
typedef std::size_t | IndexType |
Defines the index type. More... | |
typedef std::size_t | result_type |
Defines the result type. More... | |
Public Types inherited from Kratos::IndexedObject | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
typedef std::size_t | result_type |
The definition of the result_type. More... | |
Public Types inherited from Kratos::Flags | |
enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
typedef int64_t | BlockType |
typedef int64_t | FlagType |
typedef std::size_t | IndexType |
Static Public Member Functions inherited from Kratos::GeometricalObject | |
static bool | HasSameType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same type. More... | |
static bool | HasSameType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same type (pointer version) More... | |
static bool | HasSameGeometryType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same geometry type. More... | |
static bool | HasSameGeometryType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same geometry type (pointer version) More... | |
static bool | IsSame (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject are the same. More... | |
static bool | IsSame (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject are the same (pointer version) More... | |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
Protected Attributes inherited from Kratos::BaseSolidElement | |
IntegrationMethod | mThisIntegrationMethod |
std::vector< ConstitutiveLaw::Pointer > | mConstitutiveLawVector |
Currently selected integration methods. More... | |
Total Lagrangian mixed u-p element (Q1P0) for 2D and 3D geometries.
Implements a mixed u-p total Lagrangian element for structural analysis, especially when quasi-incompressibility is used at constitutive level. This works for arbitrary geometries in 2D and 3D
Reference: Numerical modelling of the growth and remodelling phenomena in biological tissues, PhD thesis, Ester Comellas.
The base element type.
Kratos::TotalLagrangianQ1P0MixedElement::TotalLagrangianQ1P0MixedElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry | ||
) |
Default constructor.
Kratos::TotalLagrangianQ1P0MixedElement::TotalLagrangianQ1P0MixedElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry, | ||
PropertiesType::Pointer | pProperties | ||
) |
|
inline |
|
override |
Destructor.
|
inlineprotected |
|
overrideprotectedvirtual |
This functions calculates both the RHS and the LHS.
rLeftHandSideMatrix | The LHS |
rRightHandSideVector | The RHS |
rCurrentProcessInfo | The current process info instance |
CalculateStiffnessMatrixFlag | The flag to set if compute the LHS |
CalculateResidualVectorFlag | The flag to set if compute the RHS |
Reimplemented from Kratos::TotalLagrangian.
|
protected |
It computes the bulk modulus.
|
overrideprotectedvirtual |
Calculate a double Variable on the Element Constitutive Law.
rVariable | The variable we want to get |
rOutput | The values obtained in the integration points |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::BaseSolidElement.
|
overrideprotectedvirtual |
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.
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::BaseSolidElement.
|
overridevirtual |
It creates a new element pointer and clones the previous element data.
NewId | the ID of the new element |
ThisNodes | the nodes of the new element |
pProperties | the properties assigned to the new element |
Reimplemented from Kratos::TotalLagrangian.
|
overridevirtual |
Creates a new element.
NewId | The Id of the new created element |
pGeom | The pointer to the geometry of the element |
pProperties | The pointer to property |
Reimplemented from Kratos::TotalLagrangian.
|
overridevirtual |
Creates a new element.
NewId | The Id of the new created element |
ThisNodes | The array containing nodes |
pProperties | The pointer to property |
Reimplemented from Kratos::TotalLagrangian.
|
overrideprotectedvirtual |
this is called for non-linear analysis at the end of the iteration
Reimplemented from Kratos::BaseSolidElement.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::TotalLagrangian.
Kratos::TotalLagrangianQ1P0MixedElement::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | TotalLagrangianQ1P0MixedElement | ) |
Counted pointer of TotalLagrangianQ1P0MixedElement.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::TotalLagrangian.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::TotalLagrangian.
|
friend |