Cannot simulate periodic box with walls
Dear YADE users,
My goal is to simulate a representative volume element under uniaxial compression. I want to compare two cases:
1) a fully periodic simulation in which the particle coordinates are scaled
2) a simulation in which the particles are compressed by walls at the top and bottom of the box, with periodicity in all other directions.
Case 1 is easy to simulate, using tutorial example 06-periodic-
I can insert a wall in the periodic box of example 06. However, as soon as I also add the sphere-wall interaction to the collider, the simulation no longer runs. YADE gives no error messages but refuses to iterate past iteration 1.
The input script I would like to run is (note that although this script is more complicated, I already run into issues when only adding the wall and sphere-wall interactions to example 06):
from __future__ import print_function
sigmaIso = -1e5
sigmaMin = -1e3
#import matplotlib
#matplotlib.
# generate loose packing
from yade import pack, qt, plot
O.periodic = True
sp = pack.SpherePack()
# uniform distribution
sp.makeCloud((0, 0, 0), (2, 2, 2), rMean=.1, rRelFuzz=.3, periodic=True)
# setup periodic boundary, insert the packing
sp.toSimulation()
O.bodies.
O.engines = [
]
O.dt = .25 * PWaveTimeStep()
def checkUnbalanced():
if O.iter < 5000:
if unbalancedForce() > 0.1:
global plate
O.engines = O.engines + [PyRunner(
def unloadPlate():
if abs(O.forces.
def stopUnloading():
if abs(O.forces.
def addPlotData():
if not isinstance(
Fz = O.forces.
)
# define what to plot
plot.plots = {'i': ('unbalanced'
# show the plot
plot.plot()
O.run()
With kind regards,
Danny van der Haven
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: