ESyS-Particle  2.3.4
ABCDamping.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef MODEL_ABCDAMPING_H
14 #define MODEL_ABCDAMPING_H
15 
16 // -- project includes --
17 #include "Model/Damping.h"
18 #include "Model/ABCDampingIGP.h"
19 
24  template <class ParticleType>
25  class ABCDamping : public CDamping<ParticleType>
26 {
27  protected:
30  double m_c1;
31 
32  public:
34 
35 
36  typedef double (ABCDamping::* ScalarFieldFunction)() const;
37  typedef pair<bool,double> (ABCDamping::* CheckedScalarFieldFunction)() const;
38  typedef Vec3 (ABCDamping::* VectorFieldFunction)() const;
39 
40  static ScalarFieldFunction getScalarFieldFunction(const string&);
42  static VectorFieldFunction getVectorFieldFunction(const string&);
43 
44  ABCDamping(ParticleType*,ABCDampingIGP*);
45  virtual ~ABCDamping();
46 };
47 
48 #include "Model/ABCDamping.hpp"
49 
50 #endif // MODEL_ABCDAMPING_H
ABCDamping::getCheckedScalarFieldFunction
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: ABCDamping.hpp:69
ABCDampingIGP.h
ABCDamping.hpp
ABCDamping::m_normal
Vec3 m_normal
Definition: ABCDamping.h:29
ABCDamping::ScalarFieldFunction
double(ABCDamping::* ScalarFieldFunction)() const
Definition: ABCDamping.h:36
ABCDamping::getScalarFieldFunction
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: ABCDamping.hpp:52
ABCDamping::ABCDamping
ABCDamping(ParticleType *, ABCDampingIGP *)
Definition: ABCDamping.hpp:29
Damping.h
ABCDamping::m_c1
double m_c1
Definition: ABCDamping.h:30
ABCDamping::CheckedScalarFieldFunction
pair< bool, double >(ABCDamping::* CheckedScalarFieldFunction)() const
Definition: ABCDamping.h:37
ABCDamping::m_pos
Vec3 m_pos
Definition: ABCDamping.h:28
CDamping
Damping of the particle motion by an artificial viscosity.
Definition: Damping.h:30
ABCDamping::ParameterType
ABCDampingIGP ParameterType
Definition: ABCDamping.h:33
ABCDamping::VectorFieldFunction
Vec3(ABCDamping::* VectorFieldFunction)() const
Definition: ABCDamping.h:38
ABCDamping::~ABCDamping
virtual ~ABCDamping()
Definition: ABCDamping.hpp:43
Vec3
Definition: vec3.h:47
ABCDamping
Definition: ABCDamping.h:26
ABCDampingIGP
Definition: ABCDampingIGP.h:24
ABCDamping::getVectorFieldFunction
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: ABCDamping.hpp:86