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.
domain_size_expression_io.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: Suneth Warnakulasuriya
11 //
12 
13 #pragma once
14 
15 // System incldues
16 
17 // Project includes
19 #include "expression/traits.h"
20 #include "expression_io.h"
21 #include "includes/define.h"
22 #include "includes/model_part.h"
24 
25 namespace Kratos {
26 
37 class KRATOS_API(KRATOS_CORE) DomainSizeExpressionIO
38 {
39 public:
42 
48  class KRATOS_API(KRATOS_CORE) Input : public ExpressionInput
49  {
50  public:
53 
55 
59 
60  Input(
61  const ModelPart& rModelPart,
62  Globals::DataLocation CurrentLocation);
63 
67 
68  Expression::Pointer Execute() const override;
69 
71 
72  private:
75 
76  ModelPart const * mpModelPart;
77 
78  Globals::DataLocation mDataLocation;
79 
81 
82  };
83 
87 
89  template<class TContainerType, MeshType TMeshType>
90  KRATOS_API(KRATOS_CORE) static void Read(ContainerExpression<TContainerType, TMeshType>& rContainerExpression);
91 
93 
94 }; // class ExpressionIO
95 
96 
97 } // namespace Kratos
Container variable data holder.
Definition: container_expression.h:80
Construct a new domain expression input.
Definition: domain_size_expression_io.h:49
Utility class for domain size IO.
Definition: domain_size_expression_io.h:38
Kratos::intrusive_ptr< Expression > Pointer
Definition: expression.h:44
Definition: expression_io.h:25
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
#define KRATOS_API(...)
Definition: kratos_export_api.h:40
DataLocation
Enum for location of data.
Definition: global_variables.h:48
void Read(LiteralFlatExpression< std::conditional_t< std::is_same_v< TDataType, int >, int, double >> &rExpression, const IndexType EntityDataBeginIndex, const TDataType &rValue, std::index_sequence< TIndex... >)
Definition: variable_expression_data_io.cpp:31
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21