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.
kratos_wrapper.h
Go to the documentation of this file.
1 // _____ _____ _ __ __ _ _ _ _
2 // / ____|/ ____| | \ \ / / /\ | (_) | | (_)
3 // | | | (___ | |__ __ _ _ __ _ _\ \ /\ / / __ __ _ _ __ _ __ ___ _ __ / \ _ __ _ __ | |_ ___ __ _| |_ _ ___ _ __
4 // | | \___ \| '_ \ / _` | '__| '_ \ \/ \/ / '__/ _` | '_ \| '_ \ / _ \ '__/ /\ \ | '_ \| '_ \| | |/ __/ _` | __| |/ _ \| '_ |
5 // | |____ ____) | | | | (_| | | | |_) \ /\ /| | | (_| | |_) | |_) | __/ | / ____ \| |_) | |_) | | | (_| (_| | |_| | (_) | | | |
6 // \_____|_____/|_| |_|\__,_|_| | .__/ \/ \/ |_| \__,_| .__/| .__/ \___|_|/_/ \_\ .__/| .__/|_|_|\___\__,_|\__|_|\___/|_| |_|
7 // | | | | | | | | | |
8 // |_| |_| |_| |_| |_|
9 //
10 //
11 // License: BSD License
12 // license: CSharpWrapperApplication/license.txt
13 //
14 // Main authors: Hubert Balcerzak
15 
16 #ifndef KRATOSMULTIPHYSICS_KRATOS_WRAPPER_H
17 #define KRATOSMULTIPHYSICS_KRATOS_WRAPPER_H
18 
19 // System includes
20 
21 // External includes
22 
23 // Project includes
24 #include "kratos_internals.h"
25 #include "includes/node.h"
26 #include "model_part_wrapper.h"
27 
28 namespace CSharpKratosWrapper {
29 
32 
33  class KratosWrapper {
34 
35  public:
36 
38 
39  void init(const char *MDPAFilePath, const char *JSONFilePath = NULL);
40 
41  void initWithSettings(const char *JSONFilePath = NULL);
42 
43  void calculate();
44 
46 
47  private:
48  KratosInternals mKratosInternals;
49  std::vector<NodeType::Pointer> mFixedNodes;
50  ModelPartWrapper* pmMainModelPartWrapper;
51 
52  void freeNodes();
53 
54  };
55 }
56 
57 #endif //KRATOSMULTIPHYSICS_KRATOS_WRAPPER_H
Definition: kratos_internals.h:62
Definition: kratos_wrapper.h:33
ModelPartWrapper * getRootModelPartWrapper()
Definition: kratos_wrapper.cpp:100
~KratosWrapper()
Definition: kratos_wrapper.cpp:96
void calculate()
Definition: kratos_wrapper.cpp:91
void initWithSettings(const char *JSONFilePath=NULL)
Definition: kratos_wrapper.cpp:54
void init(const char *MDPAFilePath, const char *JSONFilePath=NULL)
Definition: kratos_wrapper.cpp:26
Definition: model_part_wrapper.h:38
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
Definition: id_translator.h:28