← Back to team overview

yade-users team mailing list archive

Gravity Triaxial

 

Hi Bruno,


I have been trying to apply the gravity after the compaction phase in the
triaxial, but it seems not working.. (up to me).
Basically I am doing something like this inside the loop
currentState==STATE_TRIAX_LOADING in the applyCondition function:


// Fix boundaries
wall_bottom_activated=false; wall_top_activated=false;
wall_front_activated=false; wall_back_activated=false;
wall_right_activated=false; wall_left_activated=false;
// Apply gravity gradually
Vector3r gmax=Vector3r(0,-9810,0);
Vector3r deltag=Vector3r(0,0,0);
deltag=gmax/100; // apply the gravity in 100 steps
 if (fabs(g[1])<fabs(gmax[1]))
        {
            g=g+deltag;
        } else {
            Omega::instance().stopSimulationLoop();
        }


The variable g=Vector3r(0,0,0) is defined in the constructor of the
TriaxialCompressionEngine.
Of course in the TriaxialTest class I access the current value of g at each
iteration (that should remain equal to zero until
currentState==STATE_TRIAX_LOADING.
Such as:


gravityCondition->gravity = triaxialcompressionEngine->g; // set gravity to
the value in triaxialcompressionEngine
rootBody->engines.push_back(gravityCondition);


After the application of the gravity I expect a change (an increasing) of
the stresses on the walls (at the bottom I expect a stress increment equal
to the weight of the sample over the area), and maybe a change also in the
value of the porosity but it seems nothing happens.
Sorry if I ask you again, could you just see if I am wrong somewhere
according to your code?


Thanks a lot.
Cheers,
Chiara

Follow ups