New question #683543 on Yade:
https://answers.launchpad.net/yade/+question/683543

Hello, 

I want to run the undrained triaxial test and I have tried two servo control 
mechanism. One control mechanism works but the other doesn't. So I want to ask 
why one works but the other doesn't while they seemed same to me.

1.  run "servo()" that I defined every step in the O.engine, this method 
doesn't work

t0=O.time
O.cell.trsf=Matrix3.Identity 

O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_ScGeom_FrictPhys_CundallStrack()]),       
        NewtonIntegrator(damping=0.05),
        GlobalStiffnessTimeStepper(),
        PyRunner(command='servo', iterPeriod=1),]

def servo():
        ratex=-0.05 
        
ratey=0.5*sqrt(1-0.05*(O.time-t0))*0.05/(1-0.05*(O.time-t0))/(1-0.05*(O.time-t0))
   # derivative to time, d(sqrt(1/1-0.05*t))/dt
        
ratez=0.5*sqrt(1-0.05*(O.time-t0))*0.05/(1-0.05*(O.time-t0))/(1-0.05*(O.time-t0))
   # derivative to time, d(sqrt(1/1-0.05*t))/dt
        O.cell.velGrad=Matrix3(ratex,0,0,0,ratey,0,0,0,ratez)

2.  do not run "servo" that I defined, instead, just add two sentences at the 
end of the script, this method works
O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_ScGeom_FrictPhys_CundallStrack()]),       
        NewtonIntegrator(damping=0.05),
        GlobalStiffnessTimeStepper(),]

O.cell.trsf=Matrix3.Identity 
O.cell.velGrad=Matrix3(-0.05, 0, 0, 0, 0.025, 0, 0, 0, 0.025)

In the first servo control mechanism, the volume continues to increase, which 
is wrong. In the second mechanism, the volume only decreases negligibly, which 
is right. If I put the O.cell.trsf=Matrix3.Identity in the "servo" in the first 
method, do you think it can work? Do you know the reason for this?

Thank you!
Regards,
Yuxuan

-- 
You received this question notification because your team yade-users 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

Reply via email to