Author: chareyre
Date: 2009-01-05 16:00:15 +0100 (Mon, 05 Jan 2009)
New Revision: 1608

Modified:
   trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp
   trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp
   trunk/pkg/dem/PreProcessor/TriaxialTest.cpp
   trunk/pkg/dem/PreProcessor/TriaxialTest.hpp
Log:
The "stopSimulation" command in the compression engine is now optional, as 
sometimes you don't want it to stop at all(1).
The default behaviour of the compressionEngine is not affected, with 
autoStopSimulation=true by default.
However, the TriaxialTest IS affected : it sets autoStopSimulation=false by 
default.

(1) : First example, you want to run additional iterations to get an even more 
stable sample. Second example : you just want to see what 
happens if you let it run... which is almost impossible before this change.
 


Modified: trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp
===================================================================
--- trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp    
2009-01-05 13:57:17 UTC (rev 1607)
+++ trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.cpp    
2009-01-05 15:00:15 UTC (rev 1608)
@@ -44,6 +44,7 @@
 
        autoUnload=true;
        autoCompressionActivation=true;
+       autoStopSimulation=true;
 
        UnbalancedForce = 1;
        saveSimulation = false;
@@ -82,6 +83,7 @@
        REGISTER_ATTRIBUTE(translationAxis);
        //REGISTER_ATTRIBUTE(compressionActivated);
        REGISTER_ATTRIBUTE(autoCompressionActivation);
+       REGISTER_ATTRIBUTE(autoStopSimulation);
        REGISTER_ATTRIBUTE(testEquilibriumInterval);
        REGISTER_ATTRIBUTE(currentState);
        REGISTER_ATTRIBUTE(previousState);
@@ -259,7 +261,7 @@
                LOG_INFO("UnbalancedForce="<< UnbalancedForce);
        }
        
-       if ( currentState==STATE_LIMBO )
+       if ( currentState==STATE_LIMBO && autoStopSimulation )
        {               
                Omega::instance().stopSimulationLoop();
                return;

Modified: trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp
===================================================================
--- trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp    
2009-01-05 13:57:17 UTC (rev 1607)
+++ trunk/pkg/dem/Engine/DeusExMachina/TriaxialCompressionEngine.hpp    
2009-01-05 15:00:15 UTC (rev 1608)
@@ -113,6 +113,8 @@
                //! Auto-switch from isotropic compaction or unloading state 
(if sigmaLateralConfinement<sigmaIsoCompaction)
                // to uniaxial compression
                bool autoCompressionActivation;
+               //! Stop the simulation when the sample reach STATE_LIMBO, or 
keep running
+               bool autoStopSimulation;
                //! Auto-switch from isotropic compaction to unloading
                bool autoUnload;
                bool isotropicCompaction;

Modified: trunk/pkg/dem/PreProcessor/TriaxialTest.cpp
===================================================================
--- trunk/pkg/dem/PreProcessor/TriaxialTest.cpp 2009-01-05 13:57:17 UTC (rev 
1607)
+++ trunk/pkg/dem/PreProcessor/TriaxialTest.cpp 2009-01-05 15:00:15 UTC (rev 
1608)
@@ -80,7 +80,9 @@
 #include <boost/random/variate_generator.hpp>
 #include <boost/random/normal_distribution.hpp>
 
+#include<yade/pkg-dem/MicroMacroAnalyser.hpp>
 
+
 CREATE_LOGGER(TriaxialTest);
 
 using namespace boost;
@@ -136,6 +138,7 @@
        StabilityCriterion = 0.01;
        autoCompressionActivation = true;
        autoUnload = true;
+       autoStopSimulation = false;
        maxMultiplier = 1.01;
        finalMaxMultiplier = 1.001;
        
@@ -221,6 +224,7 @@
        REGISTER_ATTRIBUTE(StabilityCriterion);
        REGISTER_ATTRIBUTE(autoCompressionActivation);
        REGISTER_ATTRIBUTE(autoUnload);
+       REGISTER_ATTRIBUTE(autoStopSimulation);
        REGISTER_ATTRIBUTE(recordIntervalIter);
        REGISTER_ATTRIBUTE(saveAnimationSnapshots);
        REGISTER_ATTRIBUTE(AnimationSnapshotsBaseName);
@@ -596,6 +600,7 @@
        triaxialcompressionEngine->StabilityCriterion = StabilityCriterion;
        triaxialcompressionEngine->autoCompressionActivation = 
autoCompressionActivation;
        triaxialcompressionEngine->autoUnload = autoUnload;
+       triaxialcompressionEngine->autoStopSimulation = autoStopSimulation;
        triaxialcompressionEngine->internalCompaction = internalCompaction;
        triaxialcompressionEngine->maxMultiplier = maxMultiplier;
        triaxialcompressionEngine->finalMaxMultiplier = finalMaxMultiplier;
@@ -604,6 +609,8 @@
        triaxialcompressionEngine->translationSpeed = translationSpeed;
        triaxialcompressionEngine->fixedPorosity = fixedPorosity;
        triaxialcompressionEngine->isotropicCompaction = isotropicCompaction;
+       
+       
 
        
        // recording global stress
@@ -652,7 +659,9 @@
        //rootBody->engines.push_back(gravityCondition);
        
        rootBody->engines.push_back(shared_ptr<Engine> (new NewtonsDampedLaw));
-
+       
+       //if (0) rootBody->engines.push_back(shared_ptr<Engine>(new 
MicroMacroAnalyser));
+       
        if(biaxial2dTest) rootBody->engines.push_back(makeItFlat);
        
        //if(!rotationBlocked)

Modified: trunk/pkg/dem/PreProcessor/TriaxialTest.hpp
===================================================================
--- trunk/pkg/dem/PreProcessor/TriaxialTest.hpp 2009-01-05 13:57:17 UTC (rev 
1607)
+++ trunk/pkg/dem/PreProcessor/TriaxialTest.hpp 2009-01-05 15:00:15 UTC (rev 
1608)
@@ -94,6 +94,8 @@
                                ,autoCompressionActivation
                                //! see docs for TriaxialCompressionEngine and 
TriaxialCompressionEngine::autoUnload
                                ,autoUnload
+                               //! stop the simulation or run it forever (i.e. 
until the user stops it)
+                               ,autoStopSimulation
                        
                                ,rotationBlocked
                                ,spheresRandomColor


_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to