Re: [Yade-users] [Question #698594]: Triaxial test comparison between periodic boundary and rigid boundary

2021-09-19 Thread Launchpad Janitor
Question #698594 on Yade changed:
https://answers.launchpad.net/yade/+question/698594

Status: Open => Expired

Launchpad Janitor expired the question:
This question was expired because it remained in the 'Open' state
without activity for the last 15 days.

-- 
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 #698594]: Triaxial test comparison between periodic boundary and rigid boundary

2021-09-03 Thread Leonard
Question #698594 on Yade changed:
https://answers.launchpad.net/yade/+question/698594

Status: Answered => Open

Leonard is still having a problem:
Hello Jan and Luc,
Thanks very much for your reply.

Here I made two MWE for rigid wall case and periodic boundary case
respectively. It may take around 8 min for each of the simulation, or
you can also find the results of stress-strain and volumetric strain
evolution at [1].

>same strain rate (I think)
Because in rigid wall which uses TriaxialStressController, I can specify the 
loading rate by triax.goal. But as far as I understand, it seems that for 
PeriTriaxController, it can only specify the loading rate by maxStrainRate. So 
I made triax.strain=1 (rigid case) and triax.maxStrainRate = (1., 1., 1.) in 
periodic case. Do you know how to specify the strain rate in 
PeriTriaxController?

>the two cases use ... the same of sample size
Now I know they are not the same. Just explain here why I though they were same 
before. If you run the periodic MWE below, it prints out the cell size just 
before the deviatoric loading, this size is almost the same as the size in 
rigid case.

>initial porostiy
Sorry for not clearly describe it. Yes, the initial porosity I mentioned is the 
porosity at the begining of the deviatoric loading. In the following two MWE, 
they are both 0.358 getting by function of porosity(). But note that, in rigid 
boundary case, I also print the porosity at the same state by using 
triax.porosity, which retures 0.33.

>coordination number
Thanks Luc, that is a good point to mention. In the two MWE, I print the 
coordination number (CN) just before the deviatoric loading. And the CN of 
rigid boundary is 7.28, while the CN in periodic is 6.3. Which means there are 
more contacts in rigid wall case, indicating a denser state in general. Then my 
question is why they have same inputtings (porosity, particle number...) but 
they have different CN? And another question is how can I make the same sample 
under the two boundary conditions? It would be conflict if I control them as 
the same from porosity and from CN.

### rigidWall case ##
from __future__ import division
from yade import pack, plot
import numpy as np
num_spheres=7000# number of spheres
targetPorosity = 0.33 
compFricDegree = 30 
finalFricDegree = 35 
damp=0.6 
stabilityThreshold=0.001 
confinement=100e3
mn,mx=Vector3(0,0,0),Vector3(0.07,0.14,0.07)  #determine the size of the sample
young=5e6
## create materials for spheres and plates
MatWall=O.materials.append(FrictMat(young=young,poisson=0.3,frictionAngle=0,density=0,label='walls'))
MatSand = 
O.materials.append(FrictMat(young=young,poisson=0.3,frictionAngle=radians(30),\

 density=2650.0,label='sand'))

walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)
sp=pack.SpherePack()
sp.makeCloud(mn,mx,-1,0,num_spheres,False, 0.95,seed=1)
O.bodies.append([sphere(center,rad,material='sand') for center,rad in sp])

Gl1_Sphere.quality=3
triax=TriaxialStressController(
maxMultiplier=1.+2e4/young,
finalMaxMultiplier=1.+2e3/young,
thickness = 0,
stressMask = 7,
internalCompaction=True, 
)
newton=NewtonIntegrator(damping=damp)

O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
triax,
TriaxialStateRecorder(iterPeriod=100,file='WallStresses'),
newton,
PyRunner(iterPeriod=100,command='history()',label='recorder'),

PyRunner(command='stopIfDamaged()',iterPeriod=200,label="endSimulation"),
]

recorder.dead=True
endSimulation.dead=True
Gl1_Sphere.stripes=0
triax.goal1=triax.goal2=triax.goal3=-confinement

def getCN():
# get coordination number
CN=0
for i in O.bodies:
if isinstance(i.shape,Sphere):
CN +=len(i.intrs())
Z = CN/ 7000.0
return Z

while 1:
  O.run(1000, True)
  unb=unbalancedForce()
  print 'unbF:',unb,' meanStress: 
',-triax.meanStress,'top:',-triax.stress(triax.wall_top_id)[1]
  if unb0.0001:
compFricDegree = 0.95*compFricDegree
setContactFriction(radians(compFricDegree))
print "\r Friction: ",compFricDegree," porosity:",triax.porosity,
sys.stdout.flush()
O.run(500,1)

print "###  state 2  Reach target porosity completed  ###"
print "particle radii is: ", O.bodies[2000].shape.radius ## here get the 
particle radius which will be used as input in makecloud in periodic boundary 
case.
print 'triax.porosi

Re: [Yade-users] [Question #698594]: Triaxial test comparison between periodic boundary and rigid boundary

2021-09-02 Thread Luc Sibille
Question #698594 on Yade changed:
https://answers.launchpad.net/yade/+question/698594

Status: Needs information => Answered

Luc Sibille proposed the following answer:
Hello Leonard,

When you say "same initial void ratio", does "initial" mean just before 
the triaxial compression?
Similarly did you check the coordination number just before the triaxial 
compression is the same for the two cases?

Best,
Luc

Le 01/09/2021 à 18:35, Leonard a écrit :
> New question #698594 on Yade:
> https://answers.launchpad.net/yade/+question/698594
>
> Hi,
> I carried out triaxial compression tests at two boundary conditions (one case 
> with rigid wall and one case with periodic boundary), the two cases use the 
> same material, the same particle size distribution and paticle number, same 
> contact law and the same initial void ratio, at same confining pressure, same 
> strain rate (I think), and almost the same of sample size. But I got really 
> different mechanical response, especially for the volumetric behaviour, the 
> periodic one shows contractive behaviour, while the rigid case shows dilative 
> behaviour. I thoungh I have controlled all the conditions (except boundary 
> condition) the same.
> It is not surprise that there are some difference, but is it normal to have 
> such a big difference?  Or did I miss some factors which can also lead to the 
> difference?
>
> Thanks!
> Leonard
>

-- 
Luc Sibille
Université Grenoble Alpes / IUT1 de Grenoble
Laboratoire 3SR: Sols, Solides, Structures, Risques

Tel lab.: +33 (0)4 76 82 63 48
Tel IUT: +33 (0)4 76 82 53 36

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 #698594]: Triaxial test comparison between periodic boundary and rigid boundary

2021-09-01 Thread Jan Stránský
Question #698594 on Yade changed:
https://answers.launchpad.net/yade/+question/698594

Status: Open => Needs information

Jan Stránský requested more information:
Hello,

> I carried out ...

a MWE [1] would be great, most likely necessary, to provide serious answer.
Or at least more detailed information on "triaxial compression tests" (loading 
scenario, load values, what is prescribed (stress, strain),  )

> the two cases use ... same strain rate (I think)

you should know, not think

> the two cases use ... the same of sample size

definitely not.
For the rigid walls, the sample dimension is a true dimension.
For the size of periodic cell, it just an arbitrary sample out of **infinite** 
medium.
If you "repeat" the periodic cell (like "2x2x2" or "3x3x3" sample), you should 
get the same results as for the one cell.

> but is it normal to have such a big difference?

it might be normal, or not :-)

> Or did I miss some factors which can also lead to the difference?

friction of walls?

Cheers
Jan

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

-- 
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


[Yade-users] [Question #698594]: Triaxial test comparison between periodic boundary and rigid boundary

2021-09-01 Thread Leonard
New question #698594 on Yade:
https://answers.launchpad.net/yade/+question/698594

Hi,
I carried out triaxial compression tests at two boundary conditions (one case 
with rigid wall and one case with periodic boundary), the two cases use the 
same material, the same particle size distribution and paticle number, same 
contact law and the same initial void ratio, at same confining pressure, same 
strain rate (I think), and almost the same of sample size. But I got really 
different mechanical response, especially for the volumetric behaviour, the 
periodic one shows contractive behaviour, while the rigid case shows dilative 
behaviour. I thoungh I have controlled all the conditions (except boundary 
condition) the same. 
It is not surprise that there are some difference, but is it normal to have 
such a big difference?  Or did I miss some factors which can also lead to the 
difference?

Thanks!
Leonard

-- 
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