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

Hi,

I'm currently doing a simple compression test. I set the stressMask to be 0 and 
goal1, goal2, goal3 to be -0.1 in the TriaxialStressController. However, when 
the strain reaches -0.1, the compression does not stop. I continue the 
simulation and the strain reaches -0.7 with no tendency to stop. I'm confused 
why this happens. Can anyone help me out?

Here's my code:

############################################
############################################

from yade import pack

SoilMat=CohFrictMat(young=2e9,poisson=0.3,density=2650,frictionAngle=0.7,alphaKr=50,alphaKtw=50,momentRotationLaw=True)
WallMat=CohFrictMat(young=2e20,poisson=0.5,frictionAngle=0.7,density=1000,label='walls',momentRotationLaw=True)
O.materials.append((SoilMat,WallMat))

mn,mx=Vector3(0,0,0),Vector3(100,100,100)
walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)

Particle_num=8000
sp=pack.SpherePack()
sp.makeCloud((0,0,0),(100,100,100),rMean=.5,num=Particle_num)
sp.toSimulation(material=SoilMat)

triax=TriaxialStressController(
        stressMask = 7,
        thickness = 0,
        max_vel=0.05,
        internalCompaction=True, # If true the confining pressure is generated 
by growing particles
        wall_bottom_activated=False,
        wall_back_activated=False,
        wall_left_activated=False,
        goal1 = -30000, goal2 = -30000, goal3 = -30000,
)

newton=NewtonIntegrator(damping=0.2)

O.engines=[
        ForceResetter(),
        
InsertionSortCollider([Bo1_Box_Aabb(),Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
        InteractionLoop(
                
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
                [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
                [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
        ),
        
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
        triax,
        newton,
        PyRunner(command='Step1()',realPeriod=1,label='SLM'),
]

def Step1():
        print(abs((30000+triax.meanStress)/30000))
        if abs((30000+triax.meanStress)/30000)<0.05: 
                triax.stressMask=0
                triax.internalCompaction=False
                triax.goal1=triax.goal2=triax.goal3=-0.1
                SLM.command='Step2()'

def Step2():
        print("%s: %s, %s" % (O.iter,triax.depth,triax.strain))

############################################
############################################


-- 
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