apparent instability
This is a continuation of my previous question, "problem with bonds breaking".
I installed ESys version 2.3, and the bond instability seems to still be there. The bond stength is very high; bonds should not break in this simulation. The time step has been set 10 times lower than the (estimated) critical time step.
The code is:
#import the appropriate ESyS-Particle modules:
import sys, math
from numpy import *
from scipy import *
from esys.lsm import *
from esys.lsm.util import *
from esys.lsm.geometry import *
import random
from POVsnaps import POVsnaps
from POVsnaps2 import POVsnaps2
from POVsnaps3 import POVsnaps3
from WallLoader import WallLoaderRunnable
# instantiate a simulation object
# and initialise the neighbour search algorithm:
sim = LsmMpi(
sim.initNeighbo
# set values of simulation variables. Units are mks
numIceParticlesx = 40
numIceParticlesz = 12
particleRad = 0.5
particleRho = 900.0
particleMass = 4*pi*particleRa
normalStiffness = 9000000.0 # reduced by a factor of 1000 to increase timestep
poisRatio = 0.25
kinFriction = 0.4
statFriction = 0.6
shearStrength = 5000000
tanPhi = 0.577
wallposition = -2.0*numIcePart
print 'wall position =', wallposition
numsteps = 3200000
#stepsize = 0.2*particleRad
timestep = 0.0001
timeincrement = 32000
#set the number of timesteps and timestep increment:
sim.setNumTimeS
sim.setTimeStep
#specify the spatial domain for the simulation:
domain = BoundingBox(
sim.setSpatialD
# add the particles to the domain:
particleList = []
for countz in range(numIcePar
zDist = -1.0*countz
for countx in range(numIcePar
xDist = -1.0*countx
yDist = 0.0
# yDist = 0.001*(
particle_
particle=
# particle.
sim.
particleL
# create bonds between particles separated by less than the specified maxDist
sim.createConne
# create rotational elastic-brittle bonds between particles
pp_bonds = sim.createInter
# initialize frictional interactions for unbonded particles
sim.createInter
# create an exclusion between bonded and frictional interactions
sim.createExclu
# add a vertical wall to push the particles along
sim.createWall(name = "icewall", posn=Vec3(
# specify the type of interactions between wall and particles:
sim.createInter
# create mesh walls: ramp
sim.readMesh(
# specify that the particles undergo repulsion with the mesh wall
sim.createInter
# add a wall loader to move the icewall
wall_loader1 = WallLoaderRunnable (LsmMpi = sim, wallName = "icewall", vPlate = Vec3(0.1, 0.0, 0.0), startTime = 0, rampTime = 50)
sim.addPreTimeS
#initialise gravity in the domain:
sim.createInter
# add buoyancy
sim.createInter
#add local viscosity to simulate fluid resistance:
sim.createInter
# add a checkpointer
sim.createCheck
#add a POVsnaps Runnable:
povcam = POVsnaps(sim=sim, interval=
#povcam.
povcam.
sim.addPostTime
#add another POVsnaps Runnable:
povcam2 = POVsnaps2(sim=sim, interval=
povcam2.
sim.addPostTime
#add another POVsnaps Runnable:
povcam3 = POVsnaps3(sim=sim, interval=
povcam3.
sim.addPostTime
#execute the simulation
sim.run()
The mesh file is:
Triangle
3D-Nodes 4
0 0 0 1.0 -0.5 10.0
1 1 0 1.0 -0.5 -10.0
2 2 0 61.0 29.5 10.0
3 3 0 61.0 29.5 -10.0
Tri3 2
0 0 1 3 0
1 0 0 3 2
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Dion Weatherley
- Solved:
- Last query:
- Last reply: