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.
axisymmetric_thermal_face.h
Go to the documentation of this file.
1 // KRATOS ___ ___ _ ___ __ ___ ___ ___ ___
2 // / __/ _ \| \| \ \ / /__| \_ _| __| __|
3 // | (_| (_) | .` |\ V /___| |) | || _|| _|
4 // \___\___/|_|\_| \_/ |___/___|_| |_| APPLICATION
5 //
6 // License: BSD License
7 // Kratos default license: kratos/license.txt
8 //
9 // Main authors: Ruben Zorrilla
10 //
11 
12 #pragma once
13 
14 // System includes
15 #include <string>
16 #include <iostream>
17 
18 // External includes
19 
20 // Project includes
21 #include "includes/define.h"
22 #include "includes/node.h"
23 #include "includes/process_info.h"
24 #include "includes/properties.h"
25 #include "includes/condition.h"
26 #include "geometries/geometry.h"
27 #include "includes/variables.h"
28 
29 // Application includes
30 #include "thermal_face.h"
31 
32 namespace Kratos
33 {
34 
37 
42 class KRATOS_API(CONVECTION_DIFFUSION_APPLICATION) AxisymmetricThermalFace : public ThermalFace
43 {
44 public:
47 
50 
53 
56 
59 
61  using IndexType = typename BaseType::IndexType;
62 
64  using SizeType = typename BaseType::SizeType;
65 
67  using VectorType = typename BaseType::VectorType;
68 
70  using MatrixType = typename BaseType::MatrixType;
71 
75 
77  IndexType NewId,
78  typename GeometryType::Pointer pGeometry);
79 
81  IndexType NewId,
82  typename GeometryType::Pointer pGeometry,
83  typename PropertiesType::Pointer pProperties);
84 
86  ~AxisymmetricThermalFace() override = default;
87 
90 
94 
97 
101 
102  Condition::Pointer Create(
103  IndexType NewId,
104  NodesArrayType const& ThisNodes,
105  Properties::Pointer pProperties) const override;
106 
107  Condition::Pointer Create(
108  IndexType NewId,
109  GeometryType::Pointer pGeom,
110  Properties::Pointer pProperties) const override;
111 
115 
117  std::string Info() const override;
118 
120  void PrintInfo(std::ostream& rOStream) const override;
121 
123  void PrintData(std::ostream& rOStream) const override;
124 
126 protected:
129 
130  // Internal default constructor for serialization
132 
136 
137  void SetIntegrationWeight(
138  const IndexType IntegrationPointIndex,
139  const typename GeometryType::IntegrationPointsArrayType &rIntegrationPoints,
140  const Vector &rJacobianDeterminantsVector,
141  ConditionDataStruct &rData) override;
142 
144 private:
147 
148  friend class Serializer;
149 
150  void save(Serializer& rSerializer) const override;
151 
152  void load(Serializer& rSerializer) override;
153 
157 
158 
160 }; // Class AxisymmetricThermalFace
161 
163 
165 
166 } // namespace Kratos.
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Axisymmetric thermal face condition Extension of the base ThermalFace class to be used in axisymmetri...
Definition: axisymmetric_thermal_face.h:43
AxisymmetricThermalFace(AxisymmetricThermalFace const &rOther)=delete
Copy constructor.
AxisymmetricThermalFace & operator=(AxisymmetricThermalFace const &rOther)=delete
Assignment operator.
Condition::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, Properties::Pointer pProperties) const override
Condition::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom, Properties::Pointer pProperties) const override
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(AxisymmetricThermalFace)
Pointer definition of AxisymmetricThermalFace.
~AxisymmetricThermalFace() override=default
Destructor.
std::size_t SizeType
Definition: condition.h:94
std::size_t IndexType
Definition: flags.h:74
This defines the geometrical object, base definition of the element and condition entities.
Definition: geometrical_object.h:58
Geometry base class.
Definition: geometry.h:71
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
A basic Neumann condition for convection-diffusion problems.
Definition: thermal_face.h:44
std::size_t IndexType
Definition: binary_expression.cpp:25
Vector VectorType
Definition: geometrical_transformation_utilities.h:56
Matrix MatrixType
Definition: geometrical_transformation_utilities.h:55
std::size_t SizeType
Definition: nurbs_utilities.h:41
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Properties PropertiesType
Definition: regenerate_pfem_pressure_conditions_process.h:26
Geometry< Node > GeometryType
The definition of the geometry.
Definition: mortar_classes.h:37
def load(f)
Definition: ode_solve.py:307
Gauss pt. data structure Auxiliar data structure to pass the Gauss pt. data.
Definition: thermal_face.h:57