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.
divide_triangle_3d_3.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Pablo Becker
11 //
12 
13 #if !defined(KRATOS_DIVIDE_TRIANGLE_3D_3_UTILS)
14 #define KRATOS_DIVIDE_TRIANGLE_3D_3_UTILS
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 
22 #include "geometries/line_3d_2.h"
26 
27 namespace Kratos
28 {
31 
35 
39 
43 
44 template<class TPointType>
45 class KRATOS_API(KRATOS_CORE) DivideTriangle3D3 : public DivideTriangle2D3<TPointType>
46 {
47 public:
58 
59 
63 
65  DivideTriangle3D3(const GeometryType& rInputGeometry, const Vector& rNodalDistances);
66 
69 
73 
77 
81 
85 
89  IndexedPointGeometryPointerType GenerateAuxiliaryPartitionTriangle(
90  const int I0,
91  const int I1,
92  const int I2) override;
93 
94  IndexedPointGeometryPointerType GenerateIntersectionLine(
95  const int I0,
96  const int I1) override;
98 
99 private:
102 
106 
110 
114 
118 
122 
126 
130 
133 
135  DivideTriangle3D3(DivideTriangle3D3 const& rOther)
136  : DivideTriangle2D3<TPointType>(rOther.GetInputGeometry(), rOther.GetNodalDistances()) {};
137 
139 
140 };// class DivideTriangle3D3
141 
142 }
143 #endif /* KRATOS_DIVIDE_TRIANGLE_3D_3_UTILS defined */
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: divide_geometry.h:167
Geometry< IndexedPoint >::Pointer IndexedPointGeometryPointerType
Definition: divide_geometry.h:181
Definition: divide_triangle_2d_3.h:46
Definition: divide_triangle_3d_3.h:46
KRATOS_CLASS_POINTER_DEFINITION(DivideTriangle3D3)
Pointer definition of DivideTriangle2D3.
BaseType::IndexedPointGeometryPointerType IndexedPointGeometryPointerType
Definition: divide_triangle_3d_3.h:55
BaseType::GeometryType GeometryType
Definition: divide_triangle_3d_3.h:51
Line3D2< IndexedPointType > IndexedPointLineType
Definition: divide_triangle_3d_3.h:53
Triangle3D3< IndexedPointType > IndexedPointTriangleType
Definition: divide_triangle_3d_3.h:54
BaseType::IndexedPointType IndexedPointType
Definition: divide_triangle_3d_3.h:52
DivideGeometry< TPointType > BaseType
Definition: divide_triangle_3d_3.h:50
Geometry base class.
Definition: geometry.h:71
Definition: divide_geometry.h:46
An two node 3D line geometry with linear shape functions.
Definition: line_3d_2.h:64
A three node 3D triangle geometry with linear shape functions.
Definition: triangle_3d_3.h:77
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
I1
Definition: isotropic_damage_automatic_differentiation.py:230
tuple I2
Definition: isotropic_damage_automatic_differentiation.py:231