FuncG in ConcretePM.cpp
Hi everyone,
This question is a bit particular because only Vaclav Smilauer or a person familiar with the code can answer.
I was comparing the model described in Smilauer's Thesis [1] to the code ConcretePM.cpp [2], in line 158 I read that funcG returns:
1.-(epsCrackOns
Or, in the Thesis, page 38 I read that funcG is:
1.-(epsFracture
knowing that kappaD = max (epsilonN) and epsFracture=
Any explanation would be welcome
Thanks !
[1] http://
[2] https:/
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Revision history for this message
|
#1 |
Hello Hicham,
when kappa==
misprint in the thesis and the code is correct.
cheers
Jan
2013/12/2 Hicham BENNIOU <email address hidden>
> Question #240167 on Yade changed:
> https:/
>
> Description changed to:
> Hi everyone,
>
> This question is a bit particular because only Vaclav Smilauer or a person
> familiar with the code can answer.
> I was comparing the model described in Smilauer's Thesis [1] to the code
> ConcretePM.cpp [2], in line 158 I read that funcG returns:
>
> 1.-(epsCrackOns
>
> Or, in the Thesis, page 38 I read that funcG is:
>
> 1.-(epsFracture
>
> knowing that kappaD = max (epsilonN) and epsFracture=
> I'm a bit confused here.
>
> Any explanation would be welcome
>
> Thanks !
>
> [1] http://
> [2] https:/
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>
Revision history for this message
|
#2 |
Thanks Jan Stránský, that solved my question.
Revision history for this message
|
#3 |
Hello,
Bringing this subject again cause I don't want to flood the forum with topics.
Is it possible to use Law2_ScGeom_
thanks !
Revision history for this message
|
#4 |
Hi Hicham,
please attach the errors you are getting and also a minimal working script
if it is not too long.
thanks
Jan
2013/12/4 Hicham BENNIOU <email address hidden>
> Question #240167 on Yade changed:
> https:/
>
> Status: Solved => Open
>
> Hicham BENNIOU is still having a problem:
> Hello,
>
> Bringing this subject again cause I don't want to flood the forum with
> topics.
>
> Is it possible to use Law2_ScGeom_
> TriaxialStressC
> this constitutive law with this engine but i'm getting a lot of errors.
>
> thanks !
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>
Revision history for this message
|
#5 |
Hicham, please open a new question if it is unrelated.
B
Revision history for this message
|
#6 |
Here is the script :
from yade import pack, qt, plot
# Vars definition
specimenLength = 15.0
spheresInCell = 2000
sphereRadius= 3.5e-3
intRadius = 1.5 #Interaction Radius
sigmaT=3.5e6,
epsCrackOnset=1e-4,
relDuctility=30,
isoPrestress=
strainRateTensi
strainRateCompr
youngConcrete = 24e9
youngWalls = 0.5
poissonConcrete = 0.2
poissonWalls = 0.5
frictionAngleCo
frictionAngleWalls = 0
densityConcrete = 4800
densityWalls = 0
damping=0.4
#Create walls around the packing of spheres
min = Vector3(
max = Vector3(
Walls =aabbWalls(
wallIds = O.bodies.
#Definig Concrete material and packing spheres
concreteId=
sp=pack.
sp.toSimulation
# Defining Engines
TriaxEngine = TriaxialStressC
maxMultip
finalMaxM
thickness = 0,
stressMask = 7, # 7=111, 1->x, 1->y and 1->z, which means stress is controlled on xyz
internalC
)
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
TriaxEngine,
GlobalStiffnes
PyRunner(
TriaxialStateR
NewtonIntegrat
]
# record and plot data
def history():
plot.
ev=-TriaxEngi
s11=TriaxEngi
s22=TriaxEngi
s33=TriaxEngi
i=O.iter
)
O.run(10000)
plot.plots=
plot.plot()
Revision history for this message
|
#7 |
Hi Hicham,
the first problem is in material parameters definition. If you use comma at
the end of line, the variable is tuple instead of float. If you want to
pass it to CpmMat constructor, it expects number but gets tuple and raise
the error.
you can try in IPython
a = 1.4,
a.__class_
a = 1.4 # without comma
a.__class_
so use
sigmaT = 3.5e6
instead of
sigmaT = 3.5e6,
and the same also for all other material parameters
cheers
Jan
2013/12/4 Hicham BENNIOU <email address hidden>
> Question #240167 on Yade changed:
> https:/
>
> Status: Answered => Open
>
> Hicham BENNIOU is still having a problem:
> Here is the script :
>
> from yade import pack, qt, plot
>
> # Vars definition
> specimenLength = 15.0
> spheresInCell = 2000
> sphereRadius= 3.5e-3
> intRadius = 1.5 #Interaction Radius
>
> sigmaT=3.5e6,
> epsCrackOnset=1e-4,
> relDuctility=30,
> isoPrestress=
>
> strainRateTensi
> strainRateCompr
>
> youngConcrete = 24e9
> youngWalls = 0.5
>
> poissonConcrete = 0.2
> poissonWalls = 0.5
>
> frictionAngleCo
> frictionAngleWalls = 0
>
> densityConcrete = 4800
> densityWalls = 0
>
> damping=0.4
>
> #Create walls around the packing of spheres
> min = Vector3(
> max = Vector3(
>
> Walls =aabbWalls(
> wallIds = O.bodies.
>
> #Definig Concrete material and packing spheres
>
> concreteId=
>
> sp=pack.
> sp.toSimulation
>
> # Defining Engines
> TriaxEngine = TriaxialStressC
> maxMultiplier=
> finalMaxMultipl
> thickness = 0,
> stressMask = 7, # 7=111, 1->x, 1->y and 1->z, which means stress is
> controlled on xyz
> internalCompact
> )
>
> O.engines=[
> ForceResetter(),
>
> InsertionSortCo
> InteractionLoop(
>
> [Ig2_Sphere_
> [Ip2_CpmMat_
> [Law2_ScGeom_
> ),
>
> TriaxEngine,
>
> GlobalStiffness
> PyRunner(
> TriaxialStateRe
>
> NewtonIntegrato
> ]
>
> # record and plot data
>
> def history():
> plot.addData(
> e33=TriaxEngine
>
> ev=-TriaxEngine
> s11=TriaxEngine
> s22=TriaxEngine
> s33=TriaxEngine
> i=O.iter
> )
>
> O.run(10000)
>
> plot.plots=
> plot.plot()
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>
Revision history for this message
|
#8 |
Thanks Jan,
It still generates this error :
sp=pack.
File "~/Yade/
if wantPeri: sp.cellFill(
MemoryError
This is weird especially because I use the same line that generates this error in another script and it works fine :
sp=pack.
Any Ideas ?
Hicham
Revision history for this message
|
#9 |
Hi Hicham,
check if not only the line, but also specimenLength and sphereRadius values
are the same (or similar). According to MemoryError I would say that
the specimenLength/
simulation than that you used before, resulting in too many particles
exceeding memory capacity.
cheers
Jan
2013/12/4 Hicham BENNIOU <email address hidden>
> Question #240167 on Yade changed:
> https:/
>
> Status: Answered => Open
>
> Hicham BENNIOU is still having a problem:
> Thanks Jan,
>
> It still generates this error :
>
>
> sp=pack.
> File
> "~/Yade/
> line 474, in randomDensePack
> if wantPeri: sp.cellFill(
> MemoryError
>
> This is weird especially because I use the same line that generates this
> error in another script and it works fine :
>
> sp=pack.
>
> Any Ideas ?
>
> Hicham
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>
Revision history for this message
|
#10 |
Hey, seeing this thread late, I want to apologize for the typo in the thesis. Good job spotting that! Cheers, v.
Can you help with this problem?
Provide an answer of your own, or ask Hicham BENNIOU for more information if necessary.