The question about Peri3dController
Hi, everyone
I want to use the engine Peri3dController to reach the goal state, but I suffered some question. I used the identical initial condition, and used two ways to reach the same goal of strain, but I got different results. The first way is that I used the stressMask=0b011100 and goal=(0,
#######
#!/usr/bin/python # This is server.py file
import string
from yade import plot,qt
from yade.pack import *
from yade import pack, plot
O.materials.
initSize=1.2
sp=pack.
sp.toSimulation()
O.save(
#######
#!/usr/bin/python # This is server.py file
import string
from yade import plot,qt
from yade.pack import *
from yade import pack, plot
loadFile=
O.load(loadFile)
O.dt=PWaveTimeS
plot.plots=
def plotAddData():
plot.addData(
sx=p3d.stress[1],
ex=p3d.strain[1],
)
EnlargeFactor=1.5
EnlargeFactor=1.0
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
NewtonIntegrat
Peri3dController(
nSteps=8000, # how many time steps the simulation will last
# after reaching nSteps do doneHook action
# the prescribed path (step,value of stress/strain) can be defined in absolute values
# or in relative values
# if the goal value is 0, the absolute stress/strain values are always considered (step values remain relative)
# if ##Path is not explicitly defined, it is considered as linear function between (0,0) and (nSteps,goal)
# as in yzPath and xyPath
# the relative values are really relative (zxPath gives the same - except of the sign from goal value - result as yyPath)
# variables used in the first step
label='p3d'
),
PyRunner(
]
p3d.stressMask=
p3d.goal=
O.step()
bo1s.aabbEnlarg
O.run(); O.wait()
print "p3d.stress[0]"
print p3d.stress[0]
print "p3d.stress[1]"
print p3d.stress[1]
print "p3d.stress[5]"
print p3d.stress[5]
plot.saveDataTx
plot.plot(
#######
#!/usr/bin/python # This is server.py file
import string
from yade import plot,qt
from yade.pack import *
from yade import pack, plot
loadFile=
O.load(loadFile)
O.dt=PWaveTimeS
plot.plots=
def plotAddData():
plot.addData(
sx=p3d.stress[1],
ex=p3d.strain[1],
)
EnlargeFactor=1.5
EnlargeFactor=1.0
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
NewtonIntegrat
Peri3dController(
nSteps=4000, # how many time steps the simulation will last
# after reaching nSteps do doneHook action
# the prescribed path (step,value of stress/strain) can be defined in absolute values
# or in relative values
# if the goal value is 0, the absolute stress/strain values are always considered (step values remain relative)
# if ##Path is not explicitly defined, it is considered as linear function between (0,0) and (nSteps,goal)
# as in yzPath and xyPath
# the relative values are really relative (zxPath gives the same - except of the sign from goal value - result as yyPath)
# variables used in the first step
label='p3d'
),
PyRunner(
]
p3d.stressMask=
p3d.goal=
O.step()
bo1s.aabbEnlarg
O.run(); O.wait()
O.engines=[
ForceResett
InsertionSo
Interaction
[Ig2_
[Ip2_
NewtonInteg
Peri3dContr
# Vector6 of prescribed final values (xx,yy,zz, yz,zx,xy)
# after reaching nSteps do doneHook action
# the prescribed path (step,value of stress/strain) can be defined in absolute values
# or in relative values
# if the goal value is 0, the absolute stress/strain values are always considered (step values remain relative)
# if ##Path is not explicitly defined, it is considered as linear function between (0,0) and (nSteps,goal)
# as in yzPath and xyPath
# the relative values are really relative (zxPath gives the same - except of the sign from goal value - result as yyPath)
# variables used in the first step
),
PyRunner(
]
p3d.goal=
print p3d.goal
O.run();O.wait()
print "p3d.stress[0]"
print p3d.stress[0]
print "p3d.stress[1]"
print p3d.stress[1]
print "p3d.stress[5]"
print p3d.stress[5]
plot.saveDataTx
plot.plot(
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: