10 #if !defined(KRATOS_THERMAL_CONTACT_DOMAIN_CONDITION_H_INCLUDED )
11 #define KRATOS_THERMAL_CONTACT_DOMAIN_CONDITION_H_INCLUDED
18 #include "boost/smart_ptr.hpp"
227 void GetDofList(DofsVectorType& rConditionalDofList,
const ProcessInfo& rCurrentProcessInfo)
const override;
232 void EquationIdVector(EquationIdVectorType& rResult,
const ProcessInfo& rCurrentProcessInfo)
const override;
237 void GetValuesVector(
Vector& rValues,
int Step = 0)
const override;
242 void GetFirstDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
247 void GetSecondDerivativesVector(
Vector& rValues,
int Step = 0)
const override;
285 void Initialize(
const ProcessInfo& CurrentProcessInfo)
override;
296 void InitializeNonLinearIteration(
const ProcessInfo& CurrentProcessInfo)
override;
301 void FinalizeSolutionStep(
const ProcessInfo& CurrentProcessInfo)
override;
324 void CalculateRightHandSide(
VectorType& rRightHandSideVector,
const ProcessInfo& rCurrentProcessInfo)
override;
332 void CalculateLeftHandSide (
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo)
override;
362 int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
378 std::string
Info()
const override
380 std::stringstream buffer;
381 buffer <<
"Thermal Contact Domain Condition #" << Id();
388 rOStream <<
"Thermal Contact Domain Condition #" << Id();
394 GetGeometry().PrintData(rOStream);
435 KRATOS_THROW_ERROR( std::invalid_argument,
"Calling base class in contact domain",
"" );
441 void CalculateHeatConductivity();
447 virtual void CalculateConditionalSystem(
MatrixType& rLeftHandSideMatrix,
450 Flags& rCalculationFlags);
459 const unsigned int& rPointNumber)
461 KRATOS_THROW_ERROR( std::invalid_argument,
"Calling base class in contact domain",
"" );
476 virtual void InitializeSystemMatrices(
MatrixType& rLeftHandSideMatrix,
478 Flags& rCalculationFlags);
484 virtual void CalculateAndAddLHS(
MatrixType& rLeftHandSideMatrix,
486 double& rIntegrationWeight);
491 virtual void CalculateAndAddRHS(
VectorType& rRightHandSideVector,
493 double& rIntegrationWeight);
498 virtual void CalculateAndAddThermalKm(
MatrixType& rLeftHandSideMatrix,
500 double& rIntegrationWeight);
505 virtual void CalculateAndAddThermalContactForces(
VectorType& rRightHandSideVector,
507 double& rIntegrationWeight);
513 virtual double& CalculateIntegrationWeight(
double& rIntegrationWeight);
521 KRATOS_THROW_ERROR( std::invalid_argument,
"Calling base class in contact domain",
"" );
531 KRATOS_THROW_ERROR( std::invalid_argument,
"Calling base class in contact domain",
"" );
539 void CalculateRelativeVelocity(GeneralVariables& rVariables,
PointType& TangentVelocity,
const ProcessInfo& rCurrentProcessInfo);
545 void CalculateRelativeDisplacement(GeneralVariables& rVariables,
PointType & TangentDisplacement,
const ProcessInfo& rCurrentProcessInfo);
553 KRATOS_THROW_ERROR( std::invalid_argument,
"Calling base class in contact domain",
"" );
568 void save(
Serializer& rSerializer)
const override;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Base class for all Conditions.
Definition: condition.h:59
Definition: constitutive_law.h:47
Short class definition.
Definition: contact_domain_utilities.hpp:45
Base class for all Elements.
Definition: element.h:60
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
This class is a vector which stores global pointers.
Definition: global_pointers_vector.h:61
This class defines the node.
Definition: node.h:65
Point class.
Definition: point.h:59
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
Definition: thermal_contact_domain_condition.hpp:52
GeometryData::IntegrationMethod IntegrationMethod
Type definition for integration methods.
Definition: thermal_contact_domain_condition.hpp:63
std::string Info() const override
Turn back information as a string.
Definition: thermal_contact_domain_condition.hpp:378
ContactDomainUtilities::SurfaceScalar SurfaceScalar
SurfaceScalar.
Definition: thermal_contact_domain_condition.hpp:78
virtual void CalculateThermalFrictionForce(double &F, GeneralVariables &rVariables, unsigned int &ndi)
Definition: thermal_contact_domain_condition.hpp:519
Node NodeType
NodeType.
Definition: thermal_contact_domain_condition.hpp:66
ConstitutiveLawType::Pointer ConstitutiveLawPointerType
Pointer type for constitutive laws.
Definition: thermal_contact_domain_condition.hpp:61
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: thermal_contact_domain_condition.hpp:386
ContactDomainUtilities::BaseLengths BaseLengths
BaseLengths.
Definition: thermal_contact_domain_condition.hpp:80
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(ThermalContactDomainCondition)
Counted pointer of ThermalContactDomainCondition.
ContactVariables mContactVariables
Definition: thermal_contact_domain_condition.hpp:418
ContactDomainUtilities::PointType PointType
Tensor order 1 definition.
Definition: thermal_contact_domain_condition.hpp:74
GlobalPointersVector< Condition > ConditionWeakPtrVectorType
Definition: thermal_contact_domain_condition.hpp:84
Element::ElementType ElementType
Element Type.
Definition: thermal_contact_domain_condition.hpp:70
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: thermal_contact_domain_condition.hpp:392
virtual void CalculateKinematics(GeneralVariables &rVariables, const ProcessInfo &rCurrentProcessInfo, const unsigned int &rPointNumber)
Definition: thermal_contact_domain_condition.hpp:457
void InitializeVariables()
virtual void CalculateThermalConductionForce(double &F, GeneralVariables &rVariables, unsigned int &ndi)
Definition: thermal_contact_domain_condition.hpp:529
IntegrationMethod mThisIntegrationMethod
Definition: thermal_contact_domain_condition.hpp:412
ConstitutiveLaw ConstitutiveLawType
Definition: thermal_contact_domain_condition.hpp:59
GlobalPointersVector< Element > ElementWeakPtrVectorType
Definition: thermal_contact_domain_condition.hpp:83
virtual void SetMasterGeometry()
Definition: thermal_contact_domain_condition.hpp:433
Geometry< NodeType > GeometryType
Geometry Type.
Definition: thermal_contact_domain_condition.hpp:68
ContactDomainUtilities mContactUtilities
Definition: thermal_contact_domain_condition.hpp:424
ThermalContactDomainCondition()
Default constructors.
Definition: thermal_contact_domain_condition.hpp:173
ContactDomainUtilities::SurfaceVector SurfaceVector
SurfaceVector.
Definition: thermal_contact_domain_condition.hpp:76
GlobalPointersVector< Node > NodeWeakPtrVectorType
Definition: thermal_contact_domain_condition.hpp:82
virtual PointType & CalculateCurrentTangent(PointType &rTangent)
Definition: thermal_contact_domain_condition.hpp:551
#define KRATOS_THROW_ERROR(ExceptionType, ErrorMessage, MoreInfo)
Definition: define.h:77
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
void SetValuesOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const std::vector< TDataType > &values, const ProcessInfo &rCurrentProcessInfo)
Definition: add_mesh_to_python.cpp:185
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
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
F
Definition: hinsberg_optimization.py:144
def load(f)
Definition: ode_solve.py:307
Definition: contact_domain_utilities.hpp:74
Definition: contact_domain_utilities.hpp:91
Definition: contact_domain_utilities.hpp:83
Definition: thermal_contact_domain_condition.hpp:123
GeometryType * mpMasterGeometry
Definition: thermal_contact_domain_condition.hpp:134
void SetMasterGeometry(GeometryType &rGeometry)
Definition: thermal_contact_domain_condition.hpp:143
NodeType * mpMasterNode
Definition: thermal_contact_domain_condition.hpp:137
void SetMasterNode(NodeType &rNode)
Definition: thermal_contact_domain_condition.hpp:146
ElementType * mpMasterElement
Definition: thermal_contact_domain_condition.hpp:135
std::vector< unsigned int > nodes
Definition: thermal_contact_domain_condition.hpp:129
Condition * mpMasterCondition
Definition: thermal_contact_domain_condition.hpp:136
NodeType & GetMasterNode()
Definition: thermal_contact_domain_condition.hpp:155
GeometryType & GetMasterGeometry()
Definition: thermal_contact_domain_condition.hpp:152
std::vector< unsigned int > order
Definition: thermal_contact_domain_condition.hpp:130
std::vector< unsigned int > slaves
Definition: thermal_contact_domain_condition.hpp:131
ElementType & GetMasterElement()
Definition: thermal_contact_domain_condition.hpp:153
void SetMasterCondition(ConditionType &rCondition)
Definition: thermal_contact_domain_condition.hpp:145
void SetMasterElement(ElementType &rElement)
Definition: thermal_contact_domain_condition.hpp:144
ConditionType & GetMasterCondition()
Definition: thermal_contact_domain_condition.hpp:154
double StabilizationFactor
Definition: thermal_contact_domain_condition.hpp:126
Definition: thermal_contact_domain_condition.hpp:93
SurfaceVector ReferenceSurface
Definition: thermal_contact_domain_condition.hpp:103
double ReferenceRadius
Definition: thermal_contact_domain_condition.hpp:111
std::vector< BaseLengths > CurrentBase
Definition: thermal_contact_domain_condition.hpp:105
double RelativeVelocityNorm
Definition: thermal_contact_domain_condition.hpp:115
double CurrentRadius
Definition: thermal_contact_domain_condition.hpp:110
double FrictionForceNorm
Definition: thermal_contact_domain_condition.hpp:116
Flags Options
Definition: thermal_contact_domain_condition.hpp:94
SurfaceVector CurrentSurface
Definition: thermal_contact_domain_condition.hpp:102
Vector ProjectionsVector
Definition: thermal_contact_domain_condition.hpp:100
double ThermalGap
Definition: thermal_contact_domain_condition.hpp:96
std::vector< BaseLengths > ReferenceBase
Definition: thermal_contact_domain_condition.hpp:106