acoustic emission(JCFmat)recordCrack=true
Hi everyone,
I am a beginner in YADE. I don't know if my next question is stupid. But I really don't know what I should do next.
I tried to use recordCracks=True to record the cracks generated in the model. However, it seems that something went wrong. Because my result produced .vtu file, but there was no .txt file. I guess it is because my model does not produce cracks? Below is my script,
from __future__ import print_function
from yade import plot,pack
"""
A simple script of a Brazilian splitting test.
A sphere
Load in z direction by z-perpendicular walls.
Code strongly inspired by uniax.py and brazilian.py
"""
# default parameters or from table
readParamsFromT
young = 1e9,
cohesion = 0,
poisson = .25,
density = 1000,
iterper=100,
frictionAngle = 0.5,
xSectionSca
xSectionSha
weibullCutO
weibullCutO
intRadius =1.5,
dtSafety = .8,
strainRate =1,
specimenRadius = .05,
sphereRadius = 5e-3
)
from yade.params.table import *
# material
concreteId = O.materials.
# spheres
sp=pack.
pack.inSphere(
radius = sphereRadius,
returnSpherePack = True
)
sp.toSimulation()
# walls
idConcrete=
zMin,zMax=[pt[2] for pt in aabbExtrema()]
wallIDs = O.bodies.
walls = wallMin,wallMax = [O.bodies[i] for i in wallIDs]
v = strainRate * 2*specimenRadius
wallMin.state.vel = (0,0,+v)
wallMax.state.vel = (0,0,-v)
# engines
O.engines=[
),
]
# stop condition
def stopIfDamaged():
if O.iter < 10000: # do nothing at the beginning
return
fMax = max(plot.data["f"])
f = plot.data["f"][-1]
if f/fMax < .1:
print("Damaged, stopping.")
print("ft = ",max(plot.
O.pause()
# plot stuff
def addPlotData():
# forces of walls. f1 is "down", f2 is "up" (f1 needs to be negated for evlauation)
f1,f2 = [O.forces.f(i)[2] for i in wallIDs]
f1 *= -1
# average force
f = .5*(f1+f2)
# displacement (2 times each wall)
wall = O.bodies[
dspl = 2*wall.
# stress (according to standard brazilian test evaluation formula)
stress = f/(pi*specimenR
# store values
yade.plot.addData(
t = O.time,
i = O.iter,
dspl = dspl,
f1 = f1,
f2 = f2,
f = f,
stress = stress,
)
# plot dspl on x axis, stress on y1 axis and f,f1,f2 in y2 axis
plot.plots=
O.dt = 0.
O.step(); # to create initial contacts
# now reset the interaction radius and go ahead
ss2sc.interacti
is2aabb.
# time step
O.dt = dtSafety*
# run simulation
plot.plot()
#O.run()
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Li Zeng
- Solved:
- 2020-07-29
- Last query:
- 2020-07-29
- Last reply:
- 2020-07-29
Robert Caulk (rcaulk) said : | #1 |
Hello,
Why are you using cracksFileExist
Go ahead and leave that as its default value, False.
Cheers,
Robert
Li Zeng (lilly0303) said : | #2 |
Hi Robert,
Thanks for your answer. According to [1], it seems that this command is not needed. But after I deleted it, the result did not change anything.
regards,
Li
Robert Caulk (rcaulk) said : | #3 |
Have you checked to make sure cracks are occurring?
Li Zeng (lilly0303) said : | #4 |
Actually I am not sure. How can I check whether a crack has occurred? Judging from the simulation , it seems to have occurred.
Robert Caulk (rcaulk) said : | #5 |
>Judging from the simulation , it seems to have occurred.
Please elaborate. We cannot read your mind.
>How can I check whether a crack has occurred?
You have access to the interaction physics:
num_cohesive=0
for i in O.interactions:
if i.phys.isCohesive:
num_cohesive += 1
Tracking the number of cohesive interactions would let you see if some are breaking or not.
Robert Caulk (rcaulk) said : | #6 |
line edit:
if i.phys.isCohesive: num_cohesive += 1
Li Zeng (lilly0303) said : | #7 |
Hi Robert,
thank you for your help. I havr solved this problem. There was a problem with the material parameters in the previous script and no cracks were generated. After I changed the parameters inside, the data I wanted was generated. Thanks again!
regards
Li
Robert Caulk (rcaulk) said : | #8 |
Great. If you want to give back to the community you could provide the
details on how you solved your issue. Otherwise this entire thread is
essentially useless.
Le mer. 29 juil. 2020 à 18:35, Li Zeng <email address hidden>
a écrit :
> Question #692131 on Yade changed:
> https:/
>
> Status: Needs information => Solved
>
> Li Zeng confirmed that the question is solved:
> Hi Robert,
> thank you for your help. I havr solved this problem. There was a problem
> with the material parameters in the previous script and no cracks were
> generated. After I changed the parameters inside, the data I wanted was
> generated. Thanks again!
> regards
> Li
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>