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.
mapping_intersection_utilities.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: Philipp Bucher
11 // Peter Wilson
12 //
13 
14 #pragma once
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "includes/model_part.h"
22 
24 
27 
28 namespace Kratos
29 {
30 namespace MappingIntersectionUtilities
31 {
32  typedef std::size_t SizeType;
33  typedef std::size_t IndexType;
34 
35  typedef Node NodeType;
36  typedef typename NodeType::Pointer NodePointerType;
38  typedef typename GeometryType::Pointer GeometryPointerType;
39 
43 
44  void KRATOS_API(MAPPING_APPLICATION) FindIntersection1DGeometries2D(
45  ModelPart& rModelPartDomainA,
46  ModelPart& rModelPartDomainB,
47  ModelPart& rModelPartResult,
48  double Tolerance = 1e-6);
49 
51  ModelPart& rModelPartCoupling,
52  double Tolerance);
53 
54  bool KRATOS_API(MAPPING_APPLICATION) FindOverlapExtents1DGeometries2D(
55  const GeometryType& rMasterLine,
56  const GeometryType& rSlaveLine,
57  std::vector<array_1d<double, 3 > >& rOverlapExtents,
58  const double Tolerance = 1e-6);
59 } // namespace MappingIntersectionUtilities.
60 
61 } // namespace Kratos.
Geometry base class.
Definition: geometry.h:71
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
Short class definition.
Definition: array_1d.h:61
#define KRATOS_API(...)
Definition: kratos_export_api.h:40
Node NodeType
Definition: mapping_intersection_utilities.h:35
std::size_t SizeType
Definition: mapping_intersection_utilities.h:32
Geometry< NodeType > GeometryType
Definition: mapping_intersection_utilities.h:37
GeometryType::IntegrationPointsArrayType IntegrationPointsArrayType
Definition: mapping_intersection_utilities.h:42
void CreateQuadraturePointsCoupling1DGeometries2D(ModelPart &rModelPartCoupling, double Tolerance)
Definition: mapping_intersection_utilities.cpp:52
void FindIntersection1DGeometries2D(ModelPart &rModelPartDomainA, ModelPart &rModelPartDomainB, ModelPart &rModelPartResult, double Tolerance=1e-6)
Definition: mapping_intersection_utilities.cpp:23
std::size_t IndexType
Definition: mapping_intersection_utilities.h:33
bool FindOverlapExtents1DGeometries2D(const GeometryType &rMasterLine, const GeometryType &rSlaveLine, std::vector< array_1d< double, 3 > > &rOverlapExtents, const double Tolerance=1e-6)
NodeType::Pointer NodePointerType
Definition: mapping_intersection_utilities.h:36
GeometryType::CoordinatesArrayType CoordinatesArrayType
Definition: mapping_intersection_utilities.h:41
GeometryType::GeometriesArrayType GeometriesArrayType
Definition: mapping_intersection_utilities.h:40
GeometryType::Pointer GeometryPointerType
Definition: mapping_intersection_utilities.h:38
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
e
Definition: run_cpp_mpi_tests.py:31