~ubuntu-branches/ubuntu/trusty/yade/trusty

« back to all changes in this revision

Viewing changes to pkg/dem/ViscoelasticPM.hpp

  • Committer: Package Import Robot
  • Author(s): Anton Gladky, cf3f8d9
  • Date: 2013-10-30 20:56:33 UTC
  • mfrom: (20.1.9 sid)
  • Revision ID: package-import@ubuntu.com-20131030205633-1f01r7hjce17d723
Tags: 1.05.0-2
[cf3f8d9] Pass -ftrack-macro-expansion=0 only if gcc>=4.8. (Closes: #726009)

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
                ((Real,cn,NaN,,"Normal viscous constant"))
22
22
                ((Real,ks,NaN,,"Shear elastic stiffness"))
23
23
                ((Real,cs,NaN,,"Shear viscous constant"))
24
 
                ((Real,frictionAngle,NaN,,"Friction angle [rad]")),
 
24
                ((Real,frictionAngle,NaN,,"Friction angle [rad]"))
 
25
                ((bool,massMultiply,true,,"Stiffness and viscosity are multiplied by the reduced mass. If massMultiply=false, these parameter are set explicitly without mass multiplication"))
 
26
                ((Real,mR,0.0,,"Rolling resistance, see [Zhou1999536]_."))
 
27
                ((unsigned int,mRtype,1,,"Rolling resistance type, see [Zhou1999536]_. mRtype=1 - equation (3) in [Zhou1999536]_; mRtype=2 - equation (4) in [Zhou1999536]_."))
 
28
                ((bool,Capillar,false,,"True, if capillar forces need to be added."))
 
29
                ((Real,Vb,NaN,,"Liquid bridge volume [m^3]"))
 
30
                ((Real,gamma,NaN,,"Surface tension [N/m]"))
 
31
                ((Real,theta,NaN,,"Contact angle [°]"))
 
32
                ((std::string,CapillarType,"",,"Different types of capillar interaction: Willett_numeric, Willett_analytic [Willett2000]_ , Weigert [Weigert1999]_ , Rabinovich [Rabinov2005]_ ")),
25
33
                createIndex();
26
34
        );
27
35
        REGISTER_CLASS_INDEX(ViscElMat,Material);
32
40
class ViscElPhys : public FrictPhys{
33
41
        public:
34
42
                virtual ~ViscElPhys();
 
43
                Real R;
35
44
        YADE_CLASS_BASE_DOC_ATTRS_CTOR(ViscElPhys,FrictPhys,"IPhys created from :yref:`ViscElMat`, for use with :yref:`Law2_ScGeom_ViscElPhys_Basic`.",
36
45
                ((Real,cn,NaN,,"Normal viscous constant"))
37
 
                ((Real,cs,NaN,,"Shear viscous constant")),
 
46
                ((Real,cs,NaN,,"Shear viscous constant"))
 
47
                ((Real,mR,0.0,,"Rolling resistance, see [Zhou1999536]_."))
 
48
                ((unsigned int,mRtype,1,,"Rolling resistance type, see [Zhou1999536]_. mRtype=1 - equation (3) in [Zhou1999536]_; mRtype=2 - equation (4) in [Zhou1999536]_"))
 
49
                ((bool,Capillar,false,,"True, if capillar forces need to be added."))
 
50
                ((bool,liqBridgeCreated,false,,"Whether liquid bridge was created, only after a normal contact of spheres"))
 
51
                ((Real,sCrit,false,,"Critical bridge length [m]"))
 
52
                ((Real,Vb,NaN,,"Liquid bridge volume [m^3]"))
 
53
                ((Real,gamma,NaN,,"Surface tension [N/m]"))
 
54
                ((Real,theta,NaN,,"Contact angle [rad]"))
 
55
                ((std::string,CapillarType,"",,"Different types of capillar interaction: Willett_numeric, Willett_analytic, Weigert, Rabinovich")),
38
56
                createIndex();
39
57
        )
40
58
};
58
76
class Law2_ScGeom_ViscElPhys_Basic: public LawFunctor {
59
77
        public :
60
78
                virtual void go(shared_ptr<IGeom>&, shared_ptr<IPhys>&, Interaction*);
 
79
        private:
 
80
                Real calculateCapillarForce(const ScGeom& geom, ViscElPhys& phys);
61
81
        FUNCTOR2D(ScGeom,ViscElPhys);
62
 
        YADE_CLASS_BASE_DOC(Law2_ScGeom_ViscElPhys_Basic,LawFunctor,"Linear viscoelastic model operating on :yref:`ScGeom` and :yref:`ViscElPhys`.");
 
82
        YADE_CLASS_BASE_DOC(Law2_ScGeom_ViscElPhys_Basic,LawFunctor,"Linear viscoelastic model operating on :yref:`ScGeom` and :yref:`ViscElPhys`. The model is mostly based on the paper for For details see Pournin [Pournin2001]_ .");
63
83
};
64
84
REGISTER_SERIALIZABLE(Law2_ScGeom_ViscElPhys_Basic);