13 #if !defined (KRATOS_RVE_PERIODICITY_UTILITY_H_INCLUDED)
14 #define KRATOS_RVE_PERIODICITY_UTILITY_H_INCLUDED
75 ) : mrModelPart(rDestinationModelPart)
106 void AssignPeriodicity(
ModelPart& rMasterModelPart,
108 const Matrix& rStrainTensor,
110 const double SearchTolerance = 1.0e-6
123 virtual std::string
Info()
const
125 std::stringstream buffer;
126 buffer <<
"RVEPeriodicityUtility";
133 rOStream <<
"RVEPeriodicityUtility";
154 void AppendIdsAndWeights(
155 std::map<IndexType, DataTupletype>& rAux,
157 const double MasterWeight,
158 std::vector<IndexType>& rFinalMastersIds,
159 std::vector<double>& rFinalMastersWeights,
171 std::map<IndexType, DataTupletype> mAuxPairings;
173 std::size_t mEchoLevel = 0;
188 MasterSlaveConstraint::Pointer GenerateConstraint(
190 const DoubleVariableType& rVar,
191 NodeType::Pointer pSlaveNode,
192 const std::vector<IndexType>& rMasterIds,
193 const Matrix& rRelationMatrix,
194 const Vector& rTranslationVector
197 template<std::
size_t TDim>
198 void AuxiliaryAssignPeriodicity(
201 const Matrix& rStrainTensor,
203 const double SearchTolerance = 1.0e-6);
225 rOStream << std::endl;
Dof represents a degree of freedom (DoF).
Definition: dof.h:86
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
This defines a class to define periodic BC to a RVE.
Definition: rve_periodicity_utility.h:41
virtual ~RVEPeriodicityUtility()=default
Destructor.
KRATOS_CLASS_POINTER_DEFINITION(RVEPeriodicityUtility)
Pointer definition of RVEPeriodicityUtility.
virtual std::string Info() const
Turn back information as a string.
Definition: rve_periodicity_utility.h:123
Node NodeType
Definition of the node.
Definition: rve_periodicity_utility.h:62
Dof< double > DofType
The DoF type definition.
Definition: rve_periodicity_utility.h:56
RVEPeriodicityUtility(ModelPart &rDestinationModelPart, std::size_t EchoLevel=0)
Default constructor.
Definition: rve_periodicity_utility.h:72
std::size_t IndexType
Definition of the index type.
Definition: rve_periodicity_utility.h:50
RVEPeriodicityUtility(RVEPeriodicityUtility const &rOther)=delete
Copy constructor.
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: rve_periodicity_utility.h:131
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: rve_periodicity_utility.h:137
RVEPeriodicityUtility & operator=(RVEPeriodicityUtility const &rOther)=delete
Assignment operator.
std::vector< DofType::Pointer > DofPointerVectorType
The DoF pointer vector type definition.
Definition: rve_periodicity_utility.h:59
std::tuple< std::vector< IndexType >, std::vector< double >, Vector > DataTupletype
Definition of the data tuple type.
Definition: rve_periodicity_utility.h:53
Variable< double > DoubleVariableType
Definition of the component of variable type.
Definition: rve_periodicity_utility.h:65
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
static int EchoLevel
Definition: co_sim_EMPIRE_API.h:42
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432