About ValueError: cannot convert float NaN to integer
Hello,
I have encountered a problem similar to that in [1], but my script is different from it. I have read the relevant answers in [1].
My question Description:
My script is about fluid-solid coupling triaxial compression,
However, when the confining pressure is 80MPa, the script can run normally when the osmotic pressure is 10 and 20MPa. When it increases to 30 and 40MPa, an error prompt as described in the title appears.
Some problems related to locking some degrees of freedom and walls are mentioned in [1],In my script, I did turn off the movement of the wall in the X and Y directions (the script is shown below).I have tried to set the thickness of the wall to a positive value, the error does not appear, but the result is completely different from the law obtained from my previous work (the peak strength and peak strain of the sample become larger)
I'm confused and don't know how to solve this problem. In other words, if it's because of the wall thickness problem, why can the previous scripts run normally?
Thanks for kindly help!!!(Maybe my problem description is too long..sorry)
-------
from yade import pack, ymport, plot, utils, export, timing
from builtins import range
Sy=40e6
Wy=-80e6
rate=-0.2
damp=0.4
stabilityThresh
key='_triax_base_'
young=3000e9
name='JCFPM_triax'
compFricDegree=30
poisson=0.4
OUT=str(
mn,mx=Vector3(
O.materials.
O.materials.
walls=aabbWalls
wallIds=
O.bodies.
triax=TriaxialS
maxMultiplier=
finalMaxMultip
thickness = 0,
stressMask = 7,
internalCompac
)
newton=
def recorder():
yade.plot.addData(
i=O.iter,
e11=-triax.
e33=-triax.
s11=-triax.
#s22=-
s33=-triax.
numberTc=
numberSc=
unb=unbalanced
flux1=
flux2=
timestep=O.dt
)
plot.saveDataT
def stop_condition():
extremum=
s=abs(
e=abs(
if e < 0.001:
return
if abs(s)/
print('Max stress and strain:
presentcohesi
for i in O.interactions:
if hasattr(i.phys, 'isCohesive'):
if i.phys.isCohesive == True:
print('the number of cohesive bond now is:',presentcoh
O.wait()
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
GlobalStiffnes
triax,
FlowEngine(
PyRunner(
PyRunner(
VTKRecorder(
newton,
]
O.step()
ss2sc.interacti
is2aabb.
cohesiveCount = 0
for i in O.interactions:
if hasattr(i.phys, 'isCohesive'):
if i.phys.isCohesive == True:
print('the origin total number of cohesive bond is:',cohesiveCount)
triax.goal1=
while 1:
O.run(1000,1)
unb=unbalanced
print('unbalanced force:',unb,'mean stres:'
if unb<stabilityTh
break
cohesiveCount = 0
for i in O.interactions:
if hasattr(i.phys, 'isCohesive'):
if i.phys.isCohesive == True:
print('the first total number of cohesive bond is:',cohesiveCount)
yade.timing.reset()
flow.dead=0
flow.debug=False
flow.fluidBulkM
flow.permeabili
flow.decoupleForces = False
flow.meshUpdate
flow.useSolver=4
flow.viscosity=
flow.bndCondIsP
flow.bndCondVal
triax.internalC
flow.emulateAct
triax.stressMask=3
triax.wall_
triax.wall_
triax.wall_
triax.wall_
triax.goal1=Wy
triax.goal2=Wy
triax.goal3=rate
plot.plots=
plot.plot(
O.run()
-------
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Ziyu Wang
- Solved:
- Last query:
- Last reply: