Karamelo  714599e9
Parallel Material Point Method Simulator
mpm.h
1 /* -*- c++ -*- ----------------------------------------------------------
2  *
3  * *** Karamelo ***
4  * Parallel Material Point Method Simulator
5  *
6  * Copyright (2019) Alban de Vaucorbeil, alban.devaucorbeil@monash.edu
7  * Materials Science and Engineering, Monash University
8  * Clayton VIC 3800, Australia
9 
10  * This software is distributed under the GNU General Public License.
11  *
12  * ----------------------------------------------------------------------- */
13 
14 #ifndef MPM_MPM_H
15 #define MPM_MPM_H
16 
17 #include <stdio.h>
18 #include <stdlib.h>
19 #include <iostream>
20 #include <string>
21 #include <fstream>
22 #include <map>
23 #include <mpi.h>
24 
25 using namespace std;
26 
29 class MPM {
30 
31  public:
32 
33  class Memory *memory;
34  class Error *error;
35  class Universe *universe;
36  class Input *input;
37  class Output *output;
38 
39  class Domain *domain;
40  class Material *material;
41  class Update *update;
42  class Modify *modify;
43  class Group *group;
44 
45  MPI_Comm world;
46  double initclock;
47 
48  filebuf infile;
49  //filebuf logfile; ///< logfile
50  ofstream *wlogfile;
51 
52  MPM(int, char **, MPI_Comm);
53  ~MPM();
54  void init();
55 
56 private:
57  void help();
58  MPM() {};
59  MPM(const MPM &) {};
60 };
61 
62 #endif
ofstream * wlogfile
log file
Definition: mpm.h:50
Definition: error.h:22
class Group * group
groups of particles
Definition: mpm.h:43
filebuf infile
input file
Definition: mpm.h:48
Definition: universe.h:25
class Error * error
error handling
Definition: mpm.h:34
Definition: mpm.h:29
MPI_Comm world
MPI communicator.
Definition: mpm.h:45
Definition: output.h:23
class Modify * modify
fixes and computes
Definition: mpm.h:42
class Universe * universe
universe of processors
Definition: mpm.h:35
class Output * output
logs/dump/restart
Definition: mpm.h:37
class Memory * memory
memory allocation functions
Definition: mpm.h:33
class Update * update
pointer to update
Definition: mpm.h:41
Definition: input.h:30
double initclock
wall clock at instantiation
Definition: mpm.h:46
Definition: material.h:70
Definition: memory.h:29
Definition: domain.h:34
class Material * material
material
Definition: mpm.h:40
class Input * input
input script processing
Definition: mpm.h:36
class Domain * domain
simulation box
Definition: mpm.h:39
Definition: update.h:21