~ubuntu-branches/debian/jessie/yade/jessie

« back to all changes in this revision

Viewing changes to pkg/common/Cylinder.hpp

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2014-08-04 19:34:58 UTC
  • mfrom: (1.1.11)
  • Revision ID: package-import@ubuntu.com-20140804193458-cw8qhnujxe9wzi15
Tags: 1.11.0-1
* [a0600ae] Imported Upstream version 1.11.0
* [a3055e0] Do not use parallel build on kfreebsd-amd64 and s390x.
* [f86b405] Remove applied patches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
#ifdef YADE_OPENGL
11
11
        #include<yade/pkg/common/GLDrawFunctors.hpp>
12
12
#endif
13
 
#include<yade/pkg/dem/CohFrictPhys.hpp>
14
 
#include<yade/pkg/dem/CohFrictMat.hpp>
15
 
#include<yade/pkg/dem/Ip2_CohFrictMat_CohFrictMat_CohFrictPhys.hpp>
 
13
#include<yade/pkg/dem/CohesiveFrictionalContactLaw.hpp>
16
14
#include<yade/pkg/common/CylScGeom6D.hpp>
17
15
 
18
16
class Cylinder: public Sphere{
220
218
class Law2_CylScGeom_FrictPhys_CundallStrack: public LawFunctor{
221
219
        public:
222
220
                //OpenMPAccumulator<Real> plasticDissipation;
223
 
                virtual void go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
 
221
                virtual bool go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
224
222
                //Real elasticEnergy ();
225
223
                //Real getPlasticDissipation();
226
224
                //void initPlasticDissipation(Real initVal=0);
241
239
class Law2_CylScGeom6D_CohFrictPhys_CohesionMoment: public LawFunctor {
242
240
public:
243
241
    //OpenMPAccumulator<Real> plasticDissipation;
244
 
    virtual void go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
 
242
    virtual bool go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
245
243
    //Real elasticEnergy ();
246
244
    //Real getPlasticDissipation();
247
245
    //void initPlasticDissipation(Real initVal=0);
267
265
class Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment: public LawFunctor {
268
266
public:
269
267
    //OpenMPAccumulator<Real> plasticDissipation;
270
 
    virtual void go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
 
268
    virtual bool go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
271
269
    YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY(Law2_ChCylGeom6D_CohFrictPhys_CohesionMoment,LawFunctor,"Law for linear compression, and Mohr-Coulomb plasticity surface without cohesion.\nThis law implements the classical linear elastic-plastic law from [CundallStrack1979]_ (see also [Pfc3dManual30]_). The normal force is (with the convention of positive tensile forces) $F_n=\\min(k_n u_n, 0)$. The shear force is $F_s=k_s u_s$, the plasticity condition defines the maximum value of the shear force : $F_s^{\\max}=F_n\\tan(\\phi)$, with $\\phi$ the friction angle.\n\n.. note::\n This law is well tested in the context of triaxial simulation, and has been used for a number of published results (see e.g. [Scholtes2009b]_ and other papers from the same authors). It is generalised by :yref:`Law2_ScGeom6D_CohFrictPhys_CohesionMoment`, which adds cohesion and moments at contact.",
272
270
                                      ((bool,neverErase,false,,"Keep interactions even if particles go away from each other (only in case another constitutive law is in the scene, e.g. :yref:`Law2_ScGeom_CapillaryPhys_Capillarity`)"))
273
271
                                      ((bool,traceEnergy,false,Attr::hidden,"Define the total energy dissipated in plastic slips at all contacts."))