Re: [Yade-users] [Question #661250]: I am trying to simulate uniaxial compression with DEM on yade. I would like to know how to introduce the hertz mindlin contact model to my model. Also, I need the

2018-01-24 Thread Luc Scholtès
Question #661250 on Yade changed:
https://answers.launchpad.net/yade/+question/661250

Status: Open => Answered

Luc Scholtès proposed the following answer:
Wow... so many lines.

I would suggest that you use the following first batch of lines to get
used to yade first. If you copy paste these lines in a file and name it
"uniaxialCompression.py", you should then be able to run it with "yade
uniaxialCompression.py". Basically, it simulates a uniaxial compression
with the JCFPM model. Then, if you want to plot some data from the
simulation, you can copy the second batch of lines, copy paste them in a
file name "plotUniaxialCompression.py" and then launch it with "python
plotUniaxialCompression.py".

Then, once you know how to run and exploit this simulation, you'll be
able to modify the script with the contact law that suits you the most.
If not, please ask a simple question with minimum lines and clear
(short) title.

Luc

--- uniaxial compression:

# -*- coding: 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))

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=", 2.0*numCohesivelinks/nbSpheres
  
# SIMULATION REALLY STARTS HERE
strainer.dead=0
O.run(iterMax)

--- plot uniaxial test data:

# -*- coding: utf-8 -*-
from pylab import *

### processing function
def 

Re: [Yade-users] [Question #661250]: I am trying to simulate uniaxial compression with DEM on yade. I would like to know how to introduce the hertz mindlin contact model to my model. Also, I need the

2018-01-24 Thread Anay Joshi
Question #661250 on Yade changed:
https://answers.launchpad.net/yade/+question/661250

Status: Answered => Open

Anay Joshi is still having a problem:
Hi Robert,
Thanks a lot for the help. I actually couldn't understand why is the error
occuring over and over again so thought it might have some meaning to it. I
will keep it in mind next time.

I really appreciate your help and patience with me.

Thanks,
Anay

On 24 Jan 2018 5:02 pm, "Robert Caulk" 
wrote:

> Your question #661250 on Yade changed:
> https://answers.launchpad.net/yade/+question/661250
>
> Status: Open => Answered
>
> Robert Caulk proposed the following answer:
> Hello,
>
> Surely, there is no need to post the same error 100s of times to this
> forum. Please avoid spamming the thread like this in the future.
>
> The error says it all:
>
> --> 160 print 'Strengths fc=%g, ft=%g,
> |fc/ft|=%g'%(fc,ft,abs(fc/ft))
>
> ZeroDivisionError: float division by zero
>
> At line 160, it is encountering a float division by zero. You are
> dividing fc by ft. ft is defined as:
>
> ft = max(sigma)
>
> Since you are doing only compression, your maximum sigma is 0. You can
> do both modes by changing:
>
> doModes=2 to 3.
>
> Or you can just comment out line 160 if you want to keep doModes=2.
>
> Best,
>
> Robert
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/yade/+question/661250/+confirm?answer_id=9
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/yade/+question/661250
>
> You received this question notification because you asked the question.
>

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

___
Mailing list: https://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 #661250]: I am trying to simulate uniaxial compression with DEM on yade. I would like to know how to introduce the hertz mindlin contact model to my model. Also, I need the

2018-01-24 Thread Robert Caulk
Question #661250 on Yade changed:
https://answers.launchpad.net/yade/+question/661250

Status: Open => Answered

Robert Caulk proposed the following answer:
Hello,

Surely, there is no need to post the same error 100s of times to this
forum. Please avoid spamming the thread like this in the future.

The error says it all:

--> 160 print 'Strengths fc=%g, ft=%g,
|fc/ft|=%g'%(fc,ft,abs(fc/ft))

ZeroDivisionError: float division by zero

At line 160, it is encountering a float division by zero. You are
dividing fc by ft. ft is defined as:

ft = max(sigma)

Since you are doing only compression, your maximum sigma is 0. You can
do both modes by changing:

doModes=2 to 3.

Or you can just comment out line 160 if you want to keep doModes=2.

Best,

Robert

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

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


[Yade-users] [Question #663532]: insert flowengine as a partial/global engine??

2018-01-24 Thread azim
New question #663532 on Yade:
https://answers.launchpad.net/yade/+question/663532

Dear all;

i want to add flow engine to my simulation and check the displacements induced 
by flow.
i need some information about these questions:

Q1) why flow engine is defined as a partial engine and not a global engine(like 
NewtonIntegrator)?

Q2) should I specify the flowengine.ids by my own?? i want to insert it to all 
particles and check the results. how to do it??

thanks

Azim

-- 
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 #662276]: yade --check

2018-01-24 Thread azim
Question #662276 on Yade changed:
https://answers.launchpad.net/yade/+question/662276

azim posted a new comment:
Hi Jerome,

>If you're really curious about this FlowEngine.ids and why FlowEngine is 
>defined as a PartialEngine, and not a GlobalEngine, please open a new 
>question: it is completely unrelated with yade --check, now.
i will follow you'r suggestion.
thanks

-- 
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 #662276]: yade --check

2018-01-24 Thread azim
Question #662276 on Yade changed:
https://answers.launchpad.net/yade/+question/662276

Status: Answered => Solved

azim confirmed that the question is solved:
Thanks Jérôme Duriez, 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


Re: [Yade-users] [Question #662502]: PFV packages

2018-01-24 Thread azim
Question #662502 on Yade changed:
https://answers.launchpad.net/yade/+question/662502

Status: Answered => Solved

azim confirmed that the question is solved:
Thanks Jérôme Duriez, 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


Re: [Yade-users] [Question #663500]: densest packing possible

2018-01-24 Thread Jan Stránský
Question #663500 on Yade changed:
https://answers.launchpad.net/yade/+question/663500

Status: Open => Answered

Jan Stránský proposed the following answer:
regularHexa returns list of spheres, so:

for b in sp:
 if pred(b.state.pos,0):
continue
 O.bodies.append(b)

Jan

-- 
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 #663459]: Periodic flow: impose gradP such that Paverage!=0

2018-01-24 Thread Luc Scholtès
Question #663459 on Yade changed:
https://answers.launchpad.net/yade/+question/663459

Luc Scholtès gave more information on the question:
Sorry, I meant:

-P -- 0 -- +P / -P -- 0 -- +P / -P -- 0 -- +P

and

0 -- P -- 2P / 0 -- P -- 2P / 0 -- P -- 2P

for gradP=P

-- 
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 #663459]: Periodic flow: impose gradP such that Paverage!=0

2018-01-24 Thread Luc Scholtès
Question #663459 on Yade changed:
https://answers.launchpad.net/yade/+question/663459

Status: Answered => Open

Luc Scholtès is still having a problem:
Thank you Jerome for your input. As I said, I struggle a little bit with
the periodic boundaries concept.

Still, why would the current "pattern" (in the direction of the flow):

-gradP -- 0 -- +gradP / -gradP -- 0 -- +gradP / -gradP -- 0 -- +gradP

would be more "correct" (consistent?) than the following one:

0-- P -- 2gradP / 0-- P -- 2gradP / 0-- P -- 2gradP

The "windows" you mentioned would also experience the exact same
behavior one relative to another, right? Furthermore, the effect of the
average pressure would be taken into account, no?


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 #663500]: densest packing possible

2018-01-24 Thread george
Question #663500 on Yade changed:
https://answers.launchpad.net/yade/+question/663500

Status: Solved => Open

george is still having a problem:
Good evening again,
Sorry it accidentaly flaged this as solved.

The thing is, i am using a predicate to avoid spheres from being spawned inside 
a wall
consequently i have the following code

for c,r in sp:
   if pred(c,0):
  continue
   O.bodies.append(sphere(c,r))

by trying to use 

sp=pack.regularHexa(pack.inAlignedBox((boundaries[0],boundaries[2],boundaries[4]),(boundaries[1],boundaries[3],boundaries[5])),radius=r,gap=0.02)

i get the following error message


  for c,r in sp:
TypeError: 'Body' object is not iterable
mv: cannot stat 'TimeAngle.csv': No such file or directory

-- 
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 #663441]: some modules fail to be loaded when i call a class from a python file

2018-01-24 Thread JOHN
Question #663441 on Yade changed:
https://answers.launchpad.net/yade/+question/663441

Status: Answered => Open

JOHN is still having a problem:
That is a fair point, i apologize

I feel the issue is that within the class i cant seem to be able to
import some modules (the pack module among others)


When i dont wrap those functions in a class it all works perfectly.

I also have a slight suspition that the error might be caused by calling
the class from another file, but i dont know how to test it

Unfortunately i am a bit of an amateur and cant really help much

-- 
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 #663441]: some modules fail to be loaded when i call a class from a python file

2018-01-24 Thread Bruno Chareyre
Question #663441 on Yade changed:
https://answers.launchpad.net/yade/+question/663441

Status: Open => Answered

Bruno Chareyre proposed the following answer:
Could you please narrow down the problem by yourself (it may explain why you 
don't have much replies)?
For instance, is the problem related to the fact that you manipulate two 
different script?
If not, is it related to the fact that you call inGtsSurface() from inside the 
function of a custom class?
If not, are you able to use inGtsSurface() at all in very basic cases?

Bruno

-- 
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 #663500]: densest packing possible

2018-01-24 Thread george
Question #663500 on Yade changed:
https://answers.launchpad.net/yade/+question/663500

george posted a new comment:
Also, you are right, i meant packing fraction :-)

-- 
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 #663500]: densest packing possible

2018-01-24 Thread Jan Stránský
Question #663500 on Yade changed:
https://answers.launchpad.net/yade/+question/663500

Status: Open => Answered

Jan Stránský proposed the following answer:
Hi George,

> gives a really small packing

Further I answer considering that you meant packing fraction (hopefully
I will not be melted down :-).

how much is really small?

currently there is no way how to influence results of randomDensePack.
Based on its code, you can write your own function with different
parameters (friction angle of material during compaction for example).

I am not sure if I got your point, but:
1) you can use pack.regularHexa to create "oranges packing" structure, which is 
theoretically the densest packing of uniform particles
2) randomDensePack (with spheresInCell parameter and again uniform radius) 
produces packing fraction approx 0.61-0.62, which is close to 0.64, the 
theoretical value of packing fraction of random close packing [1]
cheers
Jan

[1] https://arxiv.org/abs/cond-mat/0003416

-- 
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 #663500]: densest packing possible

2018-01-24 Thread george
New question #663500 on Yade:
https://answers.launchpad.net/yade/+question/663500

Good evening,
I want to achieve the highest perecentage of packing possible using 
randomdensepacking
at the moment i am using



sp=pack.randomDensePack(pack.inAlignedBox((-70,-70,0)(70,70,70,radius=2)
which gives a really small packing

Thank you for your time,
Any suggestions will be much appreciated

-- 
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 #663499]: Results of Cohesive triaxial - match maker

2018-01-24 Thread Seti
New question #663499 on Yade:
https://answers.launchpad.net/yade/+question/663499

Hi all,

Back to my previous question #663085 - I have updated the script as per below - 
it is working without any error however when I change the percentage of 
materials from 10% to 90%( through this line :-  if random.random() < 0.9:)   
the stress- strain results does not change at all. 
Even I am not sure if "DEVIATORIC LOADING" phase is impaling, because the 
stress value does not go more than 100kpa in all different ratios of the 
materials combinations.

Would you please advise me where is the issue? 
Thanks 
Seti


#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import division

from yade import plot,pack,timing
import time, sys, os, copy
from yade import ymport, utils, pack, export
#from pylab import *
import math
import numpy as np


### DEFINING VARIABLES AND MATERIALS ###

# default parameters or from table
readParamsFromTable(noTableOk=True, # unknownOk=True,
 targetPorosity=0.45, #the porosity we want for the packing
 num_spheres=3000,# number of spheres

 young=236e9,
 poisson=.2,
 density=2600,
 frictionAngle=radians(30),
 normalCohesion=3.e6,
 shearCohesion=1.e6,
 etaRoll=0.1,

 compFricDegree=30, # contact friction during the confining phase
 finalFricDegree=30, # contact friction during the deviatoric loading
 key='_triax_base_', # put you simulation's name here

 rate=-0.02, # loading rate (strain rate)
 damp=0.7, # damping coefficient
 stabilityThreshold=0.01, # we test unbalancedForce against this value in 
different loops (see below)
)
from yade.params import table
from yade.params.table import *
mn,mx=Vector3(0,0,0),Vector3(1,1,1) # corners of the initial packing
## create materials for spheres and plates
mat1=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=normalCohesion,shearCohesion=shearCohesion,momentRotationLaw=True,etaRoll=etaRoll,label='cement')
mat_1=O.materials.append(mat1)
mat2=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=3.e3,shearCohesion=1.e3,momentRotationLaw=True,etaRoll=etaRoll,label='glass_sphere')
mat_2=O.materials.append(mat2)
O.materials.append(FrictMat(young=2*young,poisson=.25,frictionAngle=0,density=0,label='frictionlessWalls'))

## create walls around the packing
walls=aabbWalls([mn,mx],thickness=0,material='frictionlessWalls')
wallIds=O.bodies.append(walls)

## use a SpherePack object to generate a random loose particles packing
sp=pack.SpherePack()
sp.makeCloud(mn,mx,-1,0,num_spheres,False, 0.95,seed=1) #"seed" make the 
"random" generation always the same
O.bodies.append([sphere(center,rad,material='cement') for center,rad in sp])
cement=[]
glass_sphere=[]
for b in O.bodies:
 if not isinstance(b.shape,Sphere): # change material only on spheres
continue
 if random.random() < 0.9:
  b.mat = mat1
  b.shape.color = (1,0,0)
  b.state.mass*=mat1.density/mat1.density
  cement.append(b.id)
 else:
  b.mat = mat2
  b.shape.color = (0,1,1)
  b.state.mass*=mat2.density/mat1.density
  glass_sphere.append(b.id)


### DEFINING ENGINES ###


triax=TriaxialStressController(
 maxMultiplier=1.+2.4e5/young, # spheres growing factor (fast growth)
 finalMaxMultiplier=1.+2.4e4/young, # spheres growing factor (slow growth)
 thickness = 0,
 stressMask = 7,
 internalCompaction=True, # If true the confining pressure is generated by 
growing particles
)

newton=NewtonIntegrator(damping=damp)

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
 InteractionLoop(
  #box-sphere interactions will be the simple normal-shear law, we use ScGeom 
for them
  [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()],
  #Boxes will be frictional (FrictMat), so the sphere-box physics is FrictMat 
vs. CohFrictMat, the Ip type will be found via the inheritance tree 
(CohFrictMat is a FrictMat) and will result in FrictPhys interaction physics
  #and will result in a FrictPhys
  [Ip2_FrictMat_FrictMat_FrictPhys(), 
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp"), 
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(normalCohesion=MatchMaker(matches=((mat_1,mat_1,3.e6),(mat_1,mat_2,3.e4),(mat_2,mat_2,3.e3))),shearCohesion=MatchMaker(matches=((mat_1,mat_1,1.e6),(mat_1,mat_2,1.e4),(mat_2,mat_2,1.e3],
  #Finally, two different contact laws for sphere-box and sphere-sphere
  
[Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment(
   useIncrementalForm=True, #useIncrementalForm is turned on as we want 
plasticity on the contact moments
   always_use_moment_law=False, #if we want "rolling" friction even if the 
contact is not cohesive (or cohesion is broken), we will have to turn this true 
somewhere
   label='cohesiveLaw')],

 ),
 

Re: [Yade-users] [Question #662276]: yade --check

2018-01-24 Thread Jérôme Duriez
Question #662276 on Yade changed:
https://answers.launchpad.net/yade/+question/662276

Status: Open => Answered

Jérôme Duriez proposed the following answer:
Hi

Q1) No need for you to try to solve this.
According to #15, it is more a problem in the definition of the --check 
procedure, thus a general problem in YADE. You may try 
examples/FluidCouplingPFV/oedometer.py (which has an analytical expected 
solution) to check whether FlowEngine works on your computer


Q2) As suggested by the doc [1], FlowEngine.ids is derived from 
PartialEngine.ids [2], see the inheritance (see c++ concepts) diagram at [3].
However I do not think this ids variable actually has any role in the workflow 
of FlowEngine. I would say that the fact FlowEngine.ids is empty is thus 
harmless, see Q1 again to be sure FlowEngine works on your computer.
If you're really curious about this FlowEngine.ids and why FlowEngine is 
defined as a PartialEngine, and not a GlobalEngine, please open a new question: 
it is completely unrelated with yade --check, now.


[1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.FlowEngine.ids
[2] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.PartialEngine.ids
[3] https://yade-dem.org/doc/yade.wrapper.html#partial-engines

-- 
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 #663459]: Periodic flow: impose gradP such that Paverage!=0

2018-01-24 Thread Jérôme Duriez
Question #663459 on Yade changed:
https://answers.launchpad.net/yade/+question/663459

Status: Open => Answered

Jérôme Duriez proposed the following answer:
Hi Luc,

On a general note regarding periodic boundaries, I do not think it is
meaningful to consider that Paverage has a particular value in your
cell. The cell is just a finite-sized window into an infinite problem,
the latter showing a periodic pattern. The problem actually showing the
exact same behaviours from one finite sized window to another.

Then, with an imposed pressure gradient in periodic boundaries, the
window you're looking at may show a average pressure value P, but you
could as well have chosen another window with an average pressure P +
gradP * cellLength.

Obviously, I'm guessing here that your periodic simulation depends on
(is affected by) the pressure gradient only, and not by the the average
value.

But, as a matter of fact, I think that a problem that would depend both
on pressure gradient and pressure average could not be simulated using
periodic boundaries, since such a problem would not show a periodic
pattern from one cell (or window) to another.


Jérôme

-- 
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 #662719]: How to make piles of irregular particle (clump of shperes and facet)

2018-01-24 Thread Launchpad Janitor
Question #662719 on Yade changed:
https://answers.launchpad.net/yade/+question/662719

Status: Open => Expired

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

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

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