75 template< const SizeType TDim, const SizeType TNumNodes, const FrictionalCase TFrictional, const
bool TNormalVariation, const SizeType TNumNodesMaster = TNumNodes>
165 static constexpr
double CheckThresholdCoefficient = 1.0e-12;
179 GeometryType::Pointer pGeometry
186 GeometryType::Pointer pGeometry,
187 PropertiesType::Pointer pProperties
194 GeometryType::Pointer pGeometry,
195 PropertiesType::Pointer pProperties,
196 GeometryType::Pointer pMasterGeometry
220 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
232 void InitializeNonLinearIteration(
const ProcessInfo& rCurrentProcessInfo)
override;
238 void FinalizeSolutionStep(
const ProcessInfo& rCurrentProcessInfo)
override;
244 void FinalizeNonLinearIteration(
const ProcessInfo& rCurrentProcessInfo)
override;
251 void CalculateMassMatrix(
261 void CalculateDampingMatrix(
273 Condition::Pointer
Create(
276 PropertiesType::Pointer pProperties
286 Condition::Pointer
Create(
288 GeometryType::Pointer pGeom,
289 PropertiesType::Pointer pProperties
300 Condition::Pointer
Create(
302 GeometryType::Pointer pGeom,
303 PropertiesType::Pointer pProperties,
304 GeometryType::Pointer pMasterGeom
312 void AddExplicitContribution(
const ProcessInfo& rCurrentProcessInfo)
override;
322 void AddExplicitContribution(
338 void AddExplicitContribution(
const VectorType& rRHSVector,
353 void EquationIdVector(
376 std::vector<double>& rOutput,
400 std::vector<Vector>& rOutput,
411 int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
426 std::string
Info()
const override
428 std::stringstream buffer;
429 buffer <<
"MortarContactCondition #" << this->Id();
436 rOStream <<
"MortarContactCondition #" << this->Id();
443 this->GetParentGeometry().PrintData(rOStream);
444 this->GetPairedGeometry().PrintData(rOStream);
481 void CalculateLocalSystem(
493 void CalculateRightHandSide(
504 void CalculateLeftHandSide(
512 void CalculateConditionSystem(
516 const bool ComputeLHS =
true,
517 const bool ComputeRHS =
true
531 virtual void CalculateLocalLHS(
533 const MortarConditionMatrices& rMortarConditionMatrices,
534 const DerivativeDataType& rDerivativeData,
546 virtual void CalculateLocalRHS(
548 const MortarConditionMatrices& rMortarConditionMatrices,
549 const DerivativeDataType& rDerivativeData,
565 KRATOS_ERROR <<
"You are calling to the base class method GetActiveInactiveValue, you are evil, and your seed must be eradicated from the face of the earth" << std::endl;
575 bool CheckIsolatedElement(
576 const double DeltaTime,
577 const bool HalfJump =
true
586 const IndexType integration_order = GetProperties().Has(INTEGRATION_ORDER_CONTACT) ? GetProperties().GetValue(INTEGRATION_ORDER_CONTACT) : 2;
587 switch (integration_order) {
607 virtual bool IsAxisymmetric()
const;
619 virtual void ResizeLHS(
MatrixType& rLeftHandSideMatrix);
625 virtual void ResizeRHS(
VectorType& rRightHandSideVector);
631 virtual void ZeroLHS(
MatrixType& rLeftHandSideMatrix);
637 virtual void ZeroRHS(
VectorType& rRightHandSideVector);
684 void save(
Serializer& rSerializer)
const override
std::vector< std::size_t > EquationIdVectorType
Definition: condition.h:98
std::vector< DofType::Pointer > DofsVectorType
Definition: condition.h:100
This data will be used to compute the derivatives.
Definition: mortar_classes.h:638
This utilities are used in order to compute the directional derivatives during mortar contact.
Definition: derivatives_utilities.h:63
This is the definition dual lagrange multiplier operators including the derivatives.
Definition: mortar_classes.h:1718
This utility calculates the exact integration necessary for the Mortar Conditions.
Definition: exact_mortar_segmentation_utility.h:89
This defines the geometrical object, base definition of the element and condition entities.
Definition: geometrical_object.h:58
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
An two node 2D line geometry with linear shape functions.
Definition: line_2d_2.h:65
MortarKinematicVariablesWithDerivatives.
Definition: mortar_classes.h:490
This class derives from the MortarOperator class and it includes the derived operators.
Definition: mortar_classes.h:1273
This is a base class for the conditions paired.
Definition: paired_condition.h:53
Custom Point container to be used by the mapper.
Definition: mortar_classes.h:1952
Point class.
Definition: point.h:59
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
A three node 3D triangle geometry with linear shape functions.
Definition: triangle_3d_3.h:77
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
Short class definition.
Definition: array_1d.h:61
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
#define KRATOS_ERROR
Definition: exception.h:161
double GetAxisymmetricCoefficient(const PairedCondition *pCondition, const Vector &rNSlave)
This functions computes the integration weight to consider.
Definition: mortar_explicit_contribution_utilities.cpp:662
std::size_t IndexType
Definition: binary_expression.cpp:25
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
pybind11::list CalculateOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const ProcessInfo &rProcessInfo)
Definition: add_mesh_to_python.cpp:142
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
@ FRICTIONLESS_COMPONENTS
Frictionless contact with components.
@ FRICTIONLESS
Frictionless contact.
@ FRICTIONAL_PENALTY
Frictional contact with penalty method.
@ FRICTIONAL
Frictional contact.
type
Definition: generate_gid_list_file.py:35
def load(f)
Definition: ode_solve.py:307