11 #if !defined(KRATOS_SUPPORT_LAGRANGE_CONDITION_H_INCLUDED )
12 #define KRATOS_SUPPORT_LAGRANGE_CONDITION_H_INCLUDED
55 GeometryType::Pointer pGeometry)
62 GeometryType::Pointer pGeometry,
63 PropertiesType::Pointer pProperties)
64 :
Condition(NewId, pGeometry, pProperties)
82 GeometryType::Pointer pGeom,
83 PropertiesType::Pointer pProperties
86 return Kratos::make_intrusive<SupportLagrangeCondition>(
87 NewId, pGeom, pProperties);
94 PropertiesType::Pointer pProperties
97 return Kratos::make_intrusive< SupportLagrangeCondition >(
110 const SizeType mat_size = GetNumberOfNonZeroNodes() * 6;
112 if (rRightHandSideVector.size() != mat_size)
113 rRightHandSideVector.
resize(mat_size);
118 CalculateAll(left_hand_side_matrix, rRightHandSideVector,
119 rCurrentProcessInfo,
false,
true);
127 const SizeType mat_size = GetNumberOfNonZeroNodes() * 6;
131 if (rLeftHandSideMatrix.size1() != mat_size && rLeftHandSideMatrix.size2())
132 rLeftHandSideMatrix.
resize(mat_size, mat_size);
135 CalculateAll(rLeftHandSideMatrix, right_hand_side_vector,
136 rCurrentProcessInfo,
true,
false);
145 const SizeType mat_size = GetNumberOfNonZeroNodes() * 6;
147 if (rRightHandSideVector.size() != mat_size)
148 rRightHandSideVector.
resize(mat_size);
151 if (rLeftHandSideMatrix.size1() != mat_size)
152 rLeftHandSideMatrix.
resize(mat_size, mat_size);
156 rCurrentProcessInfo,
true,
true);
191 const bool CalculateStiffnessMatrixFlag,
192 const bool CalculateResidualVectorFlag
202 Vector& rDeterminantOfJacobian);
209 std::string
Info()
const override
211 std::stringstream buffer;
212 buffer <<
"\"SupportLagrangeCondition\" #" <<
Id();
219 rOStream <<
"\"SupportLagrangeCondition\" #" <<
Id();
233 const double shape_function_tolerance = 1
e-6;
242 SizeType GetNumberOfNonZeroNodes()
const;
250 virtual void save(
Serializer& rSerializer)
const override
Base class for all Conditions.
Definition: condition.h:59
std::size_t SizeType
Definition: condition.h:94
std::vector< std::size_t > EquationIdVectorType
Definition: condition.h:98
Matrix MatrixType
Definition: condition.h:90
std::vector< DofType::Pointer > DofsVectorType
Definition: condition.h:100
std::size_t IndexType
Definition: flags.h:74
GeometryType::Pointer pGetGeometry()
Returns the pointer to the geometry.
Definition: geometrical_object.h:140
GeometryType & GetGeometry()
Returns the reference of the geometry.
Definition: geometrical_object.h:158
Geometry base class.
Definition: geometry.h:71
IndexType Id() const
Definition: indexed_object.h:107
void resize(std::size_t NewSize1, std::size_t NewSize2, bool preserve=0)
Definition: amatrix_interface.h:224
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
Lagrange Multiplier based support condition.
Definition: support_lagrange_condition.h:36
std::string Info() const override
Turn back information as a string.
Definition: support_lagrange_condition.h:209
void DeterminantOfJacobianInitial(const GeometryType &rGeometry, Vector &rDeterminantOfJacobian)
Definition: support_lagrange_condition.cpp:142
void CalculateAll(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo, const bool CalculateStiffnessMatrixFlag, const bool CalculateResidualVectorFlag)
Definition: support_lagrange_condition.cpp:23
std::size_t IndexType
Definition: support_lagrange_condition.h:46
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
Sets on rResult the ID's of the element degrees of freedom.
Definition: support_lagrange_condition.cpp:181
SupportLagrangeCondition(IndexType NewId, GeometryType::Pointer pGeometry)
Constructor with Id and geometry.
Definition: support_lagrange_condition.h:53
Condition::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
Create with Id, pointer to geometry and pointer to property.
Definition: support_lagrange_condition.h:91
std::size_t SizeType
Size types.
Definition: support_lagrange_condition.h:45
KRATOS_CLASS_POINTER_DEFINITION(SupportLagrangeCondition)
Counted pointer of SupportLagrangeCondition.
SupportLagrangeCondition(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Constructor with Id, geometry and property.
Definition: support_lagrange_condition.h:60
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Calculates RightHandSide F-vector only.
Definition: support_lagrange_condition.h:106
virtual ~SupportLagrangeCondition()=default
Destructor.
void GetDofList(DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override
Sets on rElementalDofList the degrees of freedom of the considered element geometry.
Definition: support_lagrange_condition.cpp:222
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Calculates LeftHandSide K-Matrix and f-vector.
Definition: support_lagrange_condition.h:140
SupportLagrangeCondition()
Default constructor.
Definition: support_lagrange_condition.h:68
Condition::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override
Create with Id, pointer to geometry and pointer to property.
Definition: support_lagrange_condition.h:80
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: support_lagrange_condition.h:223
void CalculateLeftHandSide(MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override
Calculates LeftHandSide K-Matrix only.
Definition: support_lagrange_condition.h:123
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: support_lagrange_condition.h:217
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
KratosZeroMatrix< double > ZeroMatrix
Definition: amatrix_interface.h:559
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
def load(f)
Definition: ode_solve.py:307
e
Definition: run_cpp_mpi_tests.py:31