waves
Basic FE playground
wProblem.h
Go to the documentation of this file.
1 #ifndef KATOPTRON_PROBLEM_H
2 #define KATOPTRON_PROBLEM_H
3 
4 #include "katoptron.h"
5 #include "wObject.h"
6 #include <iostream>
7 #include <vector>
8 #include <string>
9 #include <memory>
10 
11 #include <mpi.h>
12 
13 namespace katoptron
14 {
15 
19 class KATOPTRON_API Problem : public fwk::wSharedObject
20 {
21 public:
22  std::shared_ptr<tbox::MshData> msh;
23 
24  MPI_Comm comm;
25 #ifndef SWIG
26  std::vector<Medium *> media = {};
27  std::vector<Dirichlet *> duBCs = {};
28  std::vector<Neumann *> nBCs = {};
29  std::vector<Contact *> Contacts = {};
30  std::vector<Source *> Sources = {};
31  std::vector<std::shared_ptr<RandomVariable>> RandomVariables = {};
32  std::vector<Weight *> Weights = {};
33 #endif
34  Problem(std::shared_ptr<tbox::MshData> _msh, MPI_Comm _comm);
35  ~Problem() { std::cout << "~Problem()\n"; }
36 
37  void add(std::shared_ptr<RandomVariable> r);
38 #ifndef SWIG
39  virtual void write(std::ostream &out) const;
40 #endif
41 };
42 
43 } // namespace katoptron
44 
45 #endif //KATOPTRON_PROBLEM_H
katoptron::Problem::comm
MPI_Comm comm
Definition: wProblem.h:24
KATOPTRON_API
#define KATOPTRON_API
Definition: katoptron.h:13
katoptron
katoptron namespace
Definition: Algebraic.h:18
katoptron::Problem::~Problem
~Problem()
Definition: wProblem.h:35
katoptron::Problem
Class which is used to specify in Python the thermomechanical to solve.
Definition: wProblem.h:19
katoptron.h
katoptron::Problem::msh
std::shared_ptr< tbox::MshData > msh
Mesh structure.
Definition: wProblem.h:22