Batch run and run alone get different results
Hello,
I'm working on parameter calibration, so I want to use batch processing to save time and improve efficiency.But I found that the same parameters get very different results in separate run and batch run.I am confused.
My yadedaily is 20220218-
I run the batch through yadedaily-batch -j 12 --job-threads 2 young.txt JCFpm_dense_
the separate through yadedaily -j 12 JCFpm_dense_
Thanks for help!
Following is my script:
-------
from yade import pack, ymport, plot, utils, export, timing
import numpy as np
import sys
readParamsFromT
from yade.params import table
Wy=-30e6
rate=-0.1
damp=0.4
stabilityThresh
key='_triax_base_'
young=table.young
name='JCFPM_triax'
compFricDegree=30
poisson=0.4
OUT=str(
mn,mx=Vector3(
O.materials.
O.materials.
walls=aabbWalls
wallIds=
O.bodies.
#(packing here is generated by randomDensePack with 5000 particles)
triax=TriaxialS
maxMultiplier=
finalMaxMultip
thickness = 0,
stressMask = 7,
internalCompac
)
newton=
def recorder():
yade.plot.addData(
i=O.iter,
e11=-triax.
s11=-triax.
s22=-triax.
s33=-triax.
numberTc=
numberSc=
unb=unbalanced
)
plot.saveDataT
def stop_condition():
extremum=
s=abs(
e=abs(
if e < 0.001 :
return
if abs(s)/
O.pause()
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.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
GlobalStiffnes
triax,
TriaxialStateR
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:
cohesiveCount+=1
print('the origin total number of cohesive bond is:',cohesiveCount)
triax.goal1=
while 1:
#global Wy
O.run(500,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:
cohesiveCount+=1
print('the first total number of cohesive bond is:',cohesiveCount)
triax.internalC
triax.stressMask=3
triax.goal1=Wy
triax.goal2=Wy
triax.goal3=rate
plot.plots=
plot.plot()
O.run()
waitIfBatch()
-------
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: