yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #00983
[svn] r1671 - in trunk/pkg: common/Engine/StandAloneEngine dem/DataClass/InteractionGeometry dem/Engine/DeusExMachina
Author: eudoxos
Date: 2009-02-19 20:30:25 +0100 (Thu, 19 Feb 2009)
New Revision: 1671
Modified:
trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp
trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.cpp
trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.hpp
trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp
trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp
Log:
1. Make triaxial stop if !autoCompressionActivation and already unloaded. If this breaks something, please let me know, we can do it otherwise, but, for Cundall's sake, can we keep the same behavior for at least 6 months??
2. SpatialQuickSortCollider will not delete real contacts, even if bodies don't collide.
3. Remove redundant attribute registration from SpheresContactGeometry
Modified: trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp 2009-02-17 20:49:02 UTC (rev 1670)
+++ trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp 2009-02-19 19:30:25 UTC (rev 1671)
@@ -105,7 +105,7 @@
ii = transientInteractions->begin();
iiEnd = transientInteractions->end();
for( ; ii!=iiEnd ; ++ii)
- if ( ! (interaction = *ii)->cycle ) transientInteractions->erase( interaction->getId1(), interaction->getId2());
+ if ( !(interaction = *ii)->cycle && !interacion->isReal ) transientInteractions->erase( interaction->getId1(), interaction->getId2());
}
Modified: trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.cpp
===================================================================
--- trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.cpp 2009-02-17 20:49:02 UTC (rev 1670)
+++ trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.cpp 2009-02-19 19:30:25 UTC (rev 1671)
@@ -63,7 +63,7 @@
Real SpheresContactGeometry::slipToDisplacementTMax(Real displacementTMax){
assert(hasShear);
// very close, reset shear
- if(displacementTMax<=Mathr::ZERO_TOLERANCE){ setTgPlanePts(Vector3r(0,0,0),Vector3r(0,0,0)); return displacementTMax;}
+ if(displacementTMax<=0.){ setTgPlanePts(Vector3r(0,0,0),Vector3r(0,0,0)); return displacementTMax;}
// otherwise
Vector3r p1=contPtInTgPlane1(), p2=contPtInTgPlane2();
Real currDistSq=(p2-p1).SquaredLength();
Modified: trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.hpp
===================================================================
--- trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.hpp 2009-02-17 20:49:02 UTC (rev 1670)
+++ trunk/pkg/dem/DataClass/InteractionGeometry/SpheresContactGeometry.hpp 2009-02-19 19:30:25 UTC (rev 1671)
@@ -103,7 +103,6 @@
(contactPoint)
(radius1)
(radius2)
- (contactPoint) // to allow access from python
(facetContactFace)
// hasShear
(hasShear)
Modified: trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp
===================================================================
--- trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp 2009-02-17 20:49:02 UTC (rev 1670)
+++ trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp 2009-02-19 19:30:25 UTC (rev 1671)
@@ -177,13 +177,16 @@
else if ( currentState==STATE_ISO_UNLOADING && autoCompressionActivation ) {
doStateTransition (ncb, STATE_TRIAX_LOADING ); computeStressStrain ( ncb );
}
+ // stop simulation if unloaded and compression is not activate automatically
+ else if (currentState==STATE_ISO_UNLOADING && !autoCompressionActivation){
+ Omega::instance().stopSimulationLoop();
+ }
// huh?! this will never happen, because of the first condition...
else
{
doStateTransition (ncb, STATE_LIMBO );
}
}
-
else if ( porosity<=fixedPorosity && currentState==STATE_FIXED_POROSITY_COMPACTION )
{
Omega::instance().stopSimulationLoop();
Modified: trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp
===================================================================
--- trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp 2009-02-17 20:49:02 UTC (rev 1670)
+++ trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp 2009-02-19 19:30:25 UTC (rev 1671)
@@ -33,7 +33,7 @@
* the mean pressure sigmaLateralConfinement is reached (and stabilizes).
* NOTE: this state will be skipped if sigmaLateralConfinement == sigmaIsoCompaction.
* 3. STATE_TRIAX_LOADING: confined uniaxial compression:
- * constant sigmaLateralConfinement is kept at lateral walls (left, right, front, back), while
+ * constant sigmaLateralConfinement is kept at lateral walls (left, right, front, back), while
* top and bottom walls load the packing in their axis (by straining), until the value of epsilonMax
* (deformation along the loading axis) is reached. At this point, the simulation is stopped.
* 4. STATE_FIXED_POROSITY_COMPACTION: isotropic compaction (compression) until