-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathdryrockwalton.h
51 lines (33 loc) · 1.65 KB
/
dryrockwalton.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef RPLIB_DRYROCK_WALTON_H
#define RPLIB_DRYROCK_WALTON_H
#include "rplib/dryrock.h"
class Solid;
class DryRockWalton : public DryRock {
public:
DryRockWalton(const Solid * solid,
const double & friction_weight,
const double & pressure,
const double & porosity,
const double & coord_number, //if coord_number is negative->interpolatevalue from dataset from Murphy
const std::vector<double> & u);
DryRockWalton();
virtual ~DryRockWalton();
// Assignment operator.
DryRockWalton & operator=(const DryRockWalton& rhs);
virtual DryRock * Clone() const;
const Solid * GetSolid() const { return solid_;}
virtual void SetTotalPorosity(double porosity);
private:
//Copy constructor for getting base class variables , used by Clone:
DryRockWalton(const DryRockWalton & rhs) : DryRock(rhs) {}
// Calculate elastic and seismic parameters, to be
// used whenever new information is sent to class.
void ComputeElasticParams();
double CalcCoordNumber() const;
Solid * solid_;
double friction_weight_; //0 = no friction, 1 = high friction
double pressure_;
double coord_number_;
bool calc_coord_number_;
};
#endif