Question #240167 on Yade changed:
https://answers.launchpad.net/yade/+question/240167

    Status: Answered => Open

Hicham BENNIOU is still having a problem:
Here is the script :

from yade import pack, qt, plot

# Vars definition
specimenLength = 15.0
spheresInCell = 2000
sphereRadius= 3.5e-3
intRadius = 1.5 #Interaction Radius

sigmaT=3.5e6,
epsCrackOnset=1e-4,
relDuctility=30,
isoPrestress=-50000000, #isotropic confinment

strainRateTension=0.5,
strainRateCompression=.5,

youngConcrete = 24e9
youngWalls = 0.5

poissonConcrete = 0.2
poissonWalls = 0.5

frictionAngleConcrete = atan(0.8)
frictionAngleWalls = 0

densityConcrete = 4800
densityWalls = 0

damping=0.4

#Create walls around the packing of spheres
min = Vector3(-.5*specimenLength,-.5*specimenLength,-.5*specimenLength)
max = Vector3(.5*specimenLength,.5*specimenLength,.5*specimenLength)

Walls =aabbWalls([min,max], thickness = 0)
wallIds = O.bodies.append(Walls)

#Definig Concrete material and packing spheres
concreteId=O.materials.append(CpmMat(young=youngConcrete,frictionAngle=frictionAngleConcrete,poisson=poissonConcrete,density=densityConcrete,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress))
sp=pack.randomDensePack(pack.inAlignedBox(min,max),spheresInCell=spheresInCell,radius=sphereRadius,returnSpherePack=True)
sp.toSimulation(material=concreteId)

# Defining Engines
TriaxEngine = TriaxialStressController(
      maxMultiplier=1.+2e4/youngConcrete,
      finalMaxMultiplier=1.+2e3/youngConcrete,
      thickness = 0,
      stressMask = 7, # 7=111, 1->x, 1->y and 1->z, which means stress is 
controlled on xyz
      internalCompaction=True,
)

O.engines=[
        ForceResetter(),
        
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()],verletDist=.05*sphereRadius),
        InteractionLoop(
                
[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius),Ig2_Box_Sphere_ScGeom()],
                [Ip2_CpmMat_CpmMat_CpmPhys()],
                [Law2_ScGeom_CpmPhys_Cpm()],
        ),
        
        TriaxEngine,
        
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
        PyRunner(iterPeriod=10,initRun=True,command='history()'),
        TriaxialStateRecorder(iterPeriod=100,file='~/Bureau/WallStresses'),

        NewtonIntegrator(damping=damping,gravity=(0.,0.,-10.)),
]

# record and plot data

def history():
  plot.addData(e11=TriaxEngine.strain[0], e22=TriaxEngine.strain[1], 
e33=TriaxEngine.strain[2], 
                
ev=-TriaxEngine.strain[0]-TriaxEngine.strain[1]-TriaxEngine.strain[2],
                s11=TriaxEngine.stress(TriaxEngine.wall_right_id)[0],
                s22=TriaxEngine.stress(TriaxEngine.wall_top_id)[1],
                s33=TriaxEngine.stress(TriaxEngine.wall_front_id)[2],
                i=O.iter
        )

O.run(10000)

plot.plots={'e22':('s11','s22','s33','ev')}
plot.plot()

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.

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

Reply via email to