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.
assign_integration_points_to_background_elements_process.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: Manuel Messmer
11 
12 #if !defined(KRATOS_ASSIGN_INTEGRATION_POINTS_TO_BACKGROUND_ELEMENTS_PROCESS_H_INCLUDED )
13 #define KRATOS_ASSIGN_INTEGRATION_POINTS_TO_BACKGROUND_ELEMENTS_PROCESS_H_INCLUDED
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
21 #include "containers/model.h"
22 #include "geometries/geometry.h"
23 
24 #include "processes/process.h"
25 
26 namespace Kratos
27 {
28 
31 
32 /* @class AssignIntegrationPointsToBackgroundElementsProcess
33  * @ingroup IgaApplication
34  **/
35 class KRATOS_API(IGA_APPLICATION) AssignIntegrationPointsToBackgroundElementsProcess
36  : public Process
37 {
38 public:
41 
44 
45  typedef Node NodeType;
47  typedef GeometryType::Pointer GeometryPointerType;
51 
52  typedef std::size_t IndexType;
53  typedef std::size_t SizeType;
54 
58 
61  Model& rModel,
62  Parameters ThisParameters);
63 
66 
70 
71  void ExecuteBeforeOutputStep() override;
72 
73  const Parameters GetDefaultParameters() const override
74  {
75  const Parameters default_parameters = Parameters(R"(
76  {
77  "main_model_part_name" : "ModelPart",
78  "nurbs_volume_name" : "NurbsVolume",
79  "embedded_model_part_name" : "IgaModelPart"
80  })" );
81 
82  return default_parameters;
83  }
84 
88 
89 
91  std::string Info() const override
92  {
93  return "AssignIntegrationPointsToBackgroundElementsProcess";
94  }
95 
97  void PrintInfo(std::ostream& rOStream) const override
98  {
99  rOStream << "AssignIntegrationPointsToBackgroundElementsProcess";
100  }
101 
103  void PrintData(std::ostream& rOStream) const override
104  {
105  }
106 
107 private:
110 
111  Model& mrModel;
112  Parameters mThisParameters;
113  bool mIsAssignedFlag;
114 
116 
117 }; // Class AssignIntegrationPointsToBackgroundElementsProcess
118 
122 
124 inline std::istream& operator >> (std::istream& rIStream,
126 
128 inline std::ostream& operator << (std::ostream& rOStream,
130 {
131  rThis.PrintInfo(rOStream);
132  rOStream << std::endl;
133  rThis.PrintData(rOStream);
134 
135  return rOStream;
136 }
138 
139 } // namespace Kratos.
140 
141 #endif // KRATOS_ASSIGN_INTEGRATION_POINTS_TO_BACKGROUND_ELEMENTS_PROCESS_H_INCLUDED defined
Definition: assign_integration_points_to_background_elements_process.h:37
Geometry< NodeType > GeometryType
Definition: assign_integration_points_to_background_elements_process.h:46
Node NodeType
Definition: assign_integration_points_to_background_elements_process.h:45
GeometryType::CoordinatesArrayType CoordinatesArrayType
Definition: assign_integration_points_to_background_elements_process.h:49
GeometryType::GeometriesArrayType GeometriesArrayType
Definition: assign_integration_points_to_background_elements_process.h:48
KRATOS_CLASS_POINTER_DEFINITION(AssignIntegrationPointsToBackgroundElementsProcess)
Pointer definition of AssignIntegrationPointsToBackgroundElementsProcess.
std::size_t SizeType
Definition: assign_integration_points_to_background_elements_process.h:53
const Parameters GetDefaultParameters() const override
This method provides the defaults parameters to avoid conflicts between the different constructors.
Definition: assign_integration_points_to_background_elements_process.h:73
GeometryType::Pointer GeometryPointerType
Definition: assign_integration_points_to_background_elements_process.h:47
GeometryType::IntegrationPointsArrayType IntegrationPointsArrayType
Definition: assign_integration_points_to_background_elements_process.h:50
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: assign_integration_points_to_background_elements_process.h:103
std::string Info() const override
Turn back information as a string.
Definition: assign_integration_points_to_background_elements_process.h:91
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: assign_integration_points_to_background_elements_process.h:97
std::size_t IndexType
Definition: assign_integration_points_to_background_elements_process.h:52
Geometry base class.
Definition: geometry.h:71
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
This class aims to manage different model parts across multi-physics simulations.
Definition: model.h:60
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
The base class for all processes in Kratos.
Definition: process.h:49
Short class definition.
Definition: array_1d.h:61
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