Karamelo  714599e9
Parallel Material Point Method Simulator
pointers.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 
15 #ifndef MPM_POINTERS_H
16 #define MPM_POINTERS_H
17 
18 #include "mpm.h"
19 #include "mpmtype.h"
20 
21 #define FLERR __FILE__,__LINE__
22 
23 #define MIN(A,B) ((A) < (B) ? (A) : (B))
24 #define MAX(A,B) ((A) > (B) ? (A) : (B))
25 
26 using namespace std;
27 
29 class Pointers {
30  public:
31  Pointers(MPM *ptr) :
32  mpm(ptr),
33  memory(ptr->memory),
34  error(ptr->error),
35  universe(ptr->universe),
36  input(ptr->input),
37  output(ptr->output),
38  infile(&ptr->infile),
39  //logfile(&ptr->logfile),
40  wlogfile(ptr->wlogfile),
41  domain(ptr->domain),
42  material(ptr->material),
43  update(ptr->update),
44  modify(ptr->modify),
45  group(ptr->group) {}
46  virtual ~Pointers() {}
47  protected:
48  MPM *mpm;
49  Memory *&memory;
50  Error *&error;
51  Universe *&universe;
52  Input *&input;
53  Output *&output;
54 
55  Domain *&domain;
56  Material *&material;
57  Update *&update;
58  Modify *&modify;
59  Group *&group;
60 
61  filebuf *infile;
62  filebuf *logfile;
63  ofstream *&wlogfile;
64 };
65 
66 
67 #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
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
Definition: material.h:70
Definition: memory.h:29
Definition: domain.h:34
class Material * material
material
Definition: mpm.h:40
Definition: pointers.h:29
class Input * input
input script processing
Definition: mpm.h:36
class Domain * domain
simulation box
Definition: mpm.h:39
Definition: update.h:21