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.
contact_domain_2D_mesher.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosContactMechanicsApplication $
3 // Created by: $Author: JMCarbonell $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: July 2016 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_CONTACT_DOMAIN_2D_MESHER_H_INCLUDED )
11 #define KRATOS_CONTACT_DOMAIN_2D_MESHER_H_INCLUDED
12 
13 // External includes
14 
15 // System includes
16 
17 // Project includes
19 
21 //Data:
22 //(props)
23 //StepData:
24 //Flags: (checked)
25 // (set)
26 // (modified)
27 // (reset)
28 
29 
30 namespace Kratos
31 {
34 
38 
42 
46 
50 
52 
54 class KRATOS_API(CONTACT_MECHANICS_APPLICATION) ContactDomain2DMesher
55  : public TriangularMesh2DMesher
56 {
57 protected:
58 
60  {
61  double OffsetFactor;
66 
67  unsigned int FrictionFlag;
68  unsigned int PenaltyContactFlag;
69  };
70 
71 public:
72 
73 
76 
79 
81  //typedef BoundedVector<double, 3> PointType;
83 
87 
88 
92 
95 
98 
99 
103 
104 
108 
109 
113 
114 
118 
119 
123 
125  virtual std::string Info() const override
126  {
127  return "";
128  }
129 
131  virtual void PrintInfo(std::ostream& rOStream) const override {}
132 
134  virtual void PrintData(std::ostream& rOStream) const override {}
135 
136 
140 
141 
143 
144 protected:
147 
148 
152 
153 
157 
158 
162 
163 
167 
168 
172 
173 
177 
178 
180 
181 private:
184 
185 
189 
190 
194 
197 
201 
202 
203  //set nodes to a mesh
204  void SetNodes(ModelPart& rModelPart,
205  MeshingParametersType& rMeshingVariables) override;
206 
207 
208  //set faces in the triangulateio before the Delaunay Tesselation
209  void SetFaces ( ModelPart &rModelPart,
210  MeshingParametersType & rMeshingVariables,
211  struct triangulateio &in ) override;
212 
216 
217 
221 
222 
226 
228 
229 }; // Class ContactDomain2DMesher
230 
232 
235 
236 
240 
241 
243  inline std::istream& operator >> (std::istream& rIStream,
244  ContactDomain2DMesher& rThis);
245 
247  inline std::ostream& operator << (std::ostream& rOStream,
248  const ContactDomain2DMesher& rThis)
249  {
250  rThis.PrintInfo(rOStream);
251  rOStream << std::endl;
252  rThis.PrintData(rOStream);
253 
254  return rOStream;
255  }
257 
258 
259 } // namespace Kratos.
260 
261 #endif // KRATOS_CONTACT_DOMAIN_2D_MESHER_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: contact_domain_2D_mesher.hpp:56
ContactDomain2DMesher()
Default constructor.
Definition: contact_domain_2D_mesher.hpp:94
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: contact_domain_2D_mesher.hpp:131
MesherUtilities::RefiningParameters RefineParametersType
Definition: contact_domain_2D_mesher.hpp:86
virtual std::string Info() const override
Turn back information as a string.
Definition: contact_domain_2D_mesher.hpp:125
MesherUtilities::MeshingParameters MeshingParametersType
Definition: contact_domain_2D_mesher.hpp:85
KRATOS_CLASS_POINTER_DEFINITION(ContactDomain2DMesher)
Pointer definition of TriGenCDT.
MesherUtilities::MeshingInfoParameters InfoParametersType
Definition: contact_domain_2D_mesher.hpp:84
virtual ~ContactDomain2DMesher()
Destructor.
Definition: contact_domain_2D_mesher.hpp:97
array_1d< double, 3 > PointType
Tensor order 1 definition.
Definition: contact_domain_2D_mesher.hpp:82
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: contact_domain_2D_mesher.hpp:134
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
Short class definition.
Definition: triangular_mesh_2D_mesher.hpp:78
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
Definition: contact_domain_2D_mesher.hpp:60
double StabilityParameter
Definition: contact_domain_2D_mesher.hpp:63
double DynamicFrictionCoefficient
Definition: contact_domain_2D_mesher.hpp:65
double PenaltyParameter
Definition: contact_domain_2D_mesher.hpp:62
double StaticFrictionCoefficient
Definition: contact_domain_2D_mesher.hpp:64
double OffsetFactor
Definition: contact_domain_2D_mesher.hpp:61
unsigned int PenaltyContactFlag
Definition: contact_domain_2D_mesher.hpp:68
unsigned int FrictionFlag
Definition: contact_domain_2D_mesher.hpp:67
Definition: mesher_utilities.hpp:269
Definition: mesher_utilities.hpp:631
Definition: mesher_utilities.hpp:479