Karamelo  714599e9
Parallel Material Point Method Simulator
eos.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_EOS_H
15 #define MPM_EOS_H
16 
17 #include "pointers.h"
18 #include <vector>
19 #include <Eigen/Eigen>
20 
26 class EOS : protected Pointers {
27  public:
28  string id;
29 
30  EOS(class MPM *, vector<string>);
31  virtual ~EOS();
32  virtual void init();
33  void options(vector<string> *, vector<string>::iterator);
34 
35  // implemented by each EOS
36  //virtual compute_pressure()
37  virtual double rho0() = 0;
38  virtual double K() = 0;
39  virtual void compute_pressure(double &, double&, const double, const double, const double, const double, const Eigen::Matrix3d, const double) = 0;
40  //protected:
41 };
42 
43 #endif
44 
Definition: mpm.h:29
Definition: eos.h:26
Definition: pointers.h:29