Re: [Yade-users] [Question #669048]: CU triaxial (PFV)

2018-05-15 Thread SayedHessam
Question #669048 on Yade changed:
https://answers.launchpad.net/yade/+question/669048

Status: Solved => Open

SayedHessam is still having a problem:
Dear Robert,

Sorry for the lack of information.
BTW, you can find herewith my script, as you requested:


### DEFINING ENGINES ###


triax=TriaxialStressController(
 ## TriaxialStressController will be used to control stress and strain. It 
controls particles size and plates positions.
 ## this control of boundary conditions was used for instance in 
http://dx.doi.org/10.1016/j.ijengsci.2008.07.002
 maxMultiplier=1.+2e4/young, # spheres growing factor (fast growth)
 finalMaxMultiplier=1.+2e3/young, # spheres growing factor (slow growth)
 thickness = 0,
 ## switch stress/strain control using a bitmask. What is a bitmask, huh?!
 ## Say x=1 if stess is controlled on x, else x=0. Same for for y and z, which 
are 1 or 0.
 ## Then an integer uniquely defining the combination of all these tests is: 
mask = x*1 + y*2 + z*4
 ## to put it differently, the mask is the integer whose binary representation 
is xyz, i.e.
 ## "100" (1) means "x", "110" (3) means "x and y", "111" (7) means "x and y 
and z", etc.
 stressMask = 7,
 internalCompaction=True, # If true the confining pressure is generated by 
growing particles
)

newton=NewtonIntegrator(damping=damp)

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()]
 ),
 ## We will use the global stiffness of each body to determine an optimal 
timestep (see 
https://yade-dem.org/w/images/1/1b/Chareyre_licensed.pdf)
 FlowEngine(dead=1,label="flow"),#introduced as a dead engine for the moment, 
see 2nd section
 
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
 triax,
 TriaxialStateRecorder(iterPeriod=100,file='WallStresses'+table.key),
 newton
]

#Display spheres with 2 colors for seeing rotations better
Gl1_Sphere.stripes=0
if nRead==0: yade.qt.Controller(), yade.qt.View()

## UNCOMMENT THE FOLLOWING SECTIONS ONE BY ONE
## DEPENDING ON YOUR EDITOR, IT COULD BE DONE
## BY SELECTING THE CODE BLOCKS BETWEEN THE SUBTITLES
## AND PRESSING CTRL+SHIFT+D

###
### APPLYING CONFINING PRESSURE ###
###

#the value of (isotropic) confining stress defines the target stress to be 
applied in all three directions
triax.goal1=triax.goal2=triax.goal3=-1

while 1:
  O.run(1000, True)
  #the global unbalanced force on dynamic bodies, thus excluding boundaries, 
which are not at equilibrium
  unb=unbalancedForce()
  print 'unbalanced force:',unb,' mean stress: ',triax.meanStress
  if unb -5:
 O.run(100)
 devi_test = -triax.stress(triax.wall_top_id)[1] - 
(-triax.stress(triax.wall_right_id)[0]\
 -triax.stress(triax.wall_front_id)[2]) / 2.0

#B. Activate flow engine and set boundary conditions in order to get 
permeability
flow.dead=0
flow.defTolerance=0.3
flow.meshUpdateInterval=200
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=1.3e-3
flow.fluidBulkModulus = 2e9
flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),0.001)
flow.bndCondIsPressure=[0,0,0,0,0,0]
flow.bndCondValue=[0,0,0,0,0,0]
flow.boundaryUseMaxMin=[0,0,0,0,0,0]
O.dt=0.1e-3
O.dynDt=False

O.run(1,1)
Qin = flow.getBoundaryFlux(2)
Qout = flow.getBoundaryFlux(3)
tic_toc = 0
print(O.iter)
print(triax.stressMask)
print(triax.goal1)
print(triax.goal2)
print(triax.goal3)

Regards
Sam

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #669048]: CU triaxial (PFV)

2018-05-15 Thread SayedHessam
Question #669048 on Yade changed:
https://answers.launchpad.net/yade/+question/669048

Status: Needs information => Solved

SayedHessam confirmed that the question is solved:
Dear Robert,

Sorry for the lack of information.
BTW, you can find herewith my script, as you req

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #669048]: CU triaxial (PFV)

2018-05-15 Thread SayedHessam
Question #669048 on Yade changed:
https://answers.launchpad.net/yade/+question/669048

SayedHessam posted a new comment:
Dear Robert,

Sorry for the lack of information.
BTW, you can find herewith my script, as you requested:



###   DEFINING ENGINES   ###


triax=TriaxialStressController(
## TriaxialStressController will be used to control stress and strain. 
It controls particles size and plates positions.
## this control of boundary conditions was used for instance in 
http://dx.doi.org/10.1016/j.ijengsci.2008.07.002
maxMultiplier=1.+2e4/young, # spheres growing factor (fast growth)
finalMaxMultiplier=1.+2e3/young, # spheres growing factor (slow growth)
thickness = 0,
## switch stress/strain control using a bitmask. What is a bitmask, 
huh?!
## Say x=1 if stess is controlled on x, else x=0. Same for for y and z, 
which are 1 or 0.
## Then an integer uniquely defining the combination of all these tests 
is: mask = x*1 + y*2 + z*4
## to put it differently, the mask is the integer whose binary 
representation is xyz, i.e.
## "100" (1) means "x", "110" (3) means "x and y", "111" (7) means "x 
and y and z", etc.
stressMask = 7,
internalCompaction=True, # If true the confining pressure is generated 
by growing particles
)

newton=NewtonIntegrator(damping=damp)

O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
## We will use the global stiffness of each body to determine an 
optimal timestep (see 
https://yade-dem.org/w/images/1/1b/Chareyre_licensed.pdf)
FlowEngine(dead=1,label="flow"),#introduced as a dead engine for the 
moment, see 2nd section

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
triax,
TriaxialStateRecorder(iterPeriod=100,file='WallStresses'+table.key),
newton
]

#Display spheres with 2 colors for seeing rotations better
Gl1_Sphere.stripes=0
if nRead==0: yade.qt.Controller(), yade.qt.View()

## UNCOMMENT THE FOLLOWING SECTIONS ONE BY ONE
## DEPENDING ON YOUR EDITOR, IT COULD BE DONE
## BY SELECTING THE CODE BLOCKS BETWEEN THE SUBTITLES
## AND PRESSING CTRL+SHIFT+D

###
###   APPLYING CONFINING PRESSURE   ###
###

#the value of (isotropic) confining stress defines the target stress to be 
applied in all three directions
triax.goal1=triax.goal2=triax.goal3=-1

while 1:
  O.run(1000, True)
  #the global unbalanced force on dynamic bodies, thus excluding boundaries, 
which are not at equilibrium
  unb=unbalancedForce()
  print 'unbalanced force:',unb,' mean stress: ',triax.meanStress
  if unb -5:
 O.run(100)
 devi_test = -triax.stress(triax.wall_top_id)[1] - 
(-triax.stress(triax.wall_right_id)[0]\
 -triax.stress(triax.wall_front_id)[2]) / 2.0

#B. Activate flow engine and set boundary conditions in order to get 
permeability
flow.dead=0
flow.defTolerance=0.3
flow.meshUpdateInterval=200
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=1.3e-3
flow.fluidBulkModulus = 2e9
flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),0.001)
flow.bndCondIsPressure=[0,0,0,0,0,0]
flow.bndCondValue=[0,0,0,0,0,0]
flow.boundaryUseMaxMin=[0,0,0,0,0,0]
O.dt=0.1e-3
O.dynDt=False

O.run(1,1)
Qin = flow.getBoundaryFlux(2)
Qout = flow.getBoundaryFlux(3)
tic_toc = 0
print(O.iter)
print(triax.stressMask)
print(triax.goal1)
print(triax.goal2)
print(triax.goal3)

Regards
Sam

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #669048]: CU triaxial (PFV)

2018-05-15 Thread Robert Caulk
Question #669048 on Yade changed:
https://answers.launchpad.net/yade/+question/669048

Status: Open => Needs information

Robert Caulk requested more information:
Hello Sam,

CHOLMOD usually throws this error when the boundary conditions are
improperly defined (hence the not positive definite). But it might also
throw this error if the time step is too large or if your packing has
exploded.

One way or the other, there is no way to know which problem is yours
since you have simply posted the error and you have not posted a minimal
working example [1].

[1]https://yade-dem.org/wiki/Howtoask

Cheers,

Robert

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #669006]: Pyrunner(command) problem for Triaxial simulation

2018-05-15 Thread De zhang
Question #669006 on Yade changed:
https://answers.launchpad.net/yade/+question/669006

Status: Open => Solved

De zhang confirmed that the question is solved:
@Robert, @Jan Stránský, Thanks! I have found the problem and comprehend the 
using of PyRunner and O.engines+.
Thank you for your help~
Best Regards!
De Zhang

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #669045]: How to develop voids of different sizes to a dense pack material

2018-05-15 Thread Samuel Lu
Question #669045 on Yade changed:
https://answers.launchpad.net/yade/+question/669045

Summary changed to:
How to develop voids of different sizes to a dense pack material

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp