soil structure interaction
Hi, I’m now doing the research about ‘soil structure interaction’, but I met some difficulties that I can’t overcome.
My model is 2D.
1. I generate four boundaries:
id_Mat=
Mat=O.materials
id_box1 = O.bodies.
id_box2 = O.bodies.
id_box3 = O.bodies.
id_box4 = O.bodies.
2. Generate particles
sp = pack.SpherePack()
sp.makeCloud(
sp.toSimulation
3. Radius expansion method. ConfPress1=50kPa. I don’t know if it’s proper to use TriaxialStressC
triax1=
maxMultipli
finalMaxMul
internalCom
stressMask = 7,
computeStre
goal1 = ConfPress1,
goal2 = ConfPress1,
The first phase of work is described above. It’s the ‘generation.py’.
Next, I will write the second file called ‘conpression.py’. The outcome (generation.
When the above two stages are finished, the third file (shear.py) will work. I want the bottom boundary to move to the left and I don’t know how to realize it.
The code of ‘generation.py’:
from __future__ import print_function
from builtins import range
from yade import pack,export,
import matplotlib; matplotlib.
import pylab
#Material constants
Density = 3000
FrictionAngle = 1.5
PoissonRatio = 0.5
Young = 300e6
Damp = 0.5
AvgRadius = 0.1
N_particles = 2000
#Confining variables
ConfPress1 = -50000
#define material for all bodies:
id_Mat=
Mat=O.materials
id_box1 = O.bodies.
id_box2 = O.bodies.
id_box3 = O.bodies.
id_box4 = O.bodies.
SphereMat = O.materials.
sp = pack.SpherePack()
sp.makeCloud(
sp.toSimulation
triax1=
maxMultipli
finalMaxMul
internalCom
stressMask = 7,
computeStre
goal1 = ConfPress1,
goal2 = ConfPress1,
)
newton=
###engine
O.engines=[
ForceResett
InsertionSo
Interaction
[Ig2_
[Ip2_
[Law2_
),
GlobalStiff
triax1,
newton,
PyRunner(
PyRunner(
TriaxialSta
]
# Simulation stop conditions defination
def checkUnbalanced():
unb=
mStress = (triax1.
s1 = triax1.
s2 = triax1.
if unb<0.01 and abs(ConfPress1-
O.pause()
# collect history of data
def addPlotData():
unb = unbalancedForce()
mStress = -(triax1.
area = (O.bodies[
Porosity = 1-sum(pi*
plot.
ev=
s11=
s22=
s33=
ub=unbalance
dstress=
disx=
disy=
disz=
i=O.iter,
porosity=
ke=utils.
totalEnergy=
)
plot.
Is there any problem in the code?
Above all, my questions are:
1. How to apply 100kPa on the upper boundary?
2. How to modify the code of previous file to cancel the ‘fixed’ ?
3. How to move the bottom boundary to the left?
4. Is anyone willing to share the similar examples’ code?
5. Is there some examples of direct shear (not simple shear)?
Thank you!
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Jan Stránský
- Solved:
- Last query:
- Last reply: