← Back to team overview

yade-users team mailing list archive

[Question #678982]: about TriaxialStressController

 

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

Hello all,

I have a problem. I want to compress particles with an isotropic compaction (for example with 10 kpa compression in the x, y, and z direction) and after that put the stress control in x and y directions (for example 10 kpa) and put strain (for example -0.2) in the z direction. I don't know how should I do this simulation with TriaxialStressController. Could you please give me a hint?
A sample of my code is:
#===========================================
from yade import utils, plot
from yade import pack, qt
from datetime import datetime

O.materials.append(CohFrictMat(normalCohesion= 1e20, shearCohesion= 1e20, isCohesive= True, young=1.95e7, 
density=1532.2, poisson=0.3, frictionAngle= 0.0, fragile=False, label='Coke'))


O.materials.append(CohFrictMat(normalCohesion= 1e20, shearCohesion= 1e20, isCohesive= False, young=4e9, 
density=1523.6, poisson=0.3, frictionAngle= 0.0, fragile=False, label='wall'))

walls=aabbWalls([(0,0,0),(2e-1,2e-1,2e-1)],thickness=0.0003,oversizeFactor=1.0,material='wall')
wallIds=O.bodies.append(walls)

nums=['t']

mats=['Coke']

coke=(5e-3,1000)

nums=pack.SpherePack()

nums.makeCloud((0,0,0),(2e-1,2e-1,2e-1),rMean=coke[0],rRelFuzz=1e-4,num=coke[1])

O.bodies.append([utils.sphere(c,r,material=mats[0],color=(0,0,1)) for c,r in nums])


O.engines=[
	   ForceResetter(),
	   InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Facet_Aabb()]),
	   InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
	   [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
	   [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
	   ),
	   NewtonIntegrator(damping=0.4),
	   PyRunner(command='calm()',iterPeriod=10,label='calmEngine')

]

triax=TriaxialStressController(
	
	maxMultiplier=1.000,  
	finalMaxMultiplier=1.000,  
	thickness = 0,
	stressMask = 7,
	internalCompaction=False,
)


O.engines=O.engines+[triax]

triax.goal1=-1.0e5
triax.goal2=-1.0e5
triax.goal3=-1.0e5
triax.wall_back_activated=True

O.dt=2e-6


calmEngine.dead=True

triax2=TriaxialStressController(
	
	maxMultiplier=1.000,  
	finalMaxMultiplier=1.000,  
	thickness = 0,
	stressMask = 3,
	internalCompaction=False,
)


O.engines=O.engines+[triax2]

triax2.goal1=-1.0e5
triax2.goal2=-1.0e5
triax2.goal3=-0.2
triax2.wall_back_activated=True
#================================

Thank you very much for your help in advance.

Best Regards

Alireza



-- 
You received this question notification because your team yade-users is
an answer contact for Yade.