Question #261724 on Yade changed: https://answers.launchpad.net/yade/+question/261724
Jan Stránský proposed the following answer: Could you also show us the Python script you use? Thanks Jan 2015-02-05 19:21 GMT+01:00 behzad <question261...@answers.launchpad.net>: > Question #261724 on Yade changed: > https://answers.launchpad.net/yade/+question/261724 > > behzad posted a new comment: > I paste it here. How can I attach files? > > // 2014 © Behzad Majidi <behzad.maj...@gmail.com> > // 2014 © Ricardo Pieralisi <ricpieral...@gmail.com> > > #pragma once > > #include<core/Material.hpp> > #include<pkg/dem/FrictPhys.hpp> > #include<pkg/dem/ViscoelasticPM.hpp> > #include<pkg/dem/CohesiveFrictionalContactLaw.hpp> > #include<pkg/common/Dispatching.hpp> > #include<pkg/dem/ScGeom.hpp> > #include<pkg/dem/DemXDofGeom.hpp> > #include<pkg/common/MatchMaker.hpp> > > > //********************** CohBurgersMat ****************************/ > > class CohBurgersMat : public CohFrictMat > { > public : > virtual ~CohBurgersMat () {}; > > /// Serialization > YADE_CLASS_BASE_DOC_ATTRS_CTOR(CohBurgersMat,CohFrictMat,"", > ((Real,kmn,NaN,,"Normal elastic stiffness for Maxwell.")) > ((Real,cmn,NaN,,"Normal viscous constant for Maxwell.")) > ((Real,kms,NaN,,"Shear elastic stiffness for Maxwell.")) > ((Real,cms,NaN,,"Shear viscous constant for Maxwell.")) > ((Real,kkn,NaN,,"Normal elastic stiffness for Kelvin.")) > ((Real,ckn,NaN,,"Normal viscous constant for Kelvin.")) > ((Real,kks,NaN,,"Shear elastic stiffness for Kelvin.")) > ((Real,cks,NaN,,"Shear viscous constant for Kelvin.")), > createIndex(); > ); > /// Indexable > REGISTER_CLASS_INDEX(CohBurgersMat,CohFrictMat); > }; > > REGISTER_SERIALIZABLE(CohBurgersMat); > > > //********************** CohBurgersPhys ****************************/ > > class CohBurgersPhys : public CohFrictPhys > { > public : > virtual ~CohBurgersPhys() {}; > void SetBreakingState() {cohesionBroken = true; > normalAdhesion = 0; shearAdhesion = 0;}; > > YADE_CLASS_BASE_DOC_ATTRS_CTOR(CohBurgersPhys,CohFrictPhys,"", > ((Real,kmn,NaN,,"Stiffness of Maxwell's spring(normal)")) > ((Real,kkn,NaN,,"Stiffness of Kelvin's spring(normal)")) > ((Real,cmn,NaN,,"Viscosity of Maxwell's dashpot(normal)")) > ((Real,ckn,NaN,,"Viscosity of Kelvin's dashpot(normal)")) > ((Real,kms,NaN,,"Stiffness of Maxwell's spring(shear)")) > ((Real,kks,NaN,,"Stiffness of Kelvin's spring(shear)")) > ((Real,cms,NaN,,"Viscosity of Maxwell's dashpot(shear)")) > ((Real,cks,NaN,,"Viscosity of Kelvin's dashpot(shear)")) > ((Vector3r,ukn,Vector3r(0,0,0),,"Normal displacement")) > ((Vector3r,uks,Vector3r(0,0,0),,"Shear displacement")), > createIndex(); > ) > REGISTER_CLASS_INDEX(CohBurgersPhys,CohFrictPhys); > }; > > REGISTER_SERIALIZABLE(CohBurgersPhys); > > > //********************** Ip2_CohBurgersMat_CohBurgersMat_CohBurgersPhys > ****************************/ > > class Ip2_CohBurgersMat_CohBurgersMat_CohBurgersPhys: public IPhysFunctor > { > public : > virtual void go( const > shared_ptr<Material>& b1, > const > shared_ptr<Material>& b2, > const > shared_ptr<Interaction>& interaction); > virtual void > Calculate_CohBurgersMat_CohBurgersMat_CohBurgersPhys(const > shared_ptr<Material>& b1, const shared_ptr<Material>& b2, const > shared_ptr<Interaction>& interaction, shared_ptr<CohBurgersPhys> phys); > int cohesionDefinitionIteration; > > YADE_CLASS_BASE_DOC_ATTRS_CTOR(Ip2_CohBurgersMat_CohBurgersMat_CohBurgersPhys,IPhysFunctor, > "Convert 2 instances of :yref:`CohBurgersMat` to > :yref:`CohBurgersPhys` using the rule of consecutive connection.", > ((bool,setCohesionNow,false,,"If true, assign cohesion to all > existing contacts")) > ((bool,setCohesionOnNewContacts,false,,"If true, assign cohesion > at all new contacts.")) > , > cohesionDefinitionIteration = -1; > ); > FUNCTOR2D(CohBurgersMat,CohBurgersMat); > }; > REGISTER_SERIALIZABLE(Ip2_CohBurgersMat_CohBurgersMat_CohBurgersPhys); > > > > class Ip2_FrictMat_CohBurgersMat_CohBurgersPhys: public IPhysFunctor > { > public : > virtual void go( const shared_ptr<Material>& b1, > const shared_ptr<Material>& b2, > const shared_ptr<Interaction>& > interaction); > virtual void > Calculate_FrictMat_CohBurgersMat_CohBurgersPhys(const shared_ptr<Material>& > b1, const shared_ptr<Material>& b2, const shared_ptr<Interaction>& > interaction, shared_ptr<CohBurgersPhys> phys); > int cohesionDefinitionIteration; > > YADE_CLASS_BASE_DOC_ATTRS_CTOR(Ip2_FrictMat_CohBurgersMat_CohBurgersPhys,IPhysFunctor, > "converts an interaction of FrictMat and CohBurgersMat to > CohBurgersPhys", > ((bool,setCohesionNow,false,,"If true, assign cohesion to all > existing contacts")) > ((bool,setCohesionOnNewContacts,false,,"If true, assign cohesion > at all new contacts.")) > , > cohesionDefinitionIteration = -1; > ); > FUNCTOR2D(FrictMat,CohBurgersMat); > }; > > REGISTER_SERIALIZABLE(Ip2_FrictMat_CohBurgersMat_CohBurgersPhys); > > > //******************** Law2_ScGeom_CohBurgersPhys_CohesiveBurgers > *************************/ > > > class Law2_ScGeom_CohBurgersPhys_CohesiveBurgers: public LawFunctor { > public: > virtual bool go(shared_ptr<IGeom>& _geom, > shared_ptr<IPhys>& _phys, Interaction*); > > FUNCTOR2D(ScGeom,CohBurgersPhys); > > YADE_CLASS_BASE_DOC(Law2_ScGeom_CohBurgersPhys_CohesiveBurgers, > LawFunctor,""); > > }; > REGISTER_SERIALIZABLE(Law2_ScGeom_CohBurgersPhys_CohesiveBurgers); > > bool computeForceTorqueCohBurgers(shared_ptr<IGeom>& _geom, > shared_ptr<IPhys>& _phys, Interaction* I, Vector3r & force, Vector3r & > torque1, Vector3r & torque2); > > -- > You received this question notification because you are a member of > yade-users, which is an answer contact for Yade. > > _______________________________________________ > Mailing list: https://launchpad.net/~yade-users > Post to : yade-users@lists.launchpad.net > Unsubscribe : https://launchpad.net/~yade-users > More help : https://help.launchpad.net/ListHelp > -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. _______________________________________________ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp