yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #12898
[Branch ~yade-pkg/yade/git-trunk] Rev 3952: making all Law2::go virtual
------------------------------------------------------------
revno: 3952
committer: Jan Stransky <jan.stransky@xxxxxxxxxxx>
timestamp: Fri 2016-10-21 15:50:25 +0200
message:
making all Law2::go virtual
modified:
pkg/dem/BubbleMat.hpp
pkg/dem/ConcretePM.hpp
pkg/dem/MortarMat.hpp
--
lp:yade
https://code.launchpad.net/~yade-pkg/yade/git-trunk
Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription
=== modified file 'pkg/dem/BubbleMat.hpp'
--- pkg/dem/BubbleMat.hpp 2014-10-15 06:44:01 +0000
+++ pkg/dem/BubbleMat.hpp 2016-10-21 13:50:25 +0000
@@ -74,7 +74,7 @@
Real c1; //Coeff used for many contacts
public:
- bool go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* interaction);
+ virtual bool go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* interaction);
FUNCTOR2D(GenericSpheresContact,BubblePhys);
YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY(Law2_ScGeom_BubblePhys_Bubble,LawFunctor,"Constitutive law for Bubble model.",
((Real,pctMaxForce,0.1,,"Chan[2011] states the contact law is valid only for small interferences; therefore an exponential force-displacement curve models the contact stiffness outside that regime (large penetration). This artificial stiffening ensures that bubbles will not pass through eachother or completely overlap during the simulation. The maximum force is Fmax = (2*pi*surfaceTension*rAvg). pctMaxForce is the percentage of the maximum force dictates the separation threshold, Dmax, for each contact. Penetrations less than Dmax calculate the reaction force from the derived contact law, while penetrations equal to or greater than Dmax calculate the reaction force from the artificial exponential curve."))
=== modified file 'pkg/dem/ConcretePM.hpp'
--- pkg/dem/ConcretePM.hpp 2016-06-01 06:46:05 +0000
+++ pkg/dem/ConcretePM.hpp 2016-10-21 13:50:25 +0000
@@ -259,7 +259,7 @@
class Law2_ScGeom_CpmPhys_Cpm: public LawFunctor{
public:
- bool go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
+ virtual bool go(shared_ptr<IGeom>& _geom, shared_ptr<IPhys>& _phys, Interaction* I);
Real elasticEnergy();
Real yieldSigmaTMagnitude(Real sigmaN, Real omega, Real undamagedCohesion, Real tanFrictionAngle) {
=== modified file 'pkg/dem/MortarMat.hpp'
--- pkg/dem/MortarMat.hpp 2016-04-19 01:32:36 +0000
+++ pkg/dem/MortarMat.hpp 2016-10-21 13:50:25 +0000
@@ -83,7 +83,7 @@
class Law2_ScGeom_MortarPhys_Lourenco: public LawFunctor{
public:
- bool go(shared_ptr<IGeom>& iGeom, shared_ptr<IPhys>& iPhys, Interaction* interaction);
+ virtual bool go(shared_ptr<IGeom>& iGeom, shared_ptr<IPhys>& iPhys, Interaction* interaction);
FUNCTOR2D(GenericSpheresContact,MortarPhys);
YADE_CLASS_BASE_DOC(Law2_ScGeom_MortarPhys_Lourenco,LawFunctor,"Material law for mortar layer according to [Lourenco1994]_. The contact behaves elastic until brittle failure when reaching strength envelope. The envelope has three parts.\n\nTensile with condition $\\sigma_N-f_t$.\n\nShear part with Mohr-Coulomb condition $|\\sigma_T|+\\sigma_N\\tan\\varphi-c$.\n\nCompressive part with condition $\\sigma_N^2+A^2\\sigma_T^2-f_c^2$\n\nThe main idea is to begin simulation with this model and when the contact is broken, to use standard non-cohesive Law2_PolyhedraGeom_PolyhedraPhys_Volumetric."
);