Karamelo  714599e9
Parallel Material Point Method Simulator
region.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 /* \page region
15  */
16 
17 #ifndef MPM_REGION_H
18 #define MPM_REGION_H
19 
20 #include "pointers.h"
21 #include <vector>
22 
28 class Region : protected Pointers {
29  public:
30  string id;
31  int interior;
32 
33  Region(class MPM *, vector<string>);
34  virtual ~Region();
35  virtual void init();
36  void options(vector<string> *, vector<string>::iterator);
37 
38  // called by other classes to check point versus region
39 
40  int match(double, double, double);
41 
42  // implemented by each region
43 
44  virtual vector<double> limits() {return vector<double>();};
45  virtual int inside(double, double, double) = 0;
46  //protected:
47 };
48 
49 #endif
50 
Definition: mpm.h:29
int interior
1 for interior, 0 for exterior
Definition: region.h:31
string id
Region identification string.
Definition: region.h:30
Definition: region.h:28
Definition: pointers.h:29