Re: [Yade-users] [Question #693282]: Looking for Direct Shear test script

2020-10-12 Thread Luc Scholtès
Question #693282 on Yade changed:
https://answers.launchpad.net/yade/+question/693282

Status: Needs information => Answered

Luc Scholtès proposed the following answer:
Hi,

The following lines may help you build a direct shear test simulation
(the script needs other scripts to work properly, i.e., one to generate
the sample and one to do the identification of the contact along the
joint) . Let us know if that's what you are after.

###

# -*- coding: utf-8 -*-
O=Omega()

from yade import ymport, utils, plot

## parameters definition 
PACKING='global_spheres.xyz' # imported from a text file

intR=1.4
DENS=3000
YOUNG=12e9
FRICT=18
POISSON=0.15
TENS=11e6
COH=11e7
SMOOTH=True
jointNSTIFF=12e9
jointSSTIFF=12e8
jointFRICT=30
jointTENS=0.
jointCOH=0.
jointDIL=0.

DAMPING=0.5
dtCOEFF=0.5
iterMAX=10
saveVTK=10
recCRACKS=True
Output=PACKING+'_1MPa'

normalSTRESS=1.e6
normalVEL=normalSTRESS/1e8 # optimized for normalVEL=normalSTRESS/1e8?
shearVEL=2*normalVEL # optimized for shearVEL=normalVEL?

## Import of the sphere assembly
### material definition
def sphereMat(): return 
JCFpmMat(type=1,density=DENS,young=YOUNG,poisson=POISSON,frictionAngle=radians(FRICT),tensileStrength=TENS,cohesion=COH,jointNormalStiffness=jointNSTIFF,jointShearStiffness=jointSSTIFF,jointTensileStrength=jointTENS,jointCohesion=jointCOH,jointFrictionAngle=radians(jointFRICT),jointDilationAngle=radians(jointDIL))
def wallMat(): return 
JCFpmMat(type=0,density=DENS,young=YOUNG,poisson=POISSON,frictionAngle=radians(0))

## copy spheres from the packing into the scene
O.bodies.append(ymport.text(PACKING,scale=1,shift=Vector3(0,0,0),material=sphereMat))

## preprocessing to get dimensions
dim=utils.aabbExtrema()
xinf=dim[0][0]
xsup=dim[1][0]
X=xsup-xinf
yinf=dim[0][1]
ysup=dim[1][1]
Y=ysup-yinf
zinf=dim[0][2]
zsup=dim[1][2]
Z=zsup-zinf
## initial surface
S0=X*Z

## spheres factory
R=0
Rmax=0
numSpheres=0.
for o in O.bodies:
 if isinstance(o.shape,Sphere):
   o.shape.color=(0.7,0.5,0.3)
   numSpheres+=1
   R+=o.shape.radius
   if o.shape.radius>Rmax:
 Rmax=o.shape.radius
Rmean=R/numSpheres

 create the fracture directly here
import gts
ptA = gts.Vertex( xinf-X/4., yinf-Y/4., zinf+Z/2.)
ptB = gts.Vertex( xinf-X/4., ysup+Y/4., zinf+Z/2.)
ptC = gts.Vertex( xsup+X/4., yinf-Y/4., zinf+Z/2.)
ptD = gts.Vertex( xsup+X/4., ysup+Y/4., zinf+Z/2.)
e1 = gts.Edge(ptA,ptB)
e2 = gts.Edge(ptA,ptC)
e3 = gts.Edge(ptC,ptB)
f1 = gts.Face(e1,e2,e3)
e4 = gts.Edge(ptC,ptD)
e5 = gts.Edge(ptD,ptB)
f2 = gts.Face(e4,e5,e3)
s1 = gts.Surface()
s1.add(f1)
s1.add(f2)
facet = gtsSurface2Facets(s1,wire = False,material=wallMat)
O.bodies.append(facet)

execfile('identifBis.py') #you need the script in the same folder (this
one is available in the JCFPM examples)

## creation of shear box
thickness=Z/100.
oversizeFactor=1.3

### loading platens
O.bodies.append(utils.box(center=(xinf+X/2.,yinf+Y/2.,zinf-thickness+Rmean/5.),extents=(oversizeFactor*X/2,oversizeFactor*Y/2,thickness),material=wallMat,fixed=True))
 
bottomPlate=O.bodies[-1]
O.bodies.append(utils.box(center=(xinf+X/2.,yinf+Y/2.,zsup+thickness-Rmean/5.),extents=(oversizeFactor*X/2,oversizeFactor*Y/2,thickness),material=wallMat,fixed=True))
topPlate=O.bodies[-1]

## Engines
O.engines=[
  
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='aabb'),Bo1_Box_Aabb()]),

InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='ss2d3dg'),Ig2_Box_Sphere_ScGeom()],

[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')],

[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(smoothJoint=SMOOTH,recordCracks=True,label='interactionLaw')]
),


GlobalStiffnessTimeStepper(defaultDt=0.1*PWaveTimeStep(),timestepSafetyCoefficient=dtCOEFF),

TranslationEngine(ids=[topPlate.id],translationAxis=(0.,0.,-1.),velocity=0.,label='zTranslation'),

PyRunner(iterPeriod=1,initRun=True,command='servoController()',label='servo'),
NewtonIntegrator(damping=DAMPING,gravity=(0,0,0),label='damper'),
PyRunner(iterPeriod=100,initRun=True,command='dataCollector()'),

VTKRecorder(iterPeriod=int(iterMAX/saveVTK),initRun=True,fileName=Output+'-',recorders=['spheres','stress','velocity','jcfpm','cracks','boxes'])

]

## Engines definition ( servoController() and 
dataCollector() )
shearing=False
sigmaN=0
tau=0
Fs1=0
Fs2=0
Xdispl=0
px0=0
Zdispl=0
pz0=topPlate.state.pos[2]
prevTranslation=0
n=0

def servoController():
global px0, pz0, sigmaN, n, Fn1, Fn2, shearing, butee, piston1, piston2
Fn1=abs(O.forces.f(topPlate.id)[2])

Re: [Yade-users] [Question #693898]: Bonding particles with JCFpm yields unexpected forces

2020-11-10 Thread Luc Scholtès
Question #693898 on Yade changed:
https://answers.launchpad.net/yade/+question/693898

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi David,

1) no Hertz Mindlin contact force in JCFPM: stiffnesses are constant (linear 
force displacement law). The way these stiffnesses are computed is different 
for isOnJoint and not isOnJoint interaction though:
 
- for not isOnJoint interactions: kn is computed as in CundallStrack as a 
harmonic average of the particle elastic moduli such as kn=2* E1*R1*E2*R2 / 
(E1*R1 + E2*R2) and ks=ks = 2*E1*R1*v1*E2*R2*v2 / (E1*R1*v1 + E2*R2*v2)

- for isOnJoint interactions: kn and ks are directly assigned the values
define by the jointNormal/ShearStiffness arguments such as ki = (jki1 +
jki2)/2*contactPhysics->crossSection

2) Is it necessary to custom set every interaction ‘isOnJoint’ when
forces according to jointNormalStiffness / jointShearStiffness are
desired?

-> not sure to understand your inquiry here... I think I answered in the
previous comment but: what exactly do you want to achieve?

3) How does one achieve forces that are guided by the cross-section A
and a defined jointNormalStiffness?

-> I may not understand your questions but I think it is the case (see
previous answer). You could also define the contact stiffness based on
the surface when the interactions are set (after the first timestep of
your simulation). You would have to do that for both the material
attribute (body.mat) and the interaction attribute (interaction.phys)
through python coding (no need to modify the sources).

4) Similar to the Mindlin Physics Model, is it possible to integrate
viscous damping with a coefficient of restitution en
(Ip2_FrictMat_FrictMat_MindlinPhys(en=en))?

-> yes, that's possible but you'll need to modify the sources if you
want to combine JCFPM features with Mindlin Features (viscous damping +
joint like interactions).

I hope that's clear

Luc

-- 
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 #693898]: Bonding particles with JCFpm yields unexpected forces

2020-11-12 Thread Luc Scholtès
Question #693898 on Yade changed:
https://answers.launchpad.net/yade/+question/693898

Luc Scholtès proposed the following answer:
Alright,

For 1), as suggested by Jerome, if you want to modify an existing
interaction stiffness, you need to add

i.phys.kn=valueYouWant

in your loop

#Set sphere state and interactions manually 'onJoint'

That's true for all properties of an existing interaction. The way you
did it only changed the properties on the particles, which will be taken
into consideration the next time an interaction is created with these
particles.

For 2), I am not sure to see the point of using a bond as a damping
tool... For instance, you could compact the assembly with a classic
frictional law using a high value of the non viscous damping coefficient
(defined in Newton integrator)? Now, assuming that you really want to
add cohesion between particles to compact the assembly , why define
jointed interactions to do that? You can simply define cohesive bonds
without the attribute "onJoint"... The onJoint attribute only makes
sense if you want to reorientate the contacts according one or several
predefined discontinuity planes (cf. smooth contact logic proposed in
[1,2]). If that's not the case, just define cohesion and/or tensile
strength between particles without changing the contact plane
orientation (without playing on the onJoint attribute).

Luc

[1] https://www.sciencedirect.com/science/article/pii/S1365160910002169
[2] 
https://www.sciencedirect.com/science/article/pii/S1365160912000391?via%3Dihub

-- 
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 #676841]: the definition of porosity

2020-11-14 Thread Luc Scholtès
Question #676841 on Yade changed:
https://answers.launchpad.net/yade/+question/676841

Luc Scholtès posted a new comment:
Dear Feri,

Yes there is solution for that. Just have a look at the script below
which describes a uniaxial test with the JCFPM. More specifically, look
at the intR parameter and how it is used.

Luc

ps: next time, please open a dedicated question.



from yade import ymport, plot

# SIMULATIONS DEFINED HERE

 pre-existing packing
PACK='box_112_5659.spheres'

 Simulation Control
rate=-0.01 #deformation rate
iterMax=6 # maximum number of iterations 
saveData=int(iterMax/1000) # data record interval
saveVTK=int(iterMax/5.) # saving output files for paraview 
OUT='uniaxialCompressionTest_0.01'

 Microproperties (interparticle parameters)
DENS=3000 # this one can be adjusted for different reasons (porosity of packing 
vs porosity of material / increase time step (no gravity -> no real effect on 
the result)

intR=1.2 # allows near neighbour interaction (can be adjusted for every packing 
/ the bigger -> the more brittle / careful when intR is too large -> bonds can 
be created "over" particles) -> intR can be calibrated to reach a certain 
coordination number K (see calculation on line 115)
YOUNG=10e9 # this one controls the Young's modulus of the material
ALPHA=0.15 # this one controls the material Poisson's ratio of the material
TENS=10e6 # this one controls the tensile strength UTS of the material
COH=10e6 # this one controls the compressive strength UCS of the material, more 
precisely, the ratio UCS/UTS (from my experience: COH should be >= to TENS, >= 
10*TENS for competent materials like concrete)
FRICT=20 # this one controls the slope of the failure envelope (effect mainly 
visible on triaxial compression tests)

 example values
### granite -> needs K=13
#YOUNG=68e9 
#ALPHA=0.333
#TENS=8e6 
#COH=16e7
#FRICT=10

### Fontainebleau sandstone -> needs K=10
#YOUNG=50e9 
#ALPHA=0.25
#TENS=45e5 
#COH=45e6
#FRICT=18

 claystone -> needs K=8
#YOUNG=10e9 
#ALPHA=0.1
#TENS=12e6 
#COH=12e6
#FRICT=7

 material definition
def sphereMat(): return 
JCFpmMat(type=1,density=DENS,young=YOUNG,poisson=ALPHA,tensileStrength=TENS,cohesion=COH,frictionAngle=radians(FRICT))

 import pre-existing specimen
O.bodies.append(ymport.text(PACK,scale=1.,shift=Vector3(0,0,0),material=sphereMat))

R=0
Rmax=0
Rmin=1e6
nbSpheres=0.
for o in O.bodies:
 if isinstance(o.shape,Sphere):
   o.shape.color=(0.7,0.5,0.3)
   nbSpheres+=1
   R+=o.shape.radius
   if o.shape.radius>Rmax:
 Rmax=o.shape.radius
   if o.shape.radius0:
dim=aabbExtrema()
layerSize=0.15 # size of the reinforced zone
for o in O.bodies:
if isinstance(o.shape,Sphere):
if ( 
o.state.pos[longerAxis]<(dim[0][longerAxis]+layerSize*(dim[1][longerAxis]-dim[0][longerAxis]))
 ) or ( 
o.state.pos[longerAxis]>(dim[1][longerAxis]-layerSize*(dim[1][longerAxis]-dim[0][longerAxis]))
 ) :
o.shape.color=(1,1,1)

 coordination number calculation
numSSlinks=0
numCohesivelinks=0
for i in O.interactions:
if not i.isReal : continue
if isinstance(O.bodies[i.id1].shape,Sphere) and 
isinstance(O.bodies[i.id2].shape,Sphere):
  numSSlinks+=1
  # FOR TENSION TEST: these lines reinforce the bonds near the boundaries 
to avoid rupture along the boundaries
  if O.bodies[i.id1].shape.color==(1,1,1) or 
O.bodies[i.id2].shape.color==(1,1,1) :
i.phys.FnMax*=100
i.phys.FsMax*=100
if i.phys.isCohesive :
  numCohesivelinks+=1
print ("K=", 2.0*numCohesivelinks/nbSpheres) 

#vtk.dead=0
#O.step()
#vtk.iterPeriod=saveVTK

# SIMULATION REALLY STARTS HERE
strainer.dead=0
O.run(iterMax)

-- 
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 #676841]: the definition of porosity

2020-11-15 Thread Luc Scholtès
Question #676841 on Yade changed:
https://answers.launchpad.net/yade/+question/676841

Luc Scholtès posted a new comment:
Hi,

JCFPM is suitable for modeling rocks [1] and fractured rocks [2].

What do you want to model exacly? -> Please open a dedicated question since we 
are very far from "
the definition of porosity"

Luc

[1] https://www.sciencedirect.com/science/article/abs/pii/S0022509612002268
[2] https://www.sciencedirect.com/science/article/pii/S1365160912000391

-- 
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 #693898]: Bonding particles with JCFpm yields unexpected forces

2020-11-17 Thread Luc Scholtès
Question #693898 on Yade changed:
https://answers.launchpad.net/yade/+question/693898

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi David,

"What constitutive law would you recommend to achieve these cohesive
bonds?"

You can use the JCFPM. All interactions (onJoint or notOnJoint) can be
defined with or without cohesion/tensile strength.

The tensile strength defines a maximum admissible force in tension (normal 
direction to the contact).
The cohesion defines a maximum admissible force in shear (tangential direction 
to the contact).

Please find below an example for simulating a uniaxial compression test
on an "intact" sample (no joints) with JCFPM.

Luc

---

# -*- coding: utf-8 -*-
# -*- encoding=utf-8 -*-
from yade import pack, plot

# SIMULATIONS DEFINED HERE

 packing (previously constructed)
OUT='compressionTest_JCFPM'

 Simulation Control
rate=-0.01 #deformation rate 
iterMax=1 # maximum number of iterations 
saveVTK=2000 # saving output files for paraview

 Material microproperties 
intR=1.1 # allows near neighbour interaction (can be adjusted for every packing)
DENS=2500 # could be adapted to match material density: 
dens_DEM=dens_rock*(V_rock/V_particles)=dens_rock*1/(1-poro_DEM) -> packing 
porosity as to be computed? 
YOUNG=20e9 
FRICT=7
ALPHA=0.1
TENS=1e6 
COH=1e6

 material definition
def sphereMat(): return 
JCFpmMat(type=1,density=DENS,young=YOUNG,poisson=ALPHA,frictionAngle=radians(FRICT),tensileStrength=TENS,cohesion=COH)

 create the specimen
pred=pack.inCylinder((0,0,0),(0,1,0),0.25)
O.bodies.append(pack.regularHexa(pred,radius=0.025,gap=0.,material=sphereMat)) 
# up to you to define another sample here, e.g., with randomDensePack or 
anything else.

R=0
Rmax=0
nbSpheres=0.
for o in O.bodies:
 if isinstance(o.shape,Sphere):
   nbSpheres+=1
   R+=o.shape.radius
   if o.shape.radius>Rmax:
 Rmax=o.shape.radius
Rmean=R/nbSpheres

print 'nbSpheres=',nbSpheres,' | Rmean=',Rmean

 boundary condition (see utils.uniaxialTestFeatures
bb=utils.uniaxialTestFeatures()
negIds,posIds,longerAxis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area']
 
# ENGINES DEFINED HERE

O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]),
InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom')],

[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')],

[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,Key=OUT,label='interactionLaw')]
),

UniaxialStrainer(strainRate=rate,axis=longerAxis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=1,blockRotations=1,setSpeeds=0,stopStrain=0.1,dead=1,label='strainer'),

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=10,timestepSafetyCoefficient=0.5,
 defaultDt=utils.PWaveTimeStep()),
NewtonIntegrator(damping=0.4,label='newton'),

PyRunner(iterPeriod=int(100),initRun=True,command='recorder()',label='data'),

VTKRecorder(iterPeriod=int(saveVTK),initRun=True,fileName=OUT+'-',recorders=['spheres','jcfpm','cracks'],Key=OUT,label='vtk')
]

# RECORDER DEFINED HERE

def recorder():
yade.plot.addData({'i':O.iter,
   'eps':strainer.strain,
   'sigma':strainer.avgStress,
   'tc':interactionLaw.nbTensCracks,
   'sc':interactionLaw.nbShearCracks,
   'te':interactionLaw.totalTensCracksE,
   'se':interactionLaw.totalShearCracksE,
   'unbF':utils.unbalancedForce()})
plot.saveDataTxt(OUT)

# if you want to plot during simulation
plot.plots={'i':('sigma')}
plot.plot()

# PREPROCESSING

 manage interaction detection factor during the first timestep and then set 
default interaction range ((cf. A DEM model for soft and hard rock, Scholtes & 
Donze, JMPS 2013))
O.step();
### initializes the interaction detection factor
SSgeom.interactionDetectionFactor=-1.
Saabb.aabbEnlargeFactor=-1.

 coordination number verification
numSSlinks=0
numCohesivelinks=0
for i in O.interactions:
if isinstance(O.bodies[i.id1].shape,Sphere) and 
isinstance(O.bodies[i.id2].shape,Sphere):
  numSSlinks+=1
if i.phys.isCohesive :
  numCohesivelinks+=1

print "nblinks=", numSSlinks, " | nbCohesivelinks=", numCohesivelinks, " || 
Kcohesive=&quo

Re: [Yade-users] [Question #694100]: Simulation compared to real tests

2020-11-20 Thread Luc Scholtès
Question #694100 on Yade changed:
https://answers.launchpad.net/yade/+question/694100

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello,

How did you define the interparticle properties in your simulation
(interparticle stiffnesses, interparticle friction)?

Did you calibrate the model to make sure that the macroscopic emergent
behavior is the behavior you expect?

My guess is that the emergent/macroscopic friction angle of your DEM
model is exactly half the friction angle of the material you want to
model.

Because of the spherical simplification (and other things), defining an
interparticle friction angle of 40° will not result in a
macroscopic/emergent friction angle of 40°. Generally, the emergent
macroscopic friction angle is smaller than the interparticle friction
angle.

Sorry if you already knew that but I just wanted to be sure before going
any further.

Luc

-- 
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 #694100]: Simulation compared to real tests

2020-11-20 Thread Luc Scholtès
Question #694100 on Yade changed:
https://answers.launchpad.net/yade/+question/694100

Status: Open => Answered

Luc Scholtès proposed the following answer:
The fact that you asked about how to measure the emergent properties of
your DEM model confuses me a bit since this is part of the calibration
process which consists in finding the set of interparticle properties
(stiffnesses, friction) that enables to obtain the right macroscopic
properties. Usually, this is done by running either triaxial or direct
shear tests to extract the emergent properties for a given set of
interparticle properties.

Just to be sure: how did you calibrate your model?

Luc

-- 
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 #694100]: Simulation compared to real tests

2020-11-22 Thread Luc Scholtès
Question #694100 on Yade changed:
https://answers.launchpad.net/yade/+question/694100

Status: Open => Answered

Luc Scholtès proposed the following answer:
OK... I am still confused because you say that you chose the parameters
that matches your soil but then you say that there is a discrepancy when
you compare the stress strain curves...

If I understand correctly, your real soil has an internal friction angle
of 38°. To obtain this value, you performed several direct shear tests
at different normal stresses and then, based on the Mohr-Coulomb
criterion, you used a linear regression to fit your data (peak or
residual shear stresses and associated normal stresses).

My question is: what is the internal/emergent/macroscopic friction angle
of your DEM model/numerical material?

I see that you defined a 40° in the following lines of your script:

# friction angles
compFRIC=15. # during compaction (controls porosity)
FRIC=40. # during shear

These lines defines the interparticle friction angle, the value that is
used in CohFrictMat.

This value (40°) does not define the internal/emergent/macroscopic
friction angle of your DEM model/material.

To estimate the internal/emergent/macroscopic friction angle of your DEM
model/material, you need to do exactly what you have done with your
soil: for a given value of the interparticle friction angle, perform 2
(at least) simulations with different normal stresses and then fit the
results with the MC criterion. You will see that there is no direct
correspondence between the interparticle friction angle defined in
CohFrictMat anf the internal/emergent/macroscopic friction angle of the
DEM material/material.

The calibration consists in adjusting the interparticle friction angle
(the one in CohFrictMat) that produces an internal/emergent/macroscopic
friction angle of 40°.

Sorry if all this was clear but, again, I want to make sure to
understand the source of your issue.

Finally, you may want to have a look at this article: https://hal.univ-
grenoble-alpes.fr/hal-01951842/document

Luc

-- 
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 #694253]: JCFpmMat parameters define

2020-11-30 Thread Luc Scholtès
Question #694253 on Yade changed:
https://answers.launchpad.net/yade/+question/694253

Luc Scholtès proposed the following answer:
Hi Aaron,

In JCFpmMat (https://yade-
dem.org/doc/yade.wrapper.html#yade.wrapper.JCFpmMat), it defines a lot
of stiffness, strength parameters which are really confusing.

-> Well, YADE is a collaborative project so if you find things
confusing, feel free to propose improvements. This being said (...),
JCFPM was designed to deal with jointed materials, i.e., cohesive
materials with pre-existing structures, like, for instance, fractured
rocks (rocks with pre-existing structural discontinuities/fractures).
Hence, all parameters are "doubled" so that the two constitutive
component of a fractured rock (i.e., matrix and fractures) can have
different mechanical properties. If the contact/bond between 2
interacting particles belong to a fracture plane, its properties are
defined through the "jointDedicatedProperty". If the contact/bond
between 2 interacting particles belong to the matrix, its properties are
defined through the "dedicatedProperty".  If your material does not
contain any pre-existing structures, you can just forget about all the
jointDedicatedProperties". Why did we bother with
jointDedicatedProperties in JCFPM? Because we wanted to be able to
reorientate the contact/bond plane accordingly to the
discontinuity/fracture plane.

I strongly suggest you read [1].

1. What are the differences between cohesion and jointCohesion?

-> As mentioned above, "cohesion" is for interactions within the rock
matrix. "jointCohesion" is for interactions along pre-existing
discontinuities/fractures. The same logic applies to
tensileStrength/jointTensileStrength, frictionAngle/jointFrictionAngle,
YoungModulus/jointNormalStiffness, Poisson/jointShearStiffness. Then,
you have extra parameters like jointDilation which enables to define the
dilation of jointed contacts following the physics of rock joints.

2. What is the meaning of joint surface, does it describe the
strength/stiffness of debonding? if so, why do we have to define the
stiffness of debonding? why not just define the stiffness of the bonding
material itself?

-> are you referring to the crossSection variable? I don't see any
jointSurface variable? Or are you referring to the "jointNormal"
variable? If that's the case, jointNormal is a vector that defines the
orientation of the pre-exisitng discontinuity/fracture (if there is one)

3. What is the young in my case, it depends on IP2 functor, but I did
not find related information. Does it mean the Young modulus of
particles?

-> The name "Young" is confusing, I agree with you. It was defined at
the very first stage of the code development and it kept going on
afterward so we just have to deal with it... Actually, it directly
relates to the macroscopic Young modulus. ANW, it defines the normal
stiffness of contacts (https://yade-
dem.org/doc/formulation.html?highlight=young#normal-stiffness). In JCFPM
material, it defines the normal stiffness of contacts within the rock
matrix (notOnJoint).

In your simulation, I'd suggest to use only one material type with 2
sets of properties insteaf of using both JCFpmMat and CohFrictMat.

Please find below a script that simulates a uniaxial compression tests
on an intact matrial using JCFPM.

Cheers,

Luc

[1]
https://www.sciencedirect.com/science/article/abs/pii/S1365160912000391:
Luc Scholtès, Frédéric-Victor Donzé, Modelling progressive failure in
fractured rock masses using a 3D discrete element method, International
Journal of Rock Mechanics and Mining Sciences, Volume 52, 2012, Pages
18-30

--

from yade import pack, plot

# SIMULATIONS DEFINED HERE

 Name of output files
OUT='compressionTest'

 Simulation Control
rate=-0.05 #deformation rate
iterMax=20 # maximum number of iterations   
saveVTK=int(iterMax/5.) # saving output files for paraview   

 Microproperties (interparticle parameters)
intR=1.4 # allows near neighbour interaction (can be adjusted for every packing 
/ the bigger -> the more brittle / careful when intR is too large -> bonds can 
be created "over" particles) -> intR can be calibrated to reach a certain 
coordination number K (see calculation on line 115)
DENS=3000 # this one can be adjusted for different reasons (porosity of packing 
vs porosity of material / increase time step (no gravity -> no real effect on 
the result)
YOUNG=10e9 # this one controls the Young's modulus of the material
ALPHA=0.15 # this one controls the material Poisson's ratio of the material
TENS=3e6 # this one controls the tensile strength UTS of the material
COH=30e6 # this one controls the compressive strength UCS of the material, more 
precisely, the ratio UCS/UTS (from my experience: COH should be >= to TENS, &g

Re: [Yade-users] [Question #695118]: Is possible to plot the unbreakable bonds during UTS in paraview

2021-01-21 Thread Luc Scholtès
Question #695118 on Yade changed:
https://answers.launchpad.net/yade/+question/695118

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi,

The 'jcfpm' key in the VTKRecorder should produce '.intr.vtp' files that
you can then open with Paraview. If that's not the case (it should not),
you need to add the 'intr' key in the recorders' list.

Once you have these '.intr.vtp' files, you can open them in Paraview and
then select the 'isCohesive' option to see the "unbroken" bonds (the
cohesive ones).

Let us know if that's what you were looking for.

Luc

-- 
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 #695118]: Is possible to plot the unbreakable bonds during UTS in paraview

2021-01-21 Thread Luc Scholtès
Question #695118 on Yade changed:
https://answers.launchpad.net/yade/+question/695118

Luc Scholtès proposed the following answer:
Ah.. sorry I misread your question.

For the bonds, I don't see anything that could help but it is absolutely
feasible for the spheres. Just color the spheres differently in the
simulation (e.g., spheres in layer in red, color=(1,0,0) and spheres
outside in blue, color= (0,1,0)) and then add the key 'colors" in the
VTKRecorder. You should be able to play with the color of the spheres
when opening the .sphere.vtu in Paraview. Actually, given the current
settings (color of spheres in your simulation), you should already be
able to distinguish the layer in Paraview (just add 'colors' in the
VTKRecorder).

Luc

-- 
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 #695475]: Scaling of Yade with the number of particles

2021-02-10 Thread Luc Scholtès
New question #695475 on Yade:
https://answers.launchpad.net/yade/+question/695475

Hi all,

Just wondering, how does the latest versions of Yade perform with respect to 
other DEM codes (e.g., Esys, PFC)? 

One of my colleague asked me about it but I could not really answer. Also, 
IIRC, efforts have been made recently to enhance the code efficiency but I 
could not find any quantitative evidences (also, [1] does not show anymore, for 
me at least).

Thanks in advance for your answer(s).

Luc

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


-- 
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 #696146]: script of fluidized bed by E Montella et al., PRE, 2016

2021-03-19 Thread Luc Scholtès
New question #696146 on Yade:
https://answers.launchpad.net/yade/+question/696146

Hello,

Is the script used by E. Montella to create the video [1] where a granular bed 
is fluidized available somewhere?

Many thanks

Luc

[1] https://www.youtube.com/watch?v=gH585XaQEcY


-- 
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 #696146]: script of fluidized bed by E Montella et al., PRE, 2016

2021-03-21 Thread Luc Scholtès
Question #696146 on Yade changed:
https://answers.launchpad.net/yade/+question/696146

Status: Answered => Solved

Luc Scholtès confirmed that the question is solved:
Thanks Bruno Chareyre, that solved my question.

-- 
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 #696786]: Strange behavior: sand pile settles in a squared shape ?

2021-04-27 Thread Luc Scholtès
New question #696786 on Yade:
https://answers.launchpad.net/yade/+question/696786

Hi all,

When simulating the settlement of a relatively dense) packing on a plane 
surface, I obtain an equilibrium state which seems a bit awkward: from above, 
the particles tend to spread in a squared shape instead of a circular shape (as 
I would have expected). I tested different contact laws as well as different 
initial packing shapes and it seems to occur systematically (the squared shape 
is more or less evident depending on the case). The initial packing is built 
based on randomDensePack(): could this be the reason?

Please find below a MWE if you want to reproduce the "problem" (jut click and 
play for ~10 000 iterations when the GUI opens).

Any feedback would be appreciated.

Luc


---

# -*- coding: utf-8 -*-

from yade import pack

 assembly
O.materials.append(FrictMat(density=2600,young=1e6,poisson=0.333,frictionAngle=radians(30),label='sphereMat'))

L=2.
D=L/2.
sphereRad=0.5*(min(L,D)/15.) # define sphere mean radius as a function of model 
dimensions / you can directly define a value
pred=pack.inCylinder((0,0,0),(0,0,L),D/2.)
#pred=pack.inSphere((0,0,0),D/2.)
O.bodies.append(pack.randomDensePack(pred,radius=sphereRad,rRelFuzz=0.333,spheresInCell=3000,memoizeDb='/tmp/gts-triax-packings.sqlite',returnSpherePack=False,material='sphereMat'))

dim=utils.aabbExtrema()
xinf=dim[0][0]
xsup=dim[1][0]
X=xsup-xinf
yinf=dim[0][1]
ysup=dim[1][1]
Y=ysup-yinf
zinf=dim[0][2]
zsup=dim[1][2]
Z=zsup-zinf

 get spheres dimensions (pre-processing)
R=0
numSpheres=0.
for o in O.bodies:
 if isinstance(o.shape,Sphere):
   o.shape.color=(0.8,0.1,0.1)
   numSpheres+=1
   R+=o.shape.radius
Rmean=R/numSpheres

print('nb of spheres=',numSpheres,' | Rmean=',Rmean)

 floor
O.materials.append(FrictMat(density=2600,young=1e6,poisson=0.333,frictionAngle=radians(30),label='floorMat'))
O.bodies.append(box(center=(0.,0.,zinf-Z/10.),extents=(X*100.0,Y*100.0,Z/10.),fixed=True,wire=False,color=(0,1,0),material='floorMat'))

# engines
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()]
)


,GlobalStiffnessTimeStepper(defaultDt=0.1*utils.PWaveTimeStep(),timestepSafetyCoefficient=0.5)
,NewtonIntegrator(damping=0.7,gravity=(0.,0.,-9.82),label='newton')
]

 open yade GI
from yade import qt
v=qt.Controller()
v=qt.View()

 Allows to reload the simulation
O.saveTmp()

print('press play now!)')





-- 
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 #696786]: Strange behavior: sand pile settles in a squared shape ?

2021-04-28 Thread Luc Scholtès
Question #696786 on Yade changed:
https://answers.launchpad.net/yade/+question/696786

Status: Answered => Solved

Luc Scholtès confirmed that the question is solved:
Thank you Jan. Indeed, the damping coefficient plays a role! I guess I'd
need to consider viscous damping at the contact scale to avoid such "non
physical" behavior, right?

Luc

-- 
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 #697724]: simulation of uniaxial compression test with precracked

2021-06-26 Thread Luc Scholtès
Question #697724 on Yade changed:
https://answers.launchpad.net/yade/+question/697724

Luc Scholtès proposed the following answer:
Hello,

You can choose either option in the jcfpm model. Just change the boolean
smoothJoint from True to False:

https://yade-
dem.org/doc/yade.wrapper.html?highlight=smoothjoint#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM.smoothJoint

if smothJoint=False: regular contacts geometry and mechanical properties (you 
can modify the properties as you want, e.g., isCohesive=0, FnMax=FsMAx=0).
if smoothJoint=True: the contact geometry will be modified according to the 
fracture plane and the properties modified according to the joint properties of 
the JCFPMmat, i.e., jointNormalStiffness, jointShearStiffness, 
jointFrictionAngle, jointTensileStrength, jointCohesion (you might have 
errors/strange behaviors if you don't define those since their default values 
are 0).

The identification of the contacts and particles along the pre-existing
crack/fracture  is done when you type execfile('identifBis.py'). After
that, just loop over the particles and interactions and check their
status: those which are along the fracture plane will be identified as
onJoint:

for particles: 
https://yade-dem.org/doc/yade.wrapper.html?highlight=onjoint#yade.wrapper.JCFpmState.onJoint
for interactions: 
https://yade-dem.org/doc/yade.wrapper.html?highlight=onjoint#yade.wrapper.JCFpmPhys.isOnJoint

Luc

-- 
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 #698301]: large scale simulations

2021-08-09 Thread Luc Scholtès
New question #698301 on Yade:
https://answers.launchpad.net/yade/+question/698301

Hello folks,

I might be involved in a project which would require to run a lot of 
simulations involving hundred thousands or even millions of particles. Of 
course, I'd like to use YADE for that purpose. 

In case this project sees the light, what would be the best hardware option 
considering at this stage that money will not be an issue? 

We will probably have access to a cluster or even a supercomputer with 
possibilities to run simulations in parallel but we might also need to buy one 
dedicated machine for testing, preconditioning of simulations and ease of use 
(PhD student / postdoc fellow). What are basically the most important 
specifications required to run such large scale simulations?

As always, many thanks for your input.

Luc

-- 
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 #698566]: Confused by identificationSpheresOnJoint.py

2021-08-30 Thread Luc Scholtès
Question #698566 on Yade changed:
https://answers.launchpad.net/yade/+question/698566

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi,

I'll try to answer even though I wrote this code almost 10 years ago:

1. I think there was a rule (in YADE collider) which defined facet-
sphere interactions such as body1 is always the facet and body2 always
the sphere. See for instance:
https://answers.launchpad.net/yade/+question/690010. You may want to
doublecheck if this rule is still effective.

2a. I arbitrarily decided that each particle would, at the maximum,
belong to 3 discontinuities at the same time. I believe this is quite
reasonable when you consider a fractured rock mass but you can, if you
want, change that number (it might complexify the numerical treatment
though).

2b. I could not find the word "surface" in the script so I cannot answer
your concern about it.

3. The cross product of parallel vectors is a zero vector whose norm is
(strictly) equal to 0. Testing the norm of the cross product thus
enables to discriminate between different/non parallel joint surfaces:
if the norm of the cross product of their respective normals is not
equal to 0, then the joint surfaces are different/non parallel. The 0.05
I introduced was a way to take into account some sort of error/margin in
the joint surfaces orientation and to avoid the definition of 2
different joint planes for sub-parallel surfaces. This was, again, an
arbitrary choice from myself si you can, if you want, modify that part
of the code.

I hope it helps.

Luc

-- 
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 #698566]: Confused by identificationSpheresOnJoint.py

2021-08-31 Thread Luc Scholtès
Question #698566 on Yade changed:
https://answers.launchpad.net/yade/+question/698566

Status: Open => Answered

Luc Scholtès proposed the following answer:
I'll try to answer but, unfortunately, you'll have to go through the
code by yourself to understand everything in details:

- in the statements you mentioned, surface and plane have the same
meaning: they both represent the discontinuity plane/surface.

- you may have several fracture planes/surfaces in your model. The code
is written so that you can have maximum 3 planes associated to each
particle. For example, in a 2D model, if you have a fracture plane
dipping at 20° and another one dipping at 60°, they might intersect at
some location in your model. The particles located around the
intersection point must then have in memory the fact that they belong to
2 planes with different inclinations, hence the jointNormal1 and the
jointNormal2. Then, the code will be able to know if particles located
on each side of the planes belong to plane1 or to plane2 and adjust the
geometry (and behavior) according to their respective orientations
(normals). For instance, if there is an interaction between a particle
belonging to plane1 and a particle belonging to plane1 and plane 2, the
interaction geometry will be defined according to the geometry of
plane1. If they both belong to plan1e and to plane2, I think the
interaction geometry is not affected so that the overall behavior is
only affected by the surrounding well defined interactions (according to
plane1 or to plane2).

- nRef corresponds to the normal to the facet that is tested within the
interaction loop and which represents the actual discontinuity plane
(temporary attribute). JointNormali is the particle attribute (permanent
attribute): the code defines jointNormali according to nRef when and
then move on the next interaction.

Be careful: the code is made so that there is 2 loops:
- the first one which tests interactions between facet and spheres to identify 
which particles belong to the fracture plane.
- the second one which tests interactions between the particles belonging to 
the fracture plane (identified in the first loop) and particles in contact with 
these particles.

It is good that you want to understand but may I ask what is your goal
exactly? The code has been verified already and seems to work properly.
Do you plan to make some modifications?

Luc

-- 
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 #699238]: How to control the failure conditions in the triaxial compression

2021-10-28 Thread Luc Scholtès
Question #699238 on Yade changed:
https://answers.launchpad.net/yade/+question/699238

Luc Scholtès posted a new comment:
Hi,

You can definitely use the JCFPM model for modeling rock like materials.

Please refer to previous questions/answers where you will find
everything you need to perform a uniaxial compression test (you'll need
to marginally adapt the script for triaxial tests).

See for instance:

https://answers.launchpad.net/yade/+question/694253

https://answers.launchpad.net/yade/+question/697724

Luc

-- 
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 #699362]: The uniaxial compression experiment fails to reach the critical state

2021-11-22 Thread Luc Scholtès
Question #699362 on Yade changed:
https://answers.launchpad.net/yade/+question/699362

Luc Scholtès posted a new comment:
Hello Zhicheng Gao,

if you want to simulate uniaxial compression of rock samples, I'd
suggest you have a look at previous related threads/questions.

Please see for example:

https://answers.launchpad.net/yade/+question/661250

https://answers.launchpad.net/yade/+question/694253

https://answers.launchpad.net/yade/+question/635871

-- 
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 #700143]: Uniaxial compression calibration parameters are not applicable to triaxial compression

2022-01-11 Thread Luc Scholtès
Question #700143 on Yade changed:
https://answers.launchpad.net/yade/+question/700143

Luc Scholtès posted a new comment:
Hello Ziyu Wang,

If you use the JCFPM model, you could have a look at this reference [1]
where a calibration procedure is presented (section 4). It should help
you determine a good set of parameters to match a given set of emergent
properties.

Luc

[1]:
https://www.sciencedirect.com/science/article/pii/S0022509612002268?via%3Dihub

-- 
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 #700475]: interface friction angle

2022-02-02 Thread Luc Scholtès
Question #700475 on Yade changed:
https://answers.launchpad.net/yade/+question/700475

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello,

I think the rule for the contact laws you are using is:

contact friction angle = min (friction angle body1, friction angle
body2)

In your case, the cone/particle contact friction angle is thus always
equal to 19.5 degrees (particle friction angle) if I understood
correctly.

Unfortunately, I don't know any "python workaround" to change this rule.
From my knowledge, only a change in the C++ code would allow you to have
a different behavior. To be confirmed...

Luc

-- 
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 #700691]: Triaxial strength and strain about JCFpmMat parameters

2022-02-22 Thread Luc Scholtès
Question #700691 on Yade changed:
https://answers.launchpad.net/yade/+question/700691

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello,

I copy here a citation from reference [1] where the calibration
procedure of the JCFPM model is explained:

"... the calibration procedure was run as follow:
1. Choice of a coordination number N allowing matching the desired tensile 
strength to compressive strength ratio sigmac/sigmat. As a first approximation, 
from the authors’ experience the c/t ratio is taken equal to the macroscopic 
sigmac/sigmat ratio. Looking
first arbitrary, this option seems however to capture the micromechanisms 
usually observed experimentally as tensile cracking is representative of the 
brittleness of the material.
2. Determination of the elastic parameters Eeq and kn/ks in order to match the 
elastic properties (Young modulus and Poisson ratio) by running either tensile 
or compression tests.
3. Determination of the local tensile strength t in order to match the tensile 
strength sigmatof the material by running tensile tests.
4. Determination of the interparticle friction angle in order to match the 
slope of the failure envelope by running a series of triaxial compression tests 
at different confining pressures."

Of course, the citation makes sense only if you have a look at the model
description in the same paper and at the discussion about the N value
(coordination number/number of bonds per particle which is a function of
the interaction radius defining near neighbour interactions).

For sets of values for a granite or a sandstone, you can have a look at
table 3 of the same article.

Do not hesitate if you have other questions.

Luc

[1]:
https://www.sciencedirect.com/science/article/abs/pii/S0022509612002268

-- 
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 #701012]: DFN and Thermal engine

2022-04-15 Thread Luc Scholtès
Question #701012 on Yade changed:
https://answers.launchpad.net/yade/+question/701012

Luc Scholtès posted a new comment:
Just wondering about the dependencies since I am not entirely clear with
how everything is related in the code. How is DFNFlowEngine "linked" to
FLowEngine exactly?

For instance, should we add

ifdef DFNFLOW

and/or

include "FlowEngine_DFNFlowEngineT.hpp"

somewhere in the thermalEngine files to make it work?

I thought that DFNFlowEnginee inherited from FlowEngine so that there is
no need to write such "dependencies" but is that the case or not?

Sorry if this is a silly question but I must admit this is out of my
programming comfort zone. Is there some sort of a "documentation" about
how all these dependencies work in YADE PFV related extensions?

Luc

-- 
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 #701785]: Does jcfpm material have strain softening stage?

2022-05-13 Thread Luc Scholtès
Question #701785 on Yade changed:
https://answers.launchpad.net/yade/+question/701785

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello,

1) The JCFPM model does not include the softening stage (weighted
decrease of the normal force once the maximum admissible force is
reached).

2) You should be able to observe a change in the emergent post-peak
behavior, from brittle to ductile, with the increase of the confining
pressure even though the interparticle force softening is not
implemented.

My first guess would be that your material is too "strong" so that it
remains brittle for the range of confining pressures you have tested.
Usually, The brittle-ductile transition occurs for confining pressures
approximately equal to the uniaxial compressive strength. What is the
UCS of your material? The combination of a high interactionRadius (1.5)
and a high tensile strength value (160e6) would lead to a very
strong/competent material in my experience.

Luc

-- 
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 #701785]: Does jcfpm material have strain softening stage?

2022-05-16 Thread Luc Scholtès
Question #701785 on Yade changed:
https://answers.launchpad.net/yade/+question/701785

Luc Scholtès posted a new comment:
Did you use the same assembly (statistically equivalent in terms of
particle size distribution, porosity, connectivity, ...) when you did
your calibration and when you ran your latest simulation? If yes, you
should get the same emergent behavior with the same interparticle
properties (including the interaction radius). As I said, a high
interparticle strength combined with a large interaction radius would
defintely produce a very strong material (high compressive strength)
and, hence, a brittle behavior under "relatively" small confining
pressures.

-- 
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 #706655]: triaxial test on soft rock

2023-05-16 Thread Luc Scholtès
Question #706655 on Yade changed:
https://answers.launchpad.net/yade/+question/706655

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello,

I'd be happy to work on your code if you could also help me a bit and
provide a Minimal Working Example: https://www.yade-
dem.org/wiki/Howtoask

ANW, I'd suggest you to build your sample in a different script and then
save it to .txt once compacted and stable (e.g., using export.text). You
can use whichever contact model for this part.

Then, load the sample in your simulation (e.g., using ymport.text) where
you define the JCFPM model and run the full triaxial loading
(hydrostatic+deviatoric) on it without changing the material mid
simulation. Doing so, you'll start from a stress free assembly from the
beginning of the loading, as you would in the lab.

Luc

-- 
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 #706655]: triaxial test on soft rock

2023-05-16 Thread Luc Scholtès
Question #706655 on Yade changed:
https://answers.launchpad.net/yade/+question/706655

Status: Open => Answered

Luc Scholtès proposed the following answer:
Not sure I understand your statement "if I set the material being
Frictmaterial, the material of grains will not change before loading?"
so I will just add that the way the JCFPM model is written, the
equilibrium interparticle distance is defined from the first iteration
of the simulation as the sphere centre to sphere centre distance:

whatever the assembly you import into the simulation, it will be stress
free from the beginning of your simulation, before you apply any loading
to it.

You can thus choose any material to generate the assembly and decide of
a criterion to set your sample geometrical properties beforehand (e.g.,
a certain degree of compacity).

This possibility to consider stress free assemblies was introduced to
enable near neighbour interactions (create bonds between non contacting
particles). Please have a look at [1] for further details about this
feature.

[1]: http://dx.doi.org/10.1016/j.jmps.2012.10.005

-- 
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 #706667]: 'JCFpmState' object has no attribute 'tensBreak'

2023-05-17 Thread Luc Scholtès
Question #706667 on Yade changed:
https://answers.launchpad.net/yade/+question/706667

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi,

This example script is deprecated I think since, as the error says,
jcfpm state has no (no more) attributes 'tensBreak' nor 'shearBreak'
which are called in the custom recorder() function.

It should work if you change the following loop:

tensCks=0
shearCks=0
for o in O.bodies:
   if isinstance(o.shape,Sphere):
  tensCks+=o.state.tensBreak
  shearCks+=o.state.shearBreak

by

tensCks=interactionLaw.nbTensCracks
shearCks=interactionLaw.nbShearCracks

BTW, you could actually remove the lines related to cracks in the
recorder() function and just replace

tc=0.5*tensCks,sc=0.5*shearCks

by

tc=interactionLaw.nbTensCracks,sc=interactionLaw.nbShearCracks

in yade.plot.addData(...)

Luc

-- 
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 #706821]: Particle breakage of clump using JCFpm

2023-05-30 Thread Luc Scholtès
Question #706821 on Yade changed:
https://answers.launchpad.net/yade/+question/706821

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello,

1) I'd say yes. You could even consider a JCFPM mat for the walls
assigning a different type to the sphere to have purely frictional
interactions between spheres and walls. For instance, walls' type=0 and
spheres' type=1 will define a purely frictional interaction between
spheres and walls with a friction angle equal to the minimum value you
assigned to both (if walls' friction angle = 0, then you will have
frictionless interactions between spheres and walls). The same logic can
be applied to the clumps if you wanted to have purely frictional
interactions between clumps (e.g., define type=n for each clump).

2) You can assign any loading to the walls but be careful not to apply
both displacement and force at the same time to avoid conflict in the
control. Also, I think you need to make them nonDynamic to avoid their
positions to be adjusted according to Newton's second law of motion. The
quasi-staticity is not really related to the way you apply the load but
more to the amplitude of the load vs. the system response. Not sure I
get your point here... Maybe you refer to oscillations you observe?

3) You'd need to define some custom functions. The JCFPM can track the
amount of cracks for each particle (and the degree of damage by relating
the amount of broken contacts to the initial number of bonds). If you
know which particle is within each clump, I guess you could assess their
degree of damage too. For that, you'd need to list your clumps and
assign them with the spheres ids.

Sorry for not getting into the details of your MWE but it is not exactly
Minimal. I hope I could help ANW.

Luc

-- 
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 #707022]: A problem with 'JCFmpMat'

2023-06-19 Thread Luc Scholtès
Question #707022 on Yade changed:
https://answers.launchpad.net/yade/+question/707022

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello,

It would be good to know about those differences you mention (stiffness,
peak value, residual strength, ...) but I can already say this:

The JCFPM defines the equilibrium distance from the initial
interparticle centre to centre distance (computed from at the first
iteration of the simulation). The Cundall&Strack model (frictmat)
defines the equilibrium distance as the actual geometrical contact
(centre to centre distance - sum of radii).

Basically, the sample is stress free at the first iteration of a JCFPM
simulation.

Also, you can define long range interactions with the JCFPM: intR>1 will
create contacts between particles not geometrically in contact.

Luc

-- 
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 #707257]: How to set the parameters of JCFpmMat?

2023-07-11 Thread Luc Scholtès
Question #707257 on Yade changed:
https://answers.launchpad.net/yade/+question/707257

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello William,

Please read this paper:

https://www.sciencedirect.com/science/article/pii/S0022509612002268

There is a section (4) where a calibration procedure is proposed.
Careful, there is typo in table 3 where the C value for the granite
should be equal to 160 MPa and not 1600 MPa.

Basically, the tensile strength T and cohesion C values have to defined
in relation withe the degree of interlocking (coordination number /
interaction radius). From my experience, with the right coordination
number, the C/T ratio of the BPM can be defined equal to the ratio
compressive strength / tensile strength of the rock you want to model.

Luc

-- 
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 #707758]: JCFmat model parameters issue

2023-08-29 Thread Luc Scholtès
Question #707758 on Yade changed:
https://answers.launchpad.net/yade/+question/707758

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello Mahdi,

Please have a look at this paper where the long range interaction
concept (intRadius>1) is explained:

https://hal.science/hal-01315522/

Luc

-- 
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 #152906]: how to run the example in the tutorial

2011-04-14 Thread Luc Scholtès
Question #152906 on Yade changed:
https://answers.launchpad.net/yade/+question/152906

Luc Scholtès proposed the following answer:
Hi Guo,

Apparently, you are already in the YADE console when you called ./yade
periodic.py. Try again to type ./yade periodic.py, but in the linux
console (don't open YADE before). If you open yade before (by typing
./yade in the linux console), try to type
execfile('periodic.py',globals()) in the yade console and it should
work.

Hope it is clear enough...

Cheers

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #158760]: uniaxial test (no confinement) with triaxial compression engine

2011-05-23 Thread Luc Scholtès
New question #158760 on Yade:
https://answers.launchpad.net/yade/+question/158760

Hi all,

just wondering if it could be possible to do a triaxial test without any 
confinement (like a uniaxial compression)? I know that a dedicated engine 
already exists, but I would like to access the same data as the one recorded by 
the triaxial engine. Moreover, from my experience, the boundary conditions are 
not exactly consistent between those two tests (loading through a rigid wall 
for triaxial and loading through the boundary particles for uniaxial) and it 
can be problematic when you want to characterize an assembly in both unconfined 
and confined conditions.
I already tried to run a triaxial without confinement but, due to the state 
transition condition (unbalanced force), the deviatoric loading never occurs. 
Would there be a way to bypass this?

Thanks for your help

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #162989]: Issues on "peri3dController_triaxialCompression.py"

2011-06-29 Thread Luc Scholtès
Question #162989 on Yade changed:
https://answers.launchpad.net/yade/+question/162989

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Janaka,

Sorry I can't help you concerning the error you get, but I am wondering, are
you trying to create a model with around 9e6 particles? From your message, I
came to this conclusion doing:

NbParticles=specimenVolume/spheresVolume=(100*100*200)/(1.333*pi*0.23)=9e6

If it is the case, it is normal that your simulation takes so long, and I
would recommend not to use so much particles. Usually, you can model a
granular material using around 10 000 particles. If it is not the case, just
forget what I say...

By the way, welcome to YADE community

Cheers

  Luc

2011/6/29 janaka kumara 

> Question #162989 on Yade changed:
> https://answers.launchpad.net/yade/+question/162989
>
> Status: Answered => Open
>
> janaka kumara is still having a problem:
> Hi Honzik,
>
> Thank you very much for your details.
>
> >Does this mean that there are limits on "initSize" and "radius"? If so,
> what are those limits?
> No. This only means, that saved packing does not satisfies conditions of
> current simulation (and is rejected) and new packing is creating.
>
> Here, do you have any idea when (how long) does new packing finish
> creating? I run one case with initSize 0.1162 (that gives a volume
> equivalen to 100mm diameter and 200mm height cylindrical volume as my
> laboratory tests) and radius 0.0002285, but even after 20 hours, I didnt
> get results. However, this time, there are two lines of "REJECT:
> initSize differs too much from scaled packing size". Will this give
> results after some time, e.g. few more hours later?
>
> Thank you.
>
> Regards,
> Janaka
>
> --
> You received this question notification because you are a member of
> yade-users, which 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
>

-- 
You received this question notification because you are a member of
yade-users, which 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 #163754]: Trying to model rock extraction through block caving method (using RpmMat)

2011-07-05 Thread Luc Scholtès
Question #163754 on Yade changed:
https://answers.launchpad.net/yade/+question/163754

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Daniel,

I am not sure since I am not the one who wrote this contact law but
there is a parameter in

Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()

called

setCohesionNow

which is False by default.

I had a look at the sources and I think that you should try to define it
in your script like

Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True)

otherwise all your interactions will be frictional only.

Can anyone confirm?

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #165522]: How to rotate a predefined packing

2011-07-20 Thread Luc Scholtès
New question #165522 on Yade:
https://answers.launchpad.net/yade/+question/165522

Hi there,

just wondering, is there a way to rotate a packing before or during a 
simulation? 

In fact, I would like to load a predefined packing (doing 
ymport.text(packing.spheres)) in my simulation and rotate it before applying 
any loading. The idea would be to perform triaxial compressive tests 
respectively along the 3 principal directions of the packing to characterize 
its anisotropy (I work with special packings).

I tried to play with the definition of the walls ids in the 
triaxialCompressionEngine, but it seems that changing the ids in accordance 
with the translationAxis does not work (Am I right?). I know that there is a 
ThreeDTriaxialCompressionEngine, but it does not allow to perform the same 
loading than the classic version without going into the definition of an 
additional function to check for the state of stress and to consequently modify 
the stress/strain control.

If no solution exists, would it be possible to add a function "rotate" similar 
to the "shift" already implemented in the Ymport.text? If yes, would you have 
any suggestions to do it properly?

Thanks in advance

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #164575]: High Young Modulus

2011-07-20 Thread Luc Scholtès
Question #164575 on Yade changed:
https://answers.launchpad.net/yade/+question/164575

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Daniel,

again, not sure to get to the point, but, from what I remember you work
with regular packings generated with a certain overlapping (?). If the
ratio between the overlapping and the "Young modulus" is high, it could
explain your problem. Your packing is not stress free initially and the
repulsive interparticle forces could produce the explosion. Have you
tried with low values of the Young modulus? Have you experienced the
same problem?

Please let us know.

>From my part, I also work to simulate rock like material and I use the
CohesiveFrictionalPM in order to deal with initially stress-free
assemblies. For instance, CFpm utilizes the initial overlapping as the
equilibrium distance to compute the normal force Fn=k*(D-Deq), whereas
the CohesiveFrictionalContactLaw uses the "real" overlapping between the
spheres Fn=kD.

Cheers

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #165847]: Generating sample

2011-07-24 Thread Luc Scholtès
Question #165847 on Yade changed:
https://answers.launchpad.net/yade/+question/165847

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Gayanindika,

To create the walls around your packing, see the utils function
aabbWalls(). Then to apply a triaxial compression, see the engine
TriaxialCompressionEngine(). You should have something ressembling those
lines in your script to perform what you want:

# defines your assembly
O.bodies.append(utils.sphere(*),...)

# creates and identifies the walls for the triaxial engine
walls=O.bodies.append(utils.aabbWalls(*))

# defines the triaxial engine (important here to accurately identify the walls)
TriaxialCompressionEngine(
wall_bottom_id=walls[2],
wall_top_id=walls[3],
wall_left_id=walls[0],
wall_right_id=walls[1],
wall_back_id=walls[4],
wall_front_id=walls[5],
...
)

BTW, there was a triaxial test script in the examples directory... I am
not sure anymore since I don't work with the latest version, but maybe
you should have a look and ask if needed...

Cheers

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #165522]: How to rotate a predefined packing

2011-07-24 Thread Luc Scholtès
Question #165522 on Yade changed:
https://answers.launchpad.net/yade/+question/165522

Status: Answered => Solved

Luc Scholtès confirmed that the question is solved:
Thanks Anton Gladky, that solved my question.

-- 
You received this question notification because you are a member of
yade-users, which 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 #165522]: How to rotate a predefined packing

2011-07-24 Thread Luc Scholtès
Question #165522 on Yade changed:
https://answers.launchpad.net/yade/+question/165522

Luc Scholtès posted a new comment:
To Bruno,

Not sure about your comments...

1 - I vae never used the bodiesHandling function, but, If the rotation
occurs before the beginning of the simulation (when the packing is
loaded into the simulation, the "DEM loop" has not started yet), there
should not be any inherited contact forces, no?

2 - I had a second look at the 3DCompressionEngine. As I said, it is
adapted to do what I want (loading the sample in the 3 principal
direction). However, in its current version, you cannot perform
automatically the transition from isotropic to deviatoric compression as
with the classic TriaxialCompressionEngine. You need to define a
periodic function to check for the state of the simulation to do so
(unless I am wrong?). For now, I have added few lines to the
TriaxialCompressionEngine in order to allow for choosing the direction
of straining in the deviatoric part of the loading path. Doing so, I
just need to specify the translationAxis in my script. If you think that
this feature could interest, I can upload the source file.

Cheers

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #189913]: get porosity of a packing

2012-03-06 Thread Luc Scholtès
Question #189913 on Yade changed:
https://answers.launchpad.net/yade/+question/189913

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Ceguo,

Try utils.porosity(X), with X the volume of your assembly and it should
work.

2012/3/7 ceguo 

> New question #189913 on Yade:
> https://answers.launchpad.net/yade/+question/189913
>
> Hi,
>
> The problem seems trivial but when I try using `utils.porosity` I can only
> get something like . The documentation
> says it should return a float.
>
> Besides, as I am using the trunk version with a 2D packing. All the
> quantities like mass, porosity, stress (averaged by area rather than
> volume) etc. should be modified accordingly. Will the code take care of
> these right now? If not, maybe we could do scaling (3D to 2D) outside the
> code. So this is not a big problem.
>
> Another problem is that the documentation says we'd better use ScGeom in
> stead of Dem3DofGeom. But as I try using `Ig2_Sphere_Sphere_ScGeom()`,
> `Ip2_FrictMat_FrictMat_FrictPhys()` and
> `Law2_ScGeom_FrictPhys_CundallStrack()`, the program runs without error but
> there is no stress generated.
>
> Ning
>
> --
> You received this question notification because you are a member of
> yade-users, which 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
>

-- 
You received this question notification because you are a member of
yade-users, which 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 #190529]: deleting some liquid bridges in Law2_ScGeom_CapillaryPhys_Capillarity

2012-03-16 Thread Luc Scholtès
Question #190529 on Yade changed:
https://answers.launchpad.net/yade/+question/190529

Luc Scholtès proposed the following answer:
Hi Jakob,

If you want to loop over interactions you can do like this (with Python,
right?)

for i in O.interactions:

To check wether the interaction is Real, you can use this

 if i.isReal:

To check wether the interaction is between spheres or not, you can use
something like this

if isinstance(O.bodies[i.id1].shape,Sphere) and
isinstance(O.bodies[i.id2].shape,Sphere):

Then, to access bodies properties, you can do this

y1 = O.bodies[i.id1].state.pos[1];

Hope it can help

Cheers

-- 
You received this question notification because you are a member of
yade-users, which 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 #190529]: deleting some liquid bridges in Law2_ScGeom_CapillaryPhys_Capillarity

2012-03-16 Thread Luc Scholtès
Question #190529 on Yade changed:
https://answers.launchpad.net/yade/+question/190529

Luc Scholtès proposed the following answer:
You are too quick for me...

Good luck

-- 
You received this question notification because you are a member of
yade-users, which 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 #191904]: reproducibility of capillary law

2012-03-28 Thread Luc Scholtès
Question #191904 on Yade changed:
https://answers.launchpad.net/yade/+question/191904

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Christian,

Could you be a bit more precise please? You mean that running a script
does not give the same result if you add the lines related to capillary
law, right? It is surprising... What kind of test are you running? Could
you please provide a script?

Cheers

-- 
You received this question notification because you are a member of
yade-users, which 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 #163929]: Example gts-horse.py

2012-04-05 Thread Luc Scholtès
Question #163929 on Yade changed:
https://answers.launchpad.net/yade/+question/163929

Luc Scholtès posted a new comment:
Hi Daniela,

Did you manage to solve your problem? I have the same issue using yade
version 3041.

Cheers

-- 
You received this question notification because you are a member of
yade-users, which 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 #163929]: Example gts-horse.py

2012-04-06 Thread Luc Scholtès
Question #163929 on Yade changed:
https://answers.launchpad.net/yade/+question/163929

Luc Scholtès posted a new comment:
Hi Anton,

Thank you for your input. I will then take the opportunity to join
github.

Cheers

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #193416]: Scripts gts-random-pack**.py never converge?

2012-04-12 Thread Luc Scholtès
New question #193416 on Yade:
https://answers.launchpad.net/yade/+question/193416

Hi all,

Does anybody experience the same problem with scripts gts-random-pack.py and 
gts-random-pack-random-obb.py? On my computer, the simulation seems to never 
converge (like if YADE was iterating indefinitely). I let it run for more than 
4h, but nothing happened... Is it normal? How long does it take for you?

Cheers



-- 
You received this question notification because you are a member of
yade-users, which 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 #193416]: Scripts gts-random-pack**.py never converge?

2012-04-12 Thread Luc Scholtès
Question #193416 on Yade changed:
https://answers.launchpad.net/yade/+question/193416

Luc Scholtès posted a new comment:
OK, thanks Anton. I wasn't sure so I asked to see wether it was only me
or not...

Do you get this WARN too?

WARN  yade.SpherePack /home/3S-
LAB/lscholtes/Bureau/YADE/trunk/pkg/dem/SpherePack.cpp:107 makeCloud:
porosity must be >0, changing it for you. It will be ineffective if
rMean>0.

-- 
You received this question notification because you are a member of
yade-users, which 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 #192598]: problem of installation Yade

2012-04-18 Thread Luc Scholtès
Question #192598 on Yade changed:
https://answers.launchpad.net/yade/+question/192598

Status: Open => Answered

Luc Scholtès proposed the following answer:
Did you add the plugin FlowEngine to your scons.profile?

Like this: hotPlugins = 'FlowEngine'

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #192598]: problem of installation Yade

2012-04-18 Thread Luc Scholtès
Question #192598 on Yade changed:
https://answers.launchpad.net/yade/+question/192598

Status: Open => Answered

Luc Scholtès proposed the following answer:
Try to add cgal to your features (check if it is installed on t=your
computer)

-- 
You received this question notification because you are a member of
yade-users, which 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 #192598]: problem of installation Yade

2012-04-18 Thread Luc Scholtès
Question #192598 on Yade changed:
https://answers.launchpad.net/yade/+question/192598

Status: Open => Answered

Luc Scholtès proposed the following answer:
Strange... Did you try recompile from scratch by typing

scons -c

before compiling wit scons?

-- 
You received this question notification because you are a member of
yade-users, which 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 #192598]: problem of installation Yade

2012-04-18 Thread Luc Scholtès
Question #192598 on Yade changed:
https://answers.launchpad.net/yade/+question/192598

Status: Open => Answered

Luc Scholtès proposed the following answer:
OK, I think I get it.

You should add DLINSOLV to the CXXFLAGS in your scons.profile like this:

CXXFLAGS = ['-DFLOW_ENGINE', '-DLINSOLV']

So?

-- 
You received this question notification because you are a member of
yade-users, which 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 #192598]: problem of installation Yade

2012-04-19 Thread Luc Scholtès
Question #192598 on Yade changed:
https://answers.launchpad.net/yade/+question/192598

Luc Scholtès posted a new comment:
-DLINSOLV was the quick and not proper way to make Anh Tuan's able to
work with his code, assuming that he is using the associated updated
linsolv files. I need to implement the compressibility to periodic flow
related files so as to solve Anh Tuan's problem. I am working on it
today.

-- 
You received this question notification because you are a member of
yade-users, which 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 #194761]: is particle distribution true or close to real sand simulated by yade

2012-04-26 Thread Luc Scholtès
Question #194761 on Yade changed:
https://answers.launchpad.net/yade/+question/194761

Luc Scholtès proposed the following answer:
Hi,

First, you should know that size does not matter in YADE, or, at least,
should not. Indeed, interaction laws (at least, the basic ones like
Law2_ScGeom_FrictPhys_CundallStrack or CohesiveFrictionalContactLaw for
example) have been implemented so that they are size independent. You
can try to run several triaxial tests with same parameters and loading
conditions on samples with different sizes length to verify (be careful
nonetheless to have "enough" particles in your samples, between 5000 and
1 is OK from my own experience). So, YES, people usually use bigger
particles than real ones in order to speed up simulations, and NO, there
should not be any influence on the results.

Concerning now particle size distribution, I am not a specialist but it
will certainly have an impact on you results, like for real granular
materials. Things exist in YADE to manage particle size distribution. As
you pointed out, an extended size distribution tends to penalize
simulation time.

Concerning now your last point about grain shape and roughness. Of
course they influence the behaviour. You cannot, for example, reproduce
real sand's internal friction angle with spherical particles as sand
grains are not spherical in nature. That's one of the reason why some
people use clumps or rolling moment law for example (polyhedral
particles are not yet implemented in YADE).

Please have a look here for more information if not already done: https
://yade-dem.org/doc/index-toctree.html

Cheers

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #197661]: on modify interactionLoop

2012-05-18 Thread Luc Scholtès
Question #197661 on Yade changed:
https://answers.launchpad.net/yade/+question/197661

Luc Scholtès proposed the following answer:
I would say that Anton is right, you need to change contact properties
for every existing interactions cause changing bodies properties won't
be effective for existing interactions (interactions are not updated),
only new interactions will benefit from the new bodies properties.

so you should do something like

for b in O.bodies:
  b.mat.frictionAngle=radians(simulationFrictDeg)

AND

for i in O.interactions:
  i.phys.frictionAngle=radians(simulationFrictDeg)

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #198183]: clump packing in 2D

2012-05-23 Thread Luc Scholtès
Question #198183 on Yade changed:
https://answers.launchpad.net/yade/+question/198183

Luc Scholtès proposed the following answer:
Hi Ning,

as Jerome said, you have to consider that yade deals with spheres and
not circles. If you want to create a "2D sample", you have to define the
third dimension of the make cloud fonction approximately equal to the
maximum radius of your spheres (make cloud generates assembly in a box
if I remember well). I am pretty sure this works for spheres. Not sure
for clumps though... Moreover, as Jerome precised, you will then have to
block some of the DOFs of the elements to actually force the model to be
2D:

for o in O.bodies:
 body.state.blockedDOFs='zXY'

should work assuming that you choose (x,y) as the 2D domain.

-- 
You received this question notification because you are a member of
yade-users, which 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 #199585]: how can i simulate rolling friction?

2012-06-06 Thread Luc Scholtès
Question #199585 on Yade changed:
https://answers.launchpad.net/yade/+question/199585

Luc Scholtès posted a new comment:
Hi Jacob,

For the 2nd point, you may want to have a look at the paper from
Plassiard: http://www.springerlink.com/content/16688jw766197204/ (I can
send it to you if you cannot download it).

For the 1st point, I cannot help... I though that combining 2
constitutive laws was possible but, actually, I never tried...

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #201608]: IMPORTANT - capillary files updated

2012-06-27 Thread Luc Scholtès
New question #201608 on Yade:
https://answers.launchpad.net/yade/+question/201608

Hi all, 

and sorry for mass mail but there was a mistake in the capillary files needed 
for the capillary law. They are all updated and can be downloaded from here 
(https://yade-dem.org/wiki/CapillaryTriaxialTest) as before. The mistake was in 
the definition of the volume of the menisci. The forces are unchanged.

Everything should work as usual. Tell us if it is not the case.

Cheers

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #201608]: IMPORTANT - capillary files updated

2012-06-27 Thread Luc Scholtès
Question #201608 on Yade changed:
https://answers.launchpad.net/yade/+question/201608

Luc Scholtès posted a new comment:
should not, only the volumes have changed.

-- 
You received this question notification because you are a member of
yade-users, which 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 #201608]: IMPORTANT - capillary files updated

2012-06-27 Thread Luc Scholtès
Question #201608 on Yade changed:
https://answers.launchpad.net/yade/+question/201608

Luc Scholtès gave more information on the question:
PLEASE UPDATE TO THE LAST VERSION PUBLISHED AT 16:14, 27 JUNE

https://yade-dem.org/wiki/File:CapillaryJune2012.tar.gz

Hope everything is OK now.

-- 
You received this question notification because you are a member of
yade-users, which 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 #201608]: IMPORTANT - capillary files updated

2012-06-29 Thread Luc Scholtès
Question #201608 on Yade changed:
https://answers.launchpad.net/yade/+question/201608

Luc Scholtès posted a new comment:
Hi liucheng,

You have to paste the files M(r=i) into the folder where the yade
executable is (I guess it is the "yade file in bin folder" you
mentionnned).

Cheers

-- 
You received this question notification because you are a member of
yade-users, which 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 #202299]: how to model rock joints

2012-07-05 Thread Luc Scholtès
Question #202299 on Yade changed:
https://answers.launchpad.net/yade/+question/202299

Luc Scholtès proposed the following answer:
Hi Henry,

What exactly do you want to study?

The behaviour of the joint as described in here:
http://www.sciencedirect.com/science/article/pii/S1365160910001784

or the behaviour of the jointed rock mass as described in here:
http://www.sciencedirect.com/science/article/pii/S1365160912000391

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #203385]: Export command for sphere packings from YADE to FEM packages like ABAQUS

2012-07-18 Thread Luc Scholtès
Question #203385 on Yade changed:
https://answers.launchpad.net/yade/+question/203385

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hey,

Just to be sure about what you want to do. Do you actually want to
export positions and radii of particles into a text file so that you can
import it into ABAQUS? If yes, the export function should work, but you
have to import the export module first (I know, the combination import
export can sound a bit weird). In your terminal (with a model previously
launched, of course!), try to type:

from yade import export
export.text('spheres')

That should do the trick.

You are probably aware of those works from B Harthong and JF Jerier on
the subject:

http://www.sciencedirect.com/science/article/pii/S0032591010004481
http://www.sciencedirect.com/science/article/pii/S0020740312001014
http://www.sciencedirect.com/science/article/pii/S0020768309002054

Cheers

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #203709]: Which physical parameters i need and how to add them

2012-07-23 Thread Luc Scholtès
Question #203709 on Yade changed:
https://answers.launchpad.net/yade/+question/203709

Luc Scholtès posted a new comment:
Dear Christian,

As mentionned by yade (in your terminal), GravityEngine is now
deprecated and you should use NewtonIntegrator to apply gravity in your
simulation like this:

NewtonIntegrator(damping=yourValueOfDamping,
gravity=(0,yourValueOfGravity,0))

The examples using GravityEngine are deprecated, but everything should
work with GravityEngine anyway.

Cheers

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #207750]: cannot find GUI-libs during compilation

2012-09-05 Thread Luc Scholtès
New question #207750 on Yade:
https://answers.launchpad.net/yade/+question/207750

Hi all, 

I tried to compile YADE in its new version (ubuntu 10.04 lucid). Everything 
just went fine except that I cannot open the GUI because the GUI-libs could not 
be found during compilation (the GUI feature is therefore disable). Is there a 
way to solve that point? It would help me a lot not to work only with paraview.

Thanks for your help

Cheers

-- 
You received this question notification because you are a member of
yade-users, which 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 #207750]: cannot find GUI-libs during compilation

2012-09-05 Thread Luc Scholtès
Question #207750 on Yade changed:
https://answers.launchpad.net/yade/+question/207750

Status: Answered => Open

Luc Scholtès is still having a problem:
Thanks Anton,

Actually, I do not understand why the GUI-libs cannot be found since I
carefully checked that all libs were installed... My question should
have been: What are the GUI-libs?

Luc

This is what I get when doing cmake

-- Version is set to 2012-09-04.git-e931dee
-- GTS using gts-config /usr/bin/gts-config
-- Using GTS from /usr
--   Boost_VERSION: 104000
--   Boost_LIB_VERSION: 1_40
--   Boost_INCLUDE_DIRS: /usr/include
--   Boost_LIBRARIES: 
/usr/lib/libboost_python.so/usr/lib/libboost_thread-mt.so/usr/lib/libboost_date_time-mt.so/usr/lib/libboost_filesystem-mt.so/usr/lib/libboost_iostreams-mt.so/usr/lib/libboost_regex-mt.so/usr/lib/libboost_serialization-mt.so
-- Found Eigen3
-- Found VTK
-- Found OpenMP
-- GTS using gts-config /usr/bin/gts-config
-- Using GTS from /usr
-- Found GTS
-- Found QGLViewer: /usr/lib/libqglviewer-qt4.so
-- GUI-LIBS NOT found
-- GMP libs: /usr/lib/libgmp.so /usr/lib/libgmpxx.so
-- GMP libs: /usr/lib/libgmp.so /usr/lib/libgmpxx.so
-- Found CGAL
-- Found GL2PS
Yade will be installed to /home/invite/Bureau/LUC
-- Suffix is set to -2012-09-04.git-e931dee
-- LIBRARY_OUTPUT_PATH is set to lib
-- runtimePREFIX is set to /home/invite/Bureau/LUC
-- ===
-- Yade configured with following features: Eigen3 VTK OpenMP GTS CGAL GL2PS
-- Disabled features: GUI
-- Optimized build
-- ===
-- Configuring done
-- Generating done
-- Build files have been written to: /home/invite/Bureau/LUC

You received this question notification because you are a member of
yade-users, which 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 #207750]: cannot find GUI-libs during compilation

2012-09-05 Thread Luc Scholtès
Question #207750 on Yade changed:
https://answers.launchpad.net/yade/+question/207750

Status: Open => Solved

Luc Scholtès confirmed that the question is solved:
Ok, my mistake... I forgot freeglut... Sorry for that

-- 
You received this question notification because you are a member of
yade-users, which 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 #210907]: on sample preparation of real granula materials

2012-10-11 Thread Luc Scholtès
Question #210907 on Yade changed:
https://answers.launchpad.net/yade/+question/210907

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hello Wangxiaoliang,

If I understand well, you are able to generate your samples at different
porosities but you have some troubles when it comes to calibrate your
model, right? I guess you had a look to this paper:
http://www.springerlink.com/content/16688jw766197204/ which explains how
the different microparameters affect the macroscopic response. If not,
please have a look. If yes, could you be more precise when you state
that "it fails for the rolling resistance". Is it that it does not
correspond to what is described in the paper?

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #210907]: on sample preparation of real granula materials

2012-10-11 Thread Luc Scholtès
Question #210907 on Yade changed:
https://answers.launchpad.net/yade/+question/210907

Luc Scholtès proposed the following answer:
""With it, the desired porosity which corresponds to the porosity of the real 
specimen n = 0.40 was reached"
I never understand this, n in the real specimen is 0.40, but what is n in his 
numerical specimen?"

-> it says that the porosity of his numerical assembly IS EQUAL TO the
one of the real specimen. You have to note that 0.40 is the porosity
after the radius expansion method. The triaxial compression is thus
performed on a sample with initial porosity equal to 0.40.

"In your paper "on capillary stress tensor in wet granular materials",
you even used a smaller friction angle, say 0.2. In my experience, that
will result a very large dilatancy angle, usually larger than 20, but in
experiment it is usually about 10."

-> You have to be careful here. For instance, in my case, I generated
samples (radius expansion) with an interparticle friction angle equal to
0.1 deg, right, this was done so that the sample is as dense as possible
at the end of the compaction phase, BUT, I CHANGED the frictional angle
after the generation phase so that the triaxial compression is performed
on a sample where the interparticle friction angle is equal to 30 deg
(see the difference between compactionFrictionDeg and sphereFrictionDeg
in the trixial test)

"at the last step ,I calibrate for rolling stiffness, in the response,
the macroscopic friction angle doesn't change"

-> I guess this should be the title of your question? I also guess that
you are using Law2_ScGeom6D_CohFrictPhys_CohesionMoment. Am I right?

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #210907]: on sample preparation of real granula materials

2012-10-11 Thread Luc Scholtès
Question #210907 on Yade changed:
https://answers.launchpad.net/yade/+question/210907

Luc Scholtès proposed the following answer:
OK, so the problem is more general that just "rolling moment related" as
I supposed it was...

Maybe you should open questions for each problem because it is difficult
to see where exactly is your point. Moreover, each of them is
susceptible to interest YADE users ;-)

I see 2 distinct problems from your previous questions:

1 - Do we consider initial porosity as the one obtained without
confinement or the one corresponding to the isotropic state pre-
compression? Good question I would say... I would also say that it is
difficult to generate an homogeneous sample using DEM without
confinement, and I think (guys, tell me if I am wrong) that in most
cases, when DEM users talk about initial porosity, it is the one
obtained under isotropic confinement (the lowest confinement if you plan
to run a series a triaxial compressions). BTW, is there a big change in
the porosity of your real specimen when you go from 0 to 50kPa
confinement?

2 - Is there any problem with rolling moment law? Why rolling stiffness
does not impact my macroscopic result? If this one is actually of
concern, maybe have a look to triax-cohesive.py as suggested by Bruno.

Hope it helps...

-- 
You received this question notification because you are a member of
yade-users, which 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 #212412]: compilation error: extra/floating_point_utilities_v3/boost/math

2012-10-26 Thread Luc Scholtès
New question #212412 on Yade:
https://answers.launchpad.net/yade/+question/212412

Hi all,

Here is my distrib:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS"

I got this error when trying to compile last git version, related to the extra: 
floating_point_utilities_v3/boost/math/signbit lib apparently:

[100%] Building CXX object CMakeFiles/pyModules.dir/pyModules.0.cpp.o
/usr/bin/c++   -DpyModules_EXPORTS -DYADE_PTR_CAST=static_pointer_cast 
-DYADE_CAST=static_cast -DYADE_OPENMP -DYADE_OPENGL -DYADE_VTK -DYADE_GTS 
-DYADE_CGAL -Wall -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 
-Wformat -Wformat-security -Werror=format-security -fopenmp -s 
-DQGLVIEWER_FOUND -O3 -DNDEBUG -fPIC -I/usr/include/eigen3 
-I/usr/include/python2.6 -I/usr/include/vtk-5.2 -I/usr/lib/openmpi/include 
-I/usr/lib/openmpi/include/openmpi -I/usr/include/tcl8.5 
-I/usr/lib/jvm/default-java/include -I/usr/include/libxml2 
-I/usr/include/freetype2 
-I/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3 
-I/home/invite/Bureau/LUC/YADE_git/trunk -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/include/qt4/QtScriptTools 
-I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns 
-I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp 
-I/usr/include/qt4/QtAssistant -I/usr/include/qt4/QtDBus 
-I/usr/include/qt4/QtTest -I/usr/include/qt4/QtUiTools 
-I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtXml 
-I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL 
-I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtDesigner 
-I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui 
-I/usr/include/qt4/QtCore -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4   
-o CMakeFiles/pyModules.dir/pyModules.0.cpp.o -c 
/home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp
In file included from /usr/include/c++/4.4/backward/strstream:47,
 from /usr/include/vtk-5.2/vtkIOStream.h:112,
 from /usr/include/vtk-5.2/vtkSystemIncludes.h:40,
 from /usr/include/vtk-5.2/vtkIndent.h:24,
 from /usr/include/vtk-5.2/vtkObjectBase.h:43,
 from /usr/include/vtk-5.2/vtkObject.h:41,
 from /usr/include/vtk-5.2/vtkLocator.h:53,
 from /usr/include/vtk-5.2/vtkPointLocator.h:39,
 from /home/invite/Bureau/LUC/YADE_git/trunk/py/_eudoxos.cpp:13,
 from /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp:2:
/usr/include/c++/4.4/backward/backward_warning.h:28:2: warning: #warning This 
file includes at least one deprecated or antiquated header which may be removed 
without further notice at a future date. Please use a non-deprecated interface 
with equivalent functionality instead. For a listing of replacement headers and 
interfaces, consult the file backward_warning.h. To disable this warning use 
-Wno-deprecated.
In file included from 
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/nonfinite_num_facets.hpp:15,
 from 
/home/invite/Bureau/LUC/YADE_git/trunk/py/wrapper/yadeWrapper.cpp:53,
 from /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp:5:
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:
 In function ‘T boost::math::detail::copysign_impl(T, T) [with T = float]’:
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:54:
   instantiated from here
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:37:
 error: ‘init’ is not a member of ‘boost::math::detail::copysign_impl(T, T) 
[with T = float]::traits’
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39:
 error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, 
T) [with T = float]::traits’
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:40:
 error: ‘get_bits’ is not a member of ‘boost::math::detail::copysign_impl(T, T) 
[with T = float]::traits’
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39:
 error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, 
T) [with T = float]::traits’
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:41:
 error: ‘sign’ is not a member of ‘boost::math::detail::copysign_impl(T, T) 
[with T = float]::traits’
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39:
 error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, 
T) [with T = float]::traits’
/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:43:
 error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, 
T) [with T = float]::traits’

Re: [Yade-users] [Question #212412]: compilation error: extra/floating_point_utilities_v3/boost/math

2012-10-26 Thread Luc Scholtès
Question #212412 on Yade changed:
https://answers.launchpad.net/yade/+question/212412

Status: Answered => Open

Luc Scholtès is still having a problem:
Thanks Bruno for suggestion but the computer I am installing is not mine
and I don't want to generate any drawbacks...

boost version is 1.40 from what I can tell (synaptic)

-- 
You received this question notification because you are a member of
yade-users, which 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 #212429]: computer configuration

2012-10-26 Thread Luc Scholtès
New question #212429 on Yade:
https://answers.launchpad.net/yade/+question/212429

Hi all,

Sorry in advance if this is not the right place for that, but I plan to buy a 
computer mostly for YADE use and I have very little experience on computer's 
performances. For instance, between those two configurations:

1) http://h4.www4.hp.com/new_workstations/adlanding/uk/en/z600_details.html

2) http://h4.www4.hp.com/new_workstations/adlanding/uk/en/z800.html

Do you think that it would be worth buying the expensive one (2) compare to the 
other (1)? 

What is actually the component to favour in regards to YADE structure and 
behavior? 

Thanks for any advice

  Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #212429]: computer configuration

2012-10-29 Thread Luc Scholtès
Question #212429 on Yade changed:
https://answers.launchpad.net/yade/+question/212429

Status: Answered => Solved

Luc Scholtès confirmed that the question is solved:
OK, thank you guys for inputs.

-- 
You received this question notification because you are a member of
yade-users, which 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 #222250]: model a direct shear test

2013-02-20 Thread Luc Scholtès
Question #50 on Yade changed:
https://answers.launchpad.net/yade/+question/50

Luc Scholtès requested more information:
Hello Anna,

sorry for the late reply. I saw your email but could not find time to
answer it.

-- 
You received this question notification because you are a member of
yade-users, which 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 #222250]: model a direct shear test

2013-02-20 Thread Luc Scholtès
Question #50 on Yade changed:
https://answers.launchpad.net/yade/+question/50

Luc Scholtès proposed the following answer:
Euh... Me again. I was looking for a way to attach files to my answer...

I have a python script that should help you. It performs a direct shear
test as you describe with, first, the application of the normal load
and, second, the shearing phase.

The problem is that, I am not very happy with this script as the control
of the normal load during shearing is not "general". I wanted to improve
it so as to do something more "general" like the triaxial engine for
example but did not have the time. Currently, I have to adjust a
variable that I have called servoCoeff depending on the parameters of
the simulation (normal load, strength of the matrial, etc...).

Anyway, maybe we can discuss this by email so that I can send you the
script (unless I can do it through launchpad?).

Cheers

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #222363]: Material Parameters about Kn and Ks

2013-02-20 Thread Luc Scholtès
Question #222363 on Yade changed:
https://answers.launchpad.net/yade/+question/222363

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Henry,

The use of Young and Poisson in YADE can be confusing. Actually, those
two parameters define the normal and shear stiffnesses as you mentioned.
Their names come from the fact that they influence the value of the
Young modulus and of the Poisson's ratio of the assembly. Of course, the
relationship between micro-parameters and macro-properties is not direct
and it depends on the assembly you use (orthogonal, hexagonal,
random,...).

For the basic laws in YADE, the stiffnesses are defined according to
those equations:

Kn=2.*E*R1*E*R2/(E*R1+E*R2) (1)
Ks/Kn=P (2)

with E the "Young" parameter and P the "Poisson" parameter.

In the paper you mentioned, I gave values of kn and ks computed
according to (1) and (2) for the average radius of the assembly I used.

Hope it helps

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #222363]: Material Parameters about Kn and Ks

2013-02-20 Thread Luc Scholtès
Question #222363 on Yade changed:
https://answers.launchpad.net/yade/+question/222363

Luc Scholtès posted a new comment:
I forgot to mentioned that R1 and R2 are the radii of the two particles
in contact

-- 
You received this question notification because you are a member of
yade-users, which 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 #222250]: model a direct shear test

2013-02-25 Thread Luc Scholtès
Question #50 on Yade changed:
https://answers.launchpad.net/yade/+question/50

Luc Scholtès posted a new comment:
Hi Anna,

I could not fin an email adress where to send you my script and some
explanations, so here is my code below. I guess you can copy-paste it
directly as a python script. Be careful, some things are maybe
deprecated for last versions of YADE. TranslationEngine is used but, as
told by Bruno, it is not mandatory and could/should be replaced by a
condition on the boxes velocity. I am not exactly happy with the way the
simulation is servo-controlled as is, but it works if the loading
parameters are well adjusted (this is where I should take some time to
generalize the simulation like it is done for the triaxial test or
"Jerome's engine"). Be sure to adapt it to the interaction law you are
using in the definition of the "InteractionLoop" (I use here a modified
version of one of the currently available law).

Briefly, here is the process:
- packing is imported from a predefined text file. 
- a first box is appended at the top of the sample. 
- normal loading is performed until the predefined value is reached.
- once equilibrium is reached, top and bottom half boxes of a "Casagrande box" 
are created
- the bottom box is then displaced at constant velocity

Do not hesitate if you have any questions.

Cheers

  Luc

# -*- coding: utf-8 -*-
O=Omega()

from yade import ymport, utils, plot

## parameters definition 
PACKING='X1Y1Z1_5k'
DAMPING=0.5
dtCOEFF=0.5
normalSTRESS=5e5
normalVEL=normalSTRESS/1e8 # 0.001 for 100kPa // optimized for 
normalVEL=normalSTRESS/1e8?
shearVEL=1*normalVEL # try different values to ensure quasi-static conditions
intR=1.263 #1.263 for X1Y1Z1_5k
DENS=3000
YOUNG=50e9
FRICT=18
ALPHA=0.3
TENS=45e5
COH=45e6
iterMAX=40
Output='shearTest_'+PACKING+'_K10_D3000_Y50e9A03F18T45e5C45e6_500kPa_shearVel1'

## Import of the sphere assembly
### material definition
def sphereMat(): return 
CFpmMat(type=1,young=YOUNG,frictionAngle=radians(FRICT),density=DENS)
def wallMat(): return 
CFpmMat(type=0,young=YOUNG,frictionAngle=radians(0),density=DENS)

## copy spheres from the packing into the scene
O.bodies.append(ymport.text(PACKING+'.spheres',scale=1.,shift=Vector3(0,0,0),material=sphereMat))

## preprocessing to get dimensions
dim=utils.aabbExtrema()
xinf=dim[0][0]
xsup=dim[1][0]
X=xsup-xinf
yinf=dim[0][1]
ysup=dim[1][1]
Y=ysup-yinf
zinf=dim[0][2]
zsup=dim[1][2]
Z=zsup-zinf
## initial surface
S0=X*Z

## spheres factory
R=0
Rmax=0
numSpheres=0.
for o in O.bodies:
 if isinstance(o.shape,Sphere):
   o.shape.color=(0.7,0.5,0.3)
   numSpheres+=1
   R+=o.shape.radius
   if o.shape.radius>Rmax:
 Rmax=o.shape.radius
Rmean=R/numSpheres

## creation of shear box
thickness=Y/100
oversizeFactor=1.3

### loading platens
O.bodies.append(utils.box(center=(xinf+X/2.,yinf-thickness+Rmean/10.,zinf+Z/2.),extents=(oversizeFactor*X/2,thickness,oversizeFactor*Z/2),material=wallMat,fixed=True))
 
bottomPlate=O.bodies[-1]
O.bodies.append(utils.box(center=(xinf+X/2.,ysup+thickness-Rmean/10.,zinf+Z/2.),extents=(oversizeFactor*X/2,thickness,oversizeFactor*Z/2),material=wallMat,fixed=True))
topPlate=O.bodies[-1]

## Engines
O.engines=[
  
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='aabb'),Bo1_Box_Aabb()]),
InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='ss2d3dg'),Ig2_Box_Sphere_ScGeom()],

[Ip2_CFpmMat_CFpmMat_CFpmPhys(cohesiveTresholdIteration=1,alpha=ALPHA,tensileStrength=TENS,cohesion=COH,label='interactionPhys')],

[Law2_ScGeom_CFpmPhys_CohesiveFrictionalPM(recordCracks=recCRACKS,label='interactionLaw')]
),


GlobalStiffnessTimeStepper(defaultDt=0.1*PWaveTimeStep(),timestepSafetyCoefficient=dtCOEFF),

TranslationEngine(ids=[topPlate.id],translationAxis=(0.,-1.,0.),velocity=0.,label='yTranslation'),

PyRunner(iterPeriod=1,initRun=True,command='servoController()',label='servo'),
NewtonIntegrator(damping=DAMPING,gravity=(0,0,0),label='damper'),

PyRunner(iterPeriod=iterMAX/1000,initRun=True,command='dataCollector()'),
]

## Engines definition ( servoController() and 
dataCollector() )
shearing=False
sigmaN=0
tau=0
Fs1=0
Fs2=0
Xdispl=0
px0=0
Ydispl=0
py0=topPlate.state.pos[1]
prevTranslation=0
n=0

def servoController():
global px0, py0, sigmaN, n, Fn1, Fn2, shearing, butee, piston1, piston2
Fn1=abs(O.forces.f(topPlate.id)[1])
Fn2=abs(O.forces.f(bottomPlate.id)[1])
sigmaN=Fn1/(S0-2*Xdispl*Z) # necessary?
#print yTranslation.velocity, sigmaN
if shearing==False:
  if yTranslation.velocity(0.9*normalSTRESS):
y

Re: [Yade-users] [Question #220152]: Cylinder Geometry Problem

2013-05-13 Thread Luc Scholtès
Question #220152 on Yade changed:
https://answers.launchpad.net/yade/+question/220152

Luc Scholtès posted a new comment:
Hello PingYang,

I guess your question is: Is it possible to simulate triaxial
compressions on cylindrical specimens?

If yes, first, you should open a new thread/question, or maybe look at
previous messages in relation to this topic (have a look there:
https://answers.launchpad.net/yade). Second, if I may answer, it is not
possible to simulate triaxial tests on cylindrical specimens at the
moment. To my knowledge, there is no predefined engine capable of doing
that in the source code and you will need to implement a new one by
yourself or maybe code it through python scripting (is that even
possible?...). However, triaxial compressions can be simulated on
cubical specimens quite easily (either using external walls/boxes or
periodic boundary conditions). Have a look at the examples directory in
the source code, you may find useful things.

If no, sorry for misunderstanding your question.


Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #228866]: What is the meaning of len()?

2013-05-14 Thread Luc Scholtès
Question #228866 on Yade changed:
https://answers.launchpad.net/yade/+question/228866

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Ray,

len() is a python function, not a specific yade function.

It is defined in the python documentation there:
http://docs.python.org/2/library/functions.html?highlight=len#len

len(O.bodies) returns the number of 'bodies' defined in the current
simulation (O).

Cheers

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #228825]: joint

2013-05-16 Thread Luc Scholtès
Question #228825 on Yade changed:
https://answers.launchpad.net/yade/+question/228825

Status: Open => Answered

Luc Scholtès proposed the following answer:
Dear PingYang,

Sorry for not answering earlier to your question. I can see with your
other email that you seem to be very interested in modelling jointed
rock masses. As you probably know, I did some work on this topic and the
fact is that, at the moment, I haven't release any of my development
files for many reasons. The first reason, really, is a question of time.
I could release my files as they are at the moment but I do not think
this will be of any help for Yade users because the files need a proper
"How To" documentation that does not exist yet. This is on my agenda for
several months now and I hope I will be able to do it this next summer.
I also hope that, doing so, yade developers who may be interested in
that topic will improve the way it should be implemented in Yade as it
is in a very crude and basic coding form at the moment.

Anyway, apart from the fact that the files are not available yet (BTW,
they just consists in an enhanced version of the cohesive frictional law
describes here: https://yade-
dem.org/doc/yade.wrapper.html?highlight=cohesive%20frictional#yade.wrapper.CohesiveFrictionalContactLaw),
maybe you should first learn how to use YADE and think about how you
want to use it for your designated purpose. Because, before defining a
simulation with a precise contact law, you need to define the geometry
and the boundary conditions of your problem. For jointed rock masses, it
is even more complicated because you need to define the fracture network
that you want to study. What is exactly that you want to study?

Considering what I just said, I encourage you to consider first the
above mentionned modelling strategy. For example, as a first morking
scheme, you could model your rock mass with the available cohesive
contact law by deleting the contacts that belong to the fracture network
(or setting them as non cohesive compared to the ones belonging to the
intact rock matrix). I would be happy to help you with this ;).
Hopefully, my development files will come up soon.

Regards

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #202299]: how to model rock joints

2013-07-11 Thread Luc Scholtès
Question #202299 on Yade changed:
https://answers.launchpad.net/yade/+question/202299

Status: Open => Answered

Luc Scholtès proposed the following answer:
Dear Henry,

NormalInelasticity is adapted to model the behaviour of the granular
material that you can find in rock joint (also called gouge).

Is it really what you want to model?

Did you actually have a look at the papers I mentionned in a previous
answer?

Cheers,

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #222250]: model a direct shear test

2013-07-15 Thread Luc Scholtès
Question #50 on Yade changed:
https://answers.launchpad.net/yade/+question/50

Luc Scholtès posted a new comment:
Hello,

Nothing is "wrong" with the code, it is simply looking for a packing
whose name is defined by PACKING at the beginning of the script and
finished by ".spheres". They are a lot of different ways to generate a
packing (see: https://yade-dem.org/doc/user.html#sphere-packings).
Usually, I first generate packings separately and I export tehm in a
text file "name.spheres" so that I can use them for whatever I want
later on. So you need to figure out how to generate your
textfile.spheres using the method that better suit you using the utils
function export.text. Another way, if you run a triaxial test using Yade
graphical interface (ype F12 once yade terminal is open), a
textfile.spheres is generated with predefined geometrical properties.
You can work this way for parallellepipedic packings if you want.

Cheers

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-15 Thread Luc Scholtès
New question #232493 on Yade:
https://answers.launchpad.net/yade/+question/232493

Hello guys,

I just installed latest version of yade (0.80.0-50-ge568cd2) on my brand new 
machine (ubuntu 12.04 precise). Everything ran fine until I tried to launch 
yade from executable. I get this error message:

Welcome to Yade 0.80.0-50-ge568cd2
Traceback (most recent call last):
  File "./yade-0.80.0-50-ge568cd2", line 112, in 
import yade
  File 
"/media/sdb/yade/sources/git/build//lib/yade0.80.0-50-ge568cd2/py/yade/__init__.py",
 line 58, in 
import boot
ImportError: /media/sdb/yade/sources/git/build/libcore.so: undefined symbol: 
_ZTI12Serializable

If you have any idea?

Cheers

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-16 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Luc Scholtès posted a new comment:
Thanks Jan but, from this discussion, everything should work with latest
yade version, right?

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-16 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Luc Scholtès posted a new comment:
Ok, my mistake. Github is very confusing for me...

getting sources using:

clone g...@github.com:lucScholtes/trunk.git

gives me the error when launching because, it is not the latest
version... I must admit that I don't get it but, of course, everything
is fine if I use:

git clone g...@github.com:yade/trunk.git

Yet, I followed what is described here: https://www.yade-
dem.org/wiki/Yade_on_github and I don't see why my branch
(lucScholtes/trunk.git) is different from the master branch
(yade/trunk.git) since I did a "fork" from master branch I must be
dumb...

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-16 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Status: Answered => Solved

Luc Scholtès confirmed that the question is solved:
Yes, the plan was to commit some files in the coming days. I will do it
using the main branch.

I guess I will know if I am allowed to do so when I will type git commit
files, right?

Cheers

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-16 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Luc Scholtès confirmed that the question is solved:
Thanks Bruno Chareyre, that solved my question.

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-17 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Luc Scholtès posted a new comment:
What I have done with pre-existing fracture planes.

Basically, a contact law. This one could actually replace the current
cohesiveFrictionalPM has it has the same features plus the possibility
to deal with pre-existing fractures (reference to your message regarding
contact laws cleaning). Maybe this could actually help me improve the
way I implemented it.

I will add an example folder too, so that people could have an idea
about how it works with basic scripts. Is there any particular way to
commit entire folders?

I plan to add a screenshot or a video as well on wiki to illustrate
that.

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-17 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Luc Scholtès posted a new comment:
Yes, as I told you, this new law would replace cohesiveFrictionalPM,
which is, as you said a duplicate of
Law2_ScGeom6D_CohFrictPhys_CohesionMoment for the most part. So I would
remove cohesiveFrictionalPM, agreed. BTW, what is the procedure for that
matter?

Now, the new law allows to take into account pre-existing fracture
planes as I told you. The sort of things describe here:

http://www.sciencedirect.com/science/article/pii/S1365160912000391#.

Nothing really new in terms of contact behaviour (normal, shear
adhesion), just a specific way of dealing with the orientation of
contacts belonging to pre-existing fractures (and, of course, the
initial interparticle distance as the equilibrium distance). A little
bit more than number of broken contacts ;)

I understand your concerns but I am not sure I could implement this
particular new feature into Law2_ScGeom6D_CohFrictPhys_CohesionMoment.
What I can insure though, is that I will try to keep the files updated
in regards to the new features you mentionned (contact handling, PBC,
etc...).

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-17 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Luc Scholtès posted a new comment:
I just tried to "git push" a commit (add a new reference for testing
commit) but get this message:

ERROR: Permission to yade/trunk.git denied to lucScholtes.
fatal: The remote end hung up unexpectedly

Could you help me on that one please?

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #232493]: yade crashes when opening

2013-07-22 Thread Luc Scholtès
Question #232493 on Yade changed:
https://answers.launchpad.net/yade/+question/232493

Luc Scholtès posted a new comment:
Thanks for inputs Bruno.

As a first alternative, because it would be easier both in terms of time
and coding, I would say that I would like to commit my new class as I
received several demands for it. It would replace the old Cohesive
frictionalPM of course if you can explain me how to delete it. In
addition, I would like to commit a directory with examples so that
people would be able to use it as it is. I guess I can do it by myself
but Anton suggested that I may send the folder to one of you...

What do you think?

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #235264]: Use of JCFpmPhys.dilation ?

2013-09-06 Thread Luc Scholtès
Question #235264 on Yade changed:
https://answers.launchpad.net/yade/+question/235264

Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Jerome,

Good to hear from you.

You are right, I have not used dilation in any modelling but you have to
note that it is just a variable that does not enter in any computations,
unlike dilationAngle. I put it there because I thought it could be
interesting to quantify dilation in joints and, actually, after double
checking, I am pretty sure it is not computed the right way (see line
112 of the cpp file). Thanks for pointing out. I will have a look.

Coming back to dilationAngle, it has been used in computations (see
figure 8 in this paper:
http://www.sciencedirect.com/science/article/pii/S1365160912000391) and,
it is working when the smoothJoint contact logic is turned on.
Implementation is also on line 112 of the cpp file and has been
verified. There could be a discussion on the way it is implemented and I
am keen for remarks.

To sum up:

- Yes, a parameter is currently present and functional in the source code to 
take into account dilatancy in joints, it is dilationAngle.
- dilation is a variable that should record the amount of dilatancy in the 
joint but needs to be corrected.

Hope it helps

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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 #235264]: Use of JCFpmPhys.dilation ?

2013-09-09 Thread Luc Scholtès
Question #235264 on Yade changed:
https://answers.launchpad.net/yade/+question/235264

Luc Scholtès posted a new comment:
"One extra remark about this topic : I thought that it would maybe sound
more "rheological" to take into account dilation only at plastic
sliding, and, then, to compute the normal dilation according to the
plastic part of the relative shear displacement. Do you agree ?"

Actually, if you have a look at the code, dilation (the change in initD)
is taken into account only when maximum shear strength is reached
(plastic yield) and it takes into acount only the incremental shear
displacement (jointSliding).

Now, definitely, the computation of the normal displacement in the joint
(phys->dilation), needs to be corrected. What do you think about that
way:

phys->dilation += jointSliding*phys->dilationAngle

So we use the incremental shear displacement (after plastic yield)?

Luc

-- 
You received this question notification because you are a member of
yade-users, which 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


  1   2   3   >