Using CpmMat to simulate the hysteretic curve of concrete
Hello everyone,
I want to use the concrete material to simulate the hysteretic curve by loading and unloading in turns. I used the periodic boundary and controlled the strain. It should have plastic strain when it entered plastic state, but I found that no matter how large the strain is when I loaded, it always then returned to zero when I unloaded by making the stress to zero(the strain should not be zero when the stress is zero). And if I wanted to make the stress to zero when I unload by controlling the stress, I had to make the strain being zero. I cannot find the concrete damage. Can you give me some suggestions? Thanks a lot. This is my code.
#######
#!/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.dt=PWaveTimeS
plot.plots=
def plotAddData():
plot.addData(
sx=p3d.stress[0],
ex=p3d.strain[0],
)
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=[
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.run(); O.wait()
plot.plot(
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- liukeqi
- Solved:
- Last query:
- Last reply: