![]() |
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 <contact_domain_condition.hpp>
Classes | |
struct | ConditionVariables |
struct | ContactParameters |
struct | ContactSurfaceParameters |
struct | ContactTangentParameters |
struct | ContactTangentVariables |
struct | ContactVariables |
struct | LocalSystemComponents |
Public Member Functions | |
Life Cycle | |
ContactDomainCondition () | |
Default constructors. More... | |
ContactDomainCondition (IndexType NewId, GeometryType::Pointer pGeometry) | |
ContactDomainCondition (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
ContactDomainCondition (ContactDomainCondition const &rOther) | |
Copy constructor. More... | |
virtual | ~ContactDomainCondition () |
Destructor. More... | |
Operators | |
ContactDomainCondition & | operator= (ContactDomainCondition const &rOther) |
Assignment operator. More... | |
Operations | |
Condition::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
Condition::Pointer | Clone (IndexType NewId, NodesArrayType const &ThisNodes) const override |
IntegrationMethod | GetIntegrationMethod () const override |
void | GetDofList (DofsVectorType &rConditionalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
void | GetValuesVector (Vector &rValues, int Step=0) const override |
void | GetFirstDerivativesVector (Vector &rValues, int Step=0) const override |
void | GetSecondDerivativesVector (Vector &rValues, int Step=0) const override |
void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
void | Initialize (const ProcessInfo &CurrentProcessInfo) override |
void | InitializeSolutionStep (const ProcessInfo &CurrentProcessInfo) override |
void | InitializeNonLinearIteration (const ProcessInfo &CurrentProcessInfo) override |
void | FinalizeNonLinearIteration (const ProcessInfo &CurrentProcessInfo) override |
void | FinalizeSolutionStep (const ProcessInfo &CurrentProcessInfo) override |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateLocalSystem (std::vector< MatrixType > &rLeftHandSideMatrices, const std::vector< Variable< MatrixType > > &rLHSVariables, std::vector< VectorType > &rRightHandSideVectors, const std::vector< Variable< VectorType > > &rRHSVariables, const ProcessInfo &rCurrentProcessInfo) |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateRightHandSide (std::vector< VectorType > &rRightHandSideVectors, const std::vector< Variable< VectorType > > &rRHSVariables, const ProcessInfo &rCurrentProcessInfo) |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
virtual void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
![]() | |
Condition (IndexType NewId=0) | |
Condition (IndexType NewId, const NodesArrayType &ThisNodes) | |
Condition (IndexType NewId, GeometryType::Pointer pGeometry) | |
Condition (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Condition (Condition const &rOther) | |
Copy constructor. More... | |
~Condition () override | |
Destructor. More... | |
Condition & | operator= (Condition const &rOther) |
Assignment operator. More... | |
virtual Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const |
It creates a new condition pointer. More... | |
virtual void | ResetConstitutiveLaw () |
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 | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the condition to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the double version) More... | |
virtual void | AddExplicitContribution (const MatrixType &rLHSMatrix, const Variable< MatrixType > &rLHSVariable, const Variable< Matrix > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the condition 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< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, 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, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &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< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, const std::vector< array_1d< double, 3 >> &rValues, 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, 6 >> &rVariable, const std::vector< array_1d< double, 6 >> &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 condition. Does not throw an error, to allow copying of conditions 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 Condition has a correctly initialized pointer to a Properties instance. More... | |
virtual const Parameters | GetSpecifications () const |
This method provides the specifications/requirements of the element. More... | |
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... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (Condition) | |
Pointer definition of Condition. More... | |
![]() | |
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 |
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... | |
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... | |
![]() | |
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... | |
![]() | |
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 | |
virtual void | SetMasterGeometry () |
virtual void | CalculateContactFactor (const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculatePreviousGap () |
virtual void | InitializeConditionVariables (ConditionVariables &rVariables, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateConditionSystem (LocalSystemComponents &rLocalSystem, const ProcessInfo &rCurrentProcessInfo) |
void | ClearNodalForces () |
void | CalculateNodalForces (const ProcessInfo &CurrentProcessInfo) |
void | ClearMasterElementNodalForces (ElementType &rMasterElement) |
void | SetContactIntegrationVariable (Vector &rContactVariable, std::vector< Vector > &rMasterVariables, const unsigned int &rPointNumber) |
virtual void | CalculateKinematics (ConditionVariables &rVariables, const ProcessInfo &rCurrentProcessInfo, const unsigned int &rPointNumber) |
Matrix & | CalculateDeltaPosition (Matrix &rDeltaPosition) |
virtual void | CalculateExplicitFactors (ConditionVariables &rVariables, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateDomainShapeN (ConditionVariables &rVariables) |
virtual void | CalculateRelativeVelocity (ConditionVariables &rVariables, PointType &TangentVelocity, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateRelativeDisplacement (ConditionVariables &rVariables, PointType &TangentDisplacement, const ProcessInfo &rCurrentProcessInfo) |
virtual PointType & | CalculateCurrentTangent (PointType &rTangent) |
virtual void | CalculateFrictionCoefficient (ConditionVariables &rVariables, const PointType &TangentVelocity) |
virtual double & | CalculateIntegrationWeight (double &rIntegrationWeight) |
virtual void | InitializeSystemMatrices (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, Flags &rCalculationFlags) |
void | CalculatePerturbedLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateAndAddLHS (LocalSystemComponents &rLocalSystem, ConditionVariables &rVariables, double &rIntegrationWeight) |
virtual void | CalculateAndAddRHS (LocalSystemComponents &rLocalSystem, ConditionVariables &rVariables, double &rIntegrationWeight) |
virtual void | CalculateAndAddKuug (MatrixType &rLeftHandSideMatrix, ConditionVariables &rVariables, double &rIntegrationWeight) |
virtual void | CalculateContactStiffness (double &Kcont, ConditionVariables &rVariables, unsigned int &ndi, unsigned int &ndj, unsigned int &idir, unsigned int &jdir) |
virtual void | CalculateAndAddContactForces (VectorType &rRightHandSideVector, ConditionVariables &rVariables, double &rIntegrationWeight) |
virtual void | CalculateNormalForce (double &F, ConditionVariables &rVariables, unsigned int &ndi, unsigned int &idir) |
virtual void | CalculateTangentStickForce (double &F, ConditionVariables &rVariables, unsigned int &ndi, unsigned int &idir) |
virtual void | CalculateTangentSlipForce (double &F, ConditionVariables &rVariables, unsigned int &ndi, unsigned int &idir) |
Protected Attributes | |
Protected member Variables | |
IntegrationMethod | mThisIntegrationMethod |
ContactVariables | mContactVariables |
ContactDomainUtilities | mContactUtilities |
Serialization | |
class | Serializer |
void | save (Serializer &rSerializer) const override |
void | load (Serializer &rSerializer) override |
Additional Inherited Members | |
![]() | |
typedef Condition | ConditionType |
definition of condition 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 |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 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 const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
BaseLengths.
typedef ConstitutiveLawType::Pointer Kratos::ContactDomainCondition::ConstitutiveLawPointerType |
Pointer type for constitutive laws.
Geometry Type.
Type definition for integration methods.
NodeType.
Tensor order 1 definition.
For 3D contact surfaces definition.
SurfaceScalar.
SurfaceVector.
|
inline |
Default constructors.
Kratos::ContactDomainCondition::ContactDomainCondition | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry | ||
) |
Kratos::ContactDomainCondition::ContactDomainCondition | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry, | ||
PropertiesType::Pointer | pProperties | ||
) |
Kratos::ContactDomainCondition::ContactDomainCondition | ( | ContactDomainCondition const & | rOther | ) |
Copy constructor.
|
virtual |
Destructor.
|
overridevirtual |
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.
rRHSVector | input variable containing the RHS vector to be assembled |
rRHSVariable | variable describing the type of the RHS vector to be assembled |
rDestinationVariable | variable in the database to which the rRHSvector will be assembled |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Condition.
|
inlineprotectedvirtual |
Calculation of the Internal Forces Vector. Fi = B * sigma
|
protectedvirtual |
Calculation of the Contact Stiffness Matrix
|
protectedvirtual |
Calculate LHS
Reimplemented in Kratos::AxisymContactDomainPenalty2DCondition, and Kratos::AxisymContactDomainLM2DCondition.
|
protectedvirtual |
Calculate RHS
Reimplemented in Kratos::AxisymContactDomainPenalty2DCondition, and Kratos::AxisymContactDomainLM2DCondition.
|
protectedvirtual |
Calculates the condition contributions
|
inlineprotectedvirtual |
Calculate Tau stabilization or Penalty factor
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
inlineprotectedvirtual |
Calculation of the Material Stiffness Matrix by components
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
inlineprotectedvirtual |
Calculate current tangent vector
Reimplemented in Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
protected |
Calculation of the Deformation Gradient F
|
inlineprotectedvirtual |
Tangent Matrix construction methods:
Reimplemented in Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
inlineprotectedvirtual |
Calculation of the Contact Multipliers or Penalty Factors
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
protectedvirtual |
Friction Parameters:
|
protectedvirtual |
Calculate Integration Weight:
Reimplemented in Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
protectedvirtual |
Calculate Condition Kinematics
Reimplemented in Kratos::AxisymContactDomainPenalty2DCondition, and Kratos::AxisymContactDomainLM2DCondition.
|
overridevirtual |
this is called during the assembling process in order to calculate the elemental left hand side vector only
rLeftHandSideVector | the elemental left hand side vector |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Condition.
|
overridevirtual |
this is called during the assembling process in order to calculate all elemental contributions to the global system matrix and the right hand side
rLeftHandSideMatrix | the elemental left hand side matrix |
rRightHandSideVector | the elemental right hand side |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Condition.
void Kratos::ContactDomainCondition::CalculateLocalSystem | ( | std::vector< MatrixType > & | rLeftHandSideMatrices, |
const std::vector< Variable< MatrixType > > & | rLHSVariables, | ||
std::vector< VectorType > & | rRightHandSideVectors, | ||
const std::vector< Variable< VectorType > > & | rRHSVariables, | ||
const ProcessInfo & | rCurrentProcessInfo | ||
) |
this function provides a more general interface to the condition. it is designed so that rLHSvariables and rRHSvariables are passed TO the condition thus telling what is the desired output
rLeftHandSideMatrices | container with the output left hand side matrices |
rLHSVariables | paramter describing the expected LHSs |
rRightHandSideVectors | container for the desired RHS output |
rRHSVariables | parameter describing the expected RHSs |
|
protected |
Calculate Nodal Forces
|
inlineprotectedvirtual |
Normal Force construction by components
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
overridevirtual |
Calculate a double Variable on the Condition Constitutive Law
Reimplemented from Kratos::Condition.
|
overridevirtual |
Calculate a Matrix Variable on the Condition Constitutive Law
Reimplemented from Kratos::Condition.
|
overridevirtual |
Calculate a Vector Variable on the Condition Constitutive Law
Reimplemented from Kratos::Condition.
|
protected |
Calculation of the tangent via perturbation of the dofs variables : testing purposes
|
inlineprotectedvirtual |
Calculation of the Contact Previous Gap
Reimplemented in Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
protectedvirtual |
Parameters for friction law Relative Tangent Displacement:
|
protectedvirtual |
Parameters for friction law Relative Tangent Velocity:
void Kratos::ContactDomainCondition::CalculateRightHandSide | ( | std::vector< VectorType > & | rRightHandSideVectors, |
const std::vector< Variable< VectorType > > & | rRHSVariables, | ||
const ProcessInfo & | rCurrentProcessInfo | ||
) |
this function provides a more general interface to the condition. it is designed so that rRHSvariables are passed TO the condition thus telling what is the desired output
rRightHandSideVectors | container for the desired RHS output |
rRHSVariables | parameter describing the expected RHSs |
|
overridevirtual |
this is called during the assembling process in order to calculate the elemental right hand side vector only
rRightHandSideVector | the elemental right hand side vector |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Condition.
|
inlineprotectedvirtual |
Tangent Slip Force construction by components
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
inlineprotectedvirtual |
Tangent Stick Force construction by components
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
overridevirtual |
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 |
Reimplemented from Kratos::Condition.
|
protected |
Clear Nodal Forces on Master Element
|
protected |
Clear Nodal Forces
|
overridevirtual |
clones the selected condition variables, creating a new one
NewId | the ID of the new condition |
ThisNodes | the nodes of the new condition |
pProperties | the properties assigned to the new condition |
Reimplemented from Kratos::Condition.
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
overridevirtual |
creates a new total lagrangian updated element pointer
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::Condition.
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
overridevirtual |
Sets on rResult the ID's of the element degrees of freedom
Reimplemented from Kratos::Condition.
|
overridevirtual |
this is called for non-linear analysis at the end of the iteration process
Reimplemented from Kratos::Condition.
|
overridevirtual |
Called at the end of eahc solution step
Reimplemented from Kratos::Condition.
|
overridevirtual |
Sets on rConditionalDofList the degrees of freedom of the considered element geometry
Reimplemented from Kratos::Condition.
|
overridevirtual |
Sets on rValues the nodal velocities
Reimplemented from Kratos::Condition.
|
overridevirtual |
Returns the currently selected integration method
Reimplemented from Kratos::Condition.
|
overridevirtual |
Sets on rValues the nodal accelerations
Reimplemented from Kratos::Condition.
|
overridevirtual |
Sets on rValues the nodal displacements
Reimplemented from Kratos::Condition.
|
overridevirtual |
Called to initialize the element. Must be called before any calculation is done
Reimplemented from Kratos::Condition.
|
protectedvirtual |
Initialize Variables
Reimplemented in Kratos::AxisymContactDomainPenalty2DCondition, and Kratos::AxisymContactDomainLM2DCondition.
|
overridevirtual |
this is called for non-linear analysis at the beginning of the iteration process
Reimplemented from Kratos::Condition.
|
overridevirtual |
Called at the beginning of each solution step
Reimplemented from Kratos::Condition.
|
protectedvirtual |
Initialize System Matrices
Kratos::ContactDomainCondition::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | ContactDomainCondition | ) |
Counted pointer of ContactDomainCondition.
|
overrideprotectedvirtual |
Reimplemented from Kratos::Condition.
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
ContactDomainCondition & Kratos::ContactDomainCondition::operator= | ( | ContactDomainCondition const & | rOther | ) |
Assignment operator.
|
overrideprotectedvirtual |
Reimplemented from Kratos::Condition.
Reimplemented in Kratos::ContactDomainPenalty2DCondition, Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
protected |
Set Master element information on integration points to Contact element information
|
inlineprotectedvirtual |
Calculation of the Contact Master Nodes and Mechanical variables
Reimplemented in Kratos::ContactDomainLM3DCondition, and Kratos::ContactDomainLM2DCondition.
|
overridevirtual |
Access for variables on Integration points. This gives access to variables stored in the constitutive law on each integration point. Specialisations of element.h (e.g. the TotalLagrangian) must specify the actual interface to the constitutive law! Note, that these functions expect a std::vector of values for the specified variable type that contains a value for each integration point! SetValuesOnIntegrationPoints: set the values for given Variable. GetValueOnIntegrationPoints: get the values for given Variable. Set a double Value on the Condition Constitutive Law
Reimplemented from Kratos::Condition.
|
overridevirtual |
Set a Matrix Value on the Condition Constitutive Law
Reimplemented from Kratos::Condition.
|
overridevirtual |
Set a Vector Value on the Condition Constitutive Law
Reimplemented from Kratos::Condition.
|
friend |
|
protected |
Contact Domain Utilities
|
protected |
Variables stored in the element during the computation
|
protected |
Currently selected integration methods