packing porosity for heat capacity scaling according to desired porosity of material
Hi all
I am facing a problem while getting porosity for my packing by " triax.porosity " and " utils.porosity ".
I am using JCFpm model of dimension 1 cubic meter randomly packed 2000 spheres. it shows a porosity of 0.4372 , when i used density scaling it scaled heat capacity too much low.
e.g unscaled heat capacity * desired porosity of material = scaled heat capacity * DEM porosity of material.
if heat capacity is 1090 after scaling it would be 330.
Need expert suggestion and guidance
Thanks in advance
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Robert Caulk
- Solved:
- Last query:
- Last reply:
Revision history for this message
|
#1 |
Hello Ibraheem,
I don’t quite understand the question. Is there an issue with
triax.porosity?
Are you asking “how to scale the heat capacity of thermalengine to simulate
a material with a lower porosity than the dem packing”
If yes, you can scale it by multiplying by the ratio of porosities:
Cp_scaled=
Cheers,
Robert
Le mar. 10 août 2021 à 01:11, ibraheem khan <
<email address hidden>> a écrit :
> Question #698303 on Yade changed:
> https:/
>
> Description changed to:
> Hi all
> I am facing a problem while getting porosity for my packing by "
> triax.porosity " and " utils.porosity ".
> I am using JCFpm model of dimension 1 cubic meter randomly packed 2000
> spheres. it shows a porosity of 0.4372 , when i used density scaling it
> scaled heat capacity too much low.
> e.g unscaled heat capacity * desired porosity of material = scaled heat
> capacity * DEM porosity of material.
> if heat capacity is 1090 after scaling it would be 330.
> Need expert suggestion and guidance
> Thanks in advance
>
> --
> You received this question notification because your team yade-users 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 |
my main concern is as real granite porosity is some what 0.015 and my DEM porosity is 0.4372 , so is it correct to scale heat capacity with this mush high porosity or can i get a low porosity for my DEM somewhat 0.15 0r 0.20
Revision history for this message
|
#3 |
I don’t see the difference between scaling from 0.47 and 0.15 down to
0.015. Either way you are scaling around an order of magnitude.
That said, from a DEM perspective i am surprised your porosity is 0.47 for
a random dense packing that is compressed. I have no way of checking if you
are looking at porosity correctly because you did not share a script.
Cheers,
Robert
Le mar. 10 août 2021 à 11:52, ibraheem khan <
<email address hidden>> a écrit :
> Question #698303 on Yade changed:
> https:/
>
> ibraheem khan posted a new comment:
> my main concern is as real granite porosity is some what 0.015 and my
> DEM porosity is 0.4372 , so is it correct to scale heat capacity with
> this mush high porosity or can i get a low porosity for my DEM somewhat
> 0.15 0r 0.20
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>
Revision history for this message
|
#4 |
sorry Robert....
my script is here .
from yade import pack, export, ymport
nRead=readParam
num_spheres=1000,
compFricDegree = 25,
key='_triax_base_'
unknownOk=True
)
from yade.params import table
num_spheres=
key=table.key
targetPorosity = 0.45
compFricDegree = table.compFricD
finalFricDegree =25
rate=-0.02
damp=0.2
stabilityThresh
young=150e9
mn,mx=Vector3(
cohesion=50e6
sigmaT=40e6
density=2650
poisson=0.25
confiningP=-1e6
O.materials.
O.materials.
walls=aabbWalls
wallIds=
sp=pack.
sp.makeCloud(
O.bodies.
### DEFINING ENGINES ###
triax=TriaxialS
thickness = 0,
stressMask = 7,
internalCompac
)
newton=
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
GlobalStiffnes
triax,
newton,
]
Gl1_Sphere.
if nRead==0: yade.qt.
### APPLYING CONFINING PRESSURE ###
triax.goal1=
while 1:
O.run(2000, True)
unb=unbalance
print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
if unb<stabilityTh
break
### REACHING A SPECIFIED POROSITY PRECISELY ###
import sys
while triax.porosity>
compFricDegree = 0.95*compFricDegree
setContactFric
print ("\r Friction: ",compFricDegree," porosity:
sys.stdout.flush()
O.run(500,1)
export.
for JCFpm cohesion , i run it directly in the below script that every new contact should be cohesive
from yade import pack, export, ymport
import numpy as np
nRead=readParam
num_spheres=1000,# number of spheres
compFricDegree = 25,
key='_triax_base_'
unknownOk=True
)
from yade.params import table
num_spheres=
key=table.key
targetPorosity = 0.46
compFricDegree = table.compFricD
finalFricDegree = 25
rate=-0.02 # loading rate (strain rate)
damp=0.2 # damping coefficient
stabilityThresh
young=150e9
mn,mx=Vector3(
confiningP=-10e6
cohesion=50e6
poisson=0.2
sigmaT=40e6
density=2650
intRadius=1.25
O.materials.
O.materials.
walls=aabbWalls
wallIds=
pack = O.bodies.
### DEFINING ENGINES ###
triax=TriaxialS
thickness = 0,
stressMask = 7,
internalCompac
)
newton=
O.engines=[
),
GlobalStiffnes
triax,
newton,
]
Gl1_Sphere.
if nRead==0: yade.qt.
### APPLYING CONFINING PRESSURE ###
triax.goal1=
while 1:
O.run(2000, True)
unb=unbalance
print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
if unb<stabilityTh
break
### REACHING A SPECIFIED POROSITY PRECISELY ###
import sys
while triax.porosity>
compFricDegree = 0.95*compFricDegree
setContactFric
print ("\r Friction: ",compFricDegree," porosity:
sys.stdout.flush()
O.run(500,1)
Revision history for this message
|
#5 |
Have you tried decreasing your target porosity?
Le mar. 10 août 2021 à 13:46, ibraheem khan <
<email address hidden>> a écrit :
> Question #698303 on Yade changed:
> https:/
>
> ibraheem khan posted a new comment:
>
> sorry Robert....
>
> my script is here .
>
> from yade import pack, export, ymport
>
> nRead=readParam
> num_spheres=1000,
> compFricDegree = 25,
> key='_triax_base_'
> unknownOk=True
> )
> from yade.params import table
>
> num_spheres=
> key=table.key
> targetPorosity = 0.45
> compFricDegree = table.compFricD
> finalFricDegree =25
> rate=-0.02
> damp=0.2
> stabilityThresh
> young=150e9
> mn,mx=Vector3(
> cohesion=50e6
> sigmaT=40e6
> density=2650
> poisson=0.25
> confiningP=-1e6
>
>
>
> O.materials.
> O.materials.
> density=density, frictionAngle=
> tensileStrength
>
> walls=aabbWalls
> wallIds=
>
> sp=pack.
> sp.makeCloud(
> O.bodies.
> sp])
>
>
> ### DEFINING ENGINES ###
>
>
> triax=TriaxialS
> thickness = 0,
> stressMask = 7,
> internalCompact
> )
>
> newton=
>
> O.engines=[
> ForceResetter(),
> InsertionSortCo
> InteractionLoop(
> [Ig2_Sphere_
>
> [Ip2_FrictMat_
> label='JCFpm')],
>
> [Law2_ScGeom_
> recordCracks=True ),Law2_
> ),
>
> GlobalStiffness
> triax,
>
> newton,
> ]
>
> Gl1_Sphere.
> if nRead==0: yade.qt.
>
>
> ### APPLYING CONFINING PRESSURE ###
>
>
> triax.goal1=
>
> while 1:
> O.run(2000, True)
> unb=unbalancedF
> print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
> if unb<stabilityTh
> abs((confiningP
> break
>
>
> ### REACHING A SPECIFIED POROSITY PRECISELY ###
>
>
> import sys
>
> while triax.porosity>
> compFricDegree = 0.95*compFricDegree
> setContactFrict
> print ("\r Friction: ",compFricDegree," porosity:
> sys.stdout.flush()
>
> O.run(500,1)
> export.
>
> for JCFpm cohesion , i run it directly in the below script that every new
> contact should be cohesive
>
> from yade import pack, export, ymport
> import numpy as np
>
>
>
> nRead=readParam
> num_spheres=1000,# number of spheres
> compFricDegree = 25,
> key='_triax_base_'
> unknownOk=True
> )
> from yade.params import table
>
> num_spheres=
> key=table.key
> targetPorosity = 0.46
> compFricDegree = table.compFricD
> finalFricDegree = 25
> rate=-0.02 # loading rate (strain rate)
> damp=0.2 # damping coefficient
> stabilityThresh
> young=150e9
> mn,mx=Vector3(
> confiningP=-10e6
> cohesion=50e6
> poisson=0.2
> sigmaT=40e6
> density=2650
> intRadius=1.25
>
>
>
> O.materials.
> O.materials.
> density=density, frictionAngle=
> tensileStrength
>
> walls=aabbWalls
> wallIds=
>
> pack = O.bodies.
> 'x_y_z_
>
>
> ### DEFINING ENGINES ###
>
>
> triax=TriaxialS
>
> thickness = 0,
>
> stressMask = 7,
> internalCompact
> generated by growing particles
> )
>
> newton=
> O.engines=[
> ForceResetter(),
>
> InsertionSortCo
> InteractionLoop(
>
> [Ig2_Sphere_
> [Ip2_JCFpmMat_
> label='JCFPm')],
>
> [Law2_ScGeom_
> recordMoments=
> ),
>
> GlobalStiffness
> triax,
>
> newton,
>
>
>
> ]
>
>
> Gl1_Sphere.
> if nRead==0: yade.qt.
>
> ### APPLYING CONFINING PRESSURE ###
>
> triax.goal1=
>
> while 1:
> O.run(2000, True)
>
> unb=unbalancedF
> print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
> if unb<stabilityTh
> abs(confiningP-
> break
>
>
> ### REACHING A SPECIFIED POROSITY PRECISELY ###
>
> import sys
> while triax.porosity>
>
> compFricDegree = 0.95*compFricDegree
> setContactFrict
> print ("\r Friction: ",compFricDegree," porosity:
> sys.stdout.flush()
> O.run(500,1)
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______
> Mailing list: https:/
> Post to : <email address hidden>
> Unsubscribe : https:/
> More help : https:/
>
Revision history for this message
|
#6 |
Hi Robert
Yes I tried , even with very low friction value like 5 ,but it didn't work.
On Tue, Aug 10, 2021, 7:45 PM Robert Caulk <
<email address hidden>> wrote:
> Your question #698303 on Yade changed:
> https:/
>
> Robert Caulk proposed the following answer:
> Have you tried decreasing your target porosity?
>
> Le mar. 10 août 2021 à 13:46, ibraheem khan <
> <email address hidden>> a écrit :
>
> > Question #698303 on Yade changed:
> > https:/
> >
> > ibraheem khan posted a new comment:
> >
> > sorry Robert....
> >
> > my script is here .
> >
> > from yade import pack, export, ymport
> >
> > nRead=readParam
> > num_spheres=1000,
> > compFricDegree = 25,
> > key='_triax_base_'
> > unknownOk=True
> > )
> > from yade.params import table
> >
> > num_spheres=
> > key=table.key
> > targetPorosity = 0.45
> > compFricDegree = table.compFricD
> > finalFricDegree =25
> > rate=-0.02
> > damp=0.2
> > stabilityThresh
> > young=150e9
> > mn,mx=Vector3(
> > cohesion=50e6
> > sigmaT=40e6
> > density=2650
> > poisson=0.25
> > confiningP=-1e6
> >
> >
> >
> >
> O.materials.
> > O.materials.
> > density=density, frictionAngle=
> > tensileStrength
> >
> > walls=aabbWalls
> > wallIds=
> >
> > sp=pack.
> > sp.makeCloud(
> > O.bodies.
> > sp])
> >
> >
> > ### DEFINING ENGINES ###
> >
> >
> > triax=TriaxialS
> > thickness = 0,
> > stressMask = 7,
> > internalCompact
> > )
> >
> > newton=
> >
> > O.engines=[
> > ForceResetter(),
> > InsertionSortCo
> > InteractionLoop(
> > [Ig2_Sphere_
> >
> >
> [Ip2_FrictMat_
> > label='JCFpm')],
> >
> >
> [Law2_ScGeom_
> > recordCracks=True ),Law2_
> > ),
> >
> >
> GlobalStiffness
> > triax,
> >
> > newton,
> > ]
> >
> > Gl1_Sphere.
> > if nRead==0: yade.qt.
> >
> >
> > ### APPLYING CONFINING PRESSURE ###
> >
> >
> > triax.goal1=
> >
> > while 1:
> > O.run(2000, True)
> > unb=unbalancedF
> > print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
> > if unb<stabilityTh
> > abs((confiningP
> > break
> >
> >
> > ### REACHING A SPECIFIED POROSITY PRECISELY ###
> >
> >
> > import sys
> >
> > while triax.porosity>
> > compFricDegree = 0.95*compFricDegree
> > setContactFrict
> > print ("\r Friction: ",compFricDegree,"
> porosity:
> > sys.stdout.flush()
> >
> > O.run(500,1)
> > export.
> >
> > for JCFpm cohesion , i run it directly in the below script that every
> new
> > contact should be cohesive
> >
> > from yade import pack, export, ymport
> > import numpy as np
> >
> >
> >
> > nRead=readParam
> > num_spheres=1000,# number of spheres
> > compFricDegree = 25,
> > key='_triax_base_'
> > unknownOk=True
> > )
> > from yade.params import table
> >
> > num_spheres=
> > key=table.key
> > targetPorosity = 0.46
> > compFricDegree = table.compFricD
> > finalFricDegree = 25
> > rate=-0.02 # loading rate (strain rate)
> > damp=0.2 # damping coefficient
> > stabilityThresh
> > young=150e9
> > mn,mx=Vector3(
> > confiningP=-10e6
> > cohesion=50e6
> > poisson=0.2
> > sigmaT=40e6
> > density=2650
> > intRadius=1.25
> >
> >
> >
> >
> O.materials.
> > O.materials.
> > density=density, frictionAngle=
> > tensileStrength
> >
> > walls=aabbWalls
> > wallIds=
> >
> > pack = O.bodies.
> > 'x_y_z_
> >
> >
> > ### DEFINING ENGINES ###
> >
> >
> > triax=TriaxialS
> >
> > thickness = 0,
> >
> > stressMask = 7,
> > internalCompact
> > generated by growing particles
> > )
> >
> > newton=
> > O.engines=[
> > ForceResetter(),
> >
> >
> InsertionSortCo
> > InteractionLoop(
> >
> >
> [Ig2_Sphere_
> >
> [Ip2_JCFpmMat_
> > label='JCFPm')],
> >
> >
> [Law2_ScGeom_
> >
> recordMoments=
> > ),
> >
> >
> GlobalStiffness
> > triax,
> >
> > newton,
> >
> >
> >
> > ]
> >
> >
> > Gl1_Sphere.
> > if nRead==0: yade.qt.
> >
> > ### APPLYING CONFINING PRESSURE ###
> >
> > triax.goal1=
> >
> > while 1:
> > O.run(2000, True)
> >
> > unb=unbalancedF
> > print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
> > if unb<stabilityTh
> > abs(confiningP-
> > break
> >
> >
> > ### REACHING A SPECIFIED POROSITY PRECISELY ###
> >
> > import sys
> > while triax.porosity>
> >
> > compFricDegree = 0.95*compFricDegree
> > setContactFrict
> > print ("\r Friction: ",compFricDegree,"
> porosity:
> > sys.stdout.flush()
> > O.run(500,1)
> >
> > --
> > You received this question notification because your team yade-users is
> > an answer contact for Yade.
> >
> > _______
> > Mailing list: https:/
> > Post to : <email address hidden>
> > Unsubscribe : https:/
> > More help : https:/
> >
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https:/
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https:/
>
> You received this question notification because you asked the question.
>
Revision history for this message
|
#7 |
Hey Ibraheem,
What does “didn’t work” mean? The porosity doesn’t decrease from an initial
state?
Cheers,
Robert
Le mar. 10 août 2021 à 20:02, ibraheem khan <
<email address hidden>> a écrit :
> Question #698303 on Yade changed:
> https:/
>
> Status: Answered => Open
>
> ibraheem khan is still having a problem:
> Hi Robert
> Yes I tried , even with very low friction value like 5 ,but it didn't work.
>
> On Tue, Aug 10, 2021, 7:45 PM Robert Caulk <
> <email address hidden>> wrote:
>
> > Your question #698303 on Yade changed:
> > https:/
> >
> > Robert Caulk proposed the following answer:
> > Have you tried decreasing your target porosity?
> >
> > Le mar. 10 août 2021 à 13:46, ibraheem khan <
> > <email address hidden>> a écrit :
> >
> > > Question #698303 on Yade changed:
> > > https:/
> > >
> > > ibraheem khan posted a new comment:
> > >
> > > sorry Robert....
> > >
> > > my script is here .
> > >
> > > from yade import pack, export, ymport
> > >
> > > nRead=readParam
> > > num_spheres=1000,
> > > compFricDegree = 25,
> > > key='_triax_base_'
> > > unknownOk=True
> > > )
> > > from yade.params import table
> > >
> > > num_spheres=
> > > key=table.key
> > > targetPorosity = 0.45
> > > compFricDegree = table.compFricD
> > > finalFricDegree =25
> > > rate=-0.02
> > > damp=0.2
> > > stabilityThresh
> > > young=150e9
> > > mn,mx=Vector3(
> > > cohesion=50e6
> > > sigmaT=40e6
> > > density=2650
> > > poisson=0.25
> > > confiningP=-1e6
> > >
> > >
> > >
> > >
> >
> O.materials.
> > > O.materials.
> > > density=density, frictionAngle=
> > > tensileStrength
> > >
> > > walls=aabbWalls
> > > wallIds=
> > >
> > > sp=pack.
> > > sp.makeCloud(
> > > O.bodies.
> in
> > > sp])
> > >
> > >
> > > ### DEFINING ENGINES ###
> > >
> > >
> > > triax=TriaxialS
> > > thickness = 0,
> > > stressMask = 7,
> > > internalCompact
> > > )
> > >
> > > newton=
> > >
> > > O.engines=[
> > > ForceResetter(),
> > > InsertionSortCo
> > > InteractionLoop(
> > > [Ig2_Sphere_
> > >
> > >
> >
> [Ip2_FrictMat_
> > > label='JCFpm')],
> > >
> > >
> >
> [Law2_ScGeom_
> > > recordCracks=True ),Law2_
> > > ),
> > >
> > >
> >
> GlobalStiffness
> > > triax,
> > >
> > > newton,
> > > ]
> > >
> > > Gl1_Sphere.
> > > if nRead==0: yade.qt.
> > >
> > >
> > > ### APPLYING CONFINING PRESSURE ###
> > >
> > >
> > > triax.goal1=
> > >
> > > while 1:
> > > O.run(2000, True)
> > > unb=unbalancedF
> > > print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
> > > if unb<stabilityTh
> > > abs((confiningP
> > > break
> > >
> > >
> > > ### REACHING A SPECIFIED POROSITY PRECISELY ###
> > >
> > >
> > > import sys
> > >
> > > while triax.porosity>
> > > compFricDegree = 0.95*compFricDegree
> > > setContactFrict
> > > print ("\r Friction: ",compFricDegree,"
> > porosity:
> > > sys.stdout.flush()
> > >
> > > O.run(500,1)
> > > export.
> > >
> > > for JCFpm cohesion , i run it directly in the below script that every
> > new
> > > contact should be cohesive
> > >
> > > from yade import pack, export, ymport
> > > import numpy as np
> > >
> > >
> > >
> > > nRead=readParam
> > > num_spheres=1000,# number of spheres
> > > compFricDegree = 25,
> > > key='_triax_base_'
> > > unknownOk=True
> > > )
> > > from yade.params import table
> > >
> > > num_spheres=
> > > key=table.key
> > > targetPorosity = 0.46
> > > compFricDegree = table.compFricD
> > > finalFricDegree = 25
> > > rate=-0.02 # loading rate (strain rate)
> > > damp=0.2 # damping coefficient
> > > stabilityThresh
> > > young=150e9
> > > mn,mx=Vector3(
> > > confiningP=-10e6
> > > cohesion=50e6
> > > poisson=0.2
> > > sigmaT=40e6
> > > density=2650
> > > intRadius=1.25
> > >
> > >
> > >
> > >
> >
> O.materials.
> > > O.materials.
> > > density=density, frictionAngle=
> > > tensileStrength
> > >
> > > walls=aabbWalls
> > > wallIds=
> > >
> > > pack = O.bodies.
> > > 'x_y_z_
> > >
> > >
> > > ### DEFINING ENGINES ###
> > >
> > >
> > > triax=TriaxialS
> > >
> > > thickness = 0,
> > >
> > > stressMask = 7,
> > > internalCompact
> > > generated by growing particles
> > > )
> > >
> > > newton=
> > > O.engines=[
> > > ForceResetter(),
> > >
> > >
> >
> InsertionSortCo
> > > InteractionLoop(
> > >
> > >
> >
> [Ig2_Sphere_
> > >
> > [Ip2_JCFpmMat_
> > > label='JCFPm')],
> > >
> > >
> >
> [Law2_ScGeom_
> > >
> >
> recordMoments=
> > > ),
> > >
> > >
> >
> GlobalStiffness
> > > triax,
> > >
> > > newton,
> > >
> > >
> > >
> > > ]
> > >
> > >
> > > Gl1_Sphere.
> > > if nRead==0: yade.qt.
> > >
> > > ### APPLYING CONFINING PRESSURE ###
> > >
> > > triax.goal1=
> > >
> > > while 1:
> > > O.run(2000, True)
> > >
> > > unb=unbalancedF
> > > print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
> > > if unb<stabilityTh
> > > abs(confiningP-
> > > break
> > >
> > >
> > > ### REACHING A SPECIFIED POROSITY PRECISELY ###
> > >
> > > import sys
> > > while triax.porosity>
> > >
> > > compFricDegree = 0.95*compFricDegree
> > > setContactFrict
> > > print ("\r Friction: ",compFricDegree,"
> > porosity:
> > > sys.stdout.flush()
> > > O.run(500,1)
> > >
> > > --
> > > You received this question notification because your team yade-users is
> > > an answer contact for Yade.
> > >
> > > _______
> > > Mailing list: https:/
> > > Post to : <email address hidden>
> > > Unsubscribe : https:/
> > > More help : https:/
> > >
> >
> > --
> > If this answers your question, please go to the following page to let us
> > know that it is solved:
> > https:/
> >
> > If you still need help, you can reply to this email or go to the
> > following page to enter your feedback:
> > https:/
> >
> > You received this question notification because you asked the question.
> >
>
> --
> You received this question notification because your team yade-users 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 |
Hi Robert
Yes , porosity is not decreasing from initial values
Revision history for this message
|
#9 |
Does the script enter the porosity while loop?
Le mar. 10 août 2021 à 22:51, ibraheem khan <
<email address hidden>> a écrit :
> Question #698303 on Yade changed:
> https:/
>
> Status: Answered => Solved
>
> ibraheem khan confirmed that the question is solved:
> Hi Robert
> Yes , porosity is not decreasing from initial values
>
> --
> You received this question notification because your team yade-users 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 |
Ibraheem,
I ran your script and I see that triax.porosity is 0.44 before the porosity while-loop is started. Thus, this line:
while triax.porosity>
is never satisified, since your targetPorosity is 0.45. This is why I asked you if you have tried decreasing your targetPorosity. When I decrease the targetPorosity, the while loop logic is satisifed and the script enters the porosity loop. This is demonstrated by the print statement inside the while-loop.
However, you still have an issue with the bonds being cohesive *before* you have done your confining pressure and porosity loops. Cohesive bonds hold the particles in place, which means you cannot decrease porosity of the packing. We solved this before by running the confining pressure and porosity loops without cohesion to reach a desired confining pressure and porosity, we then exported the sphere packing to text file. That text file can then be reused and imported into other scripts where you can set the cohesion on the first iteration and then run the confining pressure loop yet again to reach your desired confining pressure. This second file does not need the porosity while-loop since your packing should already have the targetPorosity achieved from the first file.
Cheers,
Robert
Revision history for this message
|
#11 |
Hi robert ...
I set "cohesiveTresho
then after that i put desired porosity 0.45
I am using the same procedure done before .
but still it is not decreasing porosity.
Revision history for this message
|
#12 |
Hello Ibraheem,
I do not understand. It reached the desired porosity of 0.25? Then you change desired porosity to 0.45, and then it is not decreasing? What is the issue? It is either reaching the desired porosity or it is not?
-rc
Revision history for this message
|
#13 |
Hi Robert ...
sorry for my bad English phrasing.
0.25 was the my desired porosity , I ran the simulation it enter the porosity while loop after 8 hours of running still it was printing porosity of 0.44.
so porosity is not decreasing from 0.44.
it is not reaching the desired porosity and stuck at porosity of 0.44
for the case of cohesion in 1st script I have set the attribute "cohesiveTresho
Revision history for this message
|
#14 |
Hey Ibraheem,
Ok, so in comparison to [1] what have you changed? (this is typically the first thing that should be reported when asking questions , please review point 2 of [2]). I see the youngs modulus is 5 orders of magnitude higher in your script compared to [1]. However, you hold the same confining pressure - so I am unsurprised that the equilibrium is found at a higher porosity. If you desire a lower porosity, you need to decrease the youngs modulus or increase your confining pressure.
This goes back to my original post - I see no difference scaling heat porosity from DEM porosity of 0.44 to a "true" porosity of 0.015 or DEM 0.25 to "true" 0.015. In both cases, you are discretizing space (i.e. the DEM particles do not directly represent grains) which means packing porosity is just a numerical by product.
Cheers,
Robert
[1]https:/
[2]https:/