et for ViscElMat with Law2_ScGeom_ViscElPhys_Basic, bug or feature?
I had an issue with ViscElMat, started to write a question, ended up solving it myself. So now my question is really: is this a bug or a feature?
If you have a material like this
ViscElMat(
and use InteractionLoop
Now if you do:
ViscElMat(
Then you get the expected viscoelastic behavior, with differing response as en is changed. But you also get the exact same behavior with this
ViscElMat(
or even this
ViscElMat(
The value of et is completely ignored, as long as its specified. So if the value is ignored, why force the user to specify it? Why not just ignore it all the time? Is this a bug, or was this done intentionally for some reason?
FWIW, The fact that et is ignored is mentioned in the documentation for Law2_ScGeom_
Using yade version 20200511-
#######
import matplotlib.pyplot as pyplot
from yade import qt, plot
qt.View() #open the controlling and visualization interfaces
box_x = 0.05
box_y = 0.05
box_z = 0.05
particle_dia = 0.005
young2 = 200e9
rho = 8230
mn = Vector3(0, box_y, 0)
mx = Vector3(
thick = 2*particle_dia # the thickness of the walls
global ballIds
#first create a very tall loose pack
# sp=pack.
bigmx = (mx[0], 3 * mx[1], mx[2])
restitution = 0.8
#this always gives elastic behavior. ball rebounds more or less exactly to starting height
O.materials.
#this give viscoelastic behavior. ball rebounds to 64% of initial height as expected. et is ignored, as long as it is specificed.
#O.materials.
ball = sphere( (mx[0]/2, 2*mx[1] , mx[2]/2 ) , particle_dia/2, material='ve' )
ballIds = O.bodies.
walls=utils.
wallIds=
#turn on gravity and let it settle
O.engines=[
ForceResetter(),
NewtonIntegrat
]
O.dt=.05*
def addPlotData():
plot.plots=
plot.plot()
#O.run(-1, True)
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Bruno Chareyre
- Solved:
- Last query:
- Last reply: