Re: [Yade-users] [Question #295225]: Cohesion Distribution

2016-07-11 Thread Launchpad Janitor
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Status: Open => Expired

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

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

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


Re: [Yade-users] [Question #295225]: Cohesion Distribution

2016-06-30 Thread Seti
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Seti posted a new comment:
Thanks Jerome, I have opened another question. Hope it helps :(

-- 
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 #295225]: Cohesion Distribution

2016-06-30 Thread Seti
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Seti posted a new comment:
Thanks Jerome, I have opened another question. Hope it help :(

-- 
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 #295225]: Cohesion Distribution

2016-06-27 Thread Jérôme Duriez
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Jérôme Duriez posted a new comment:
In fact, I've never used MatchMaker myself..

In principle using such thing to define cohesion should follow the exact
same method as to define friction. In case you face difficulties, I
would recommend you try first with a two spheres problem.

This would lead to a much shorter script and much simpler situation,
increasing your chances to succeed or other users to help you in case
you wish to post here (or in a separate, more precise, question) such 2
spheres script. The script above is way too long/complicated..

-- 
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 #295225]: Cohesion Distribution

2016-06-25 Thread Seti
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Status: Answered => Open

Seti is still having a problem:
Thanks Jerome, 
I tried to go for your recommendation to use "MatchMaker" however I am not sue 
how I should use it for various cohesion, what I have seen in documentation, 
the MatchMaker have been used to assign different frictions , however I have 
done below attempt which to me is incomplete, would you please advise me how 
should I use MatchMaker to assign different cohesion:


here is the snip of code: 

# Batch execution
nRead=utils.readParamsFromTable(
num_spheres1=500,# number of spheres len(O.bodies) to verify: 10006 = 
1 particles + 6 walls is correct
num_spheres2=500,# number of spheres len(O.bodies) to verify: 10006 = 
1 particles + 6 walls is correct
compFricDegree = 30, # contact friction during the confining phase (1)
unknownOk=True,
isoForce=10, # stress for the isotropic compression phase (1)
conStress=10 # confinement stress, for the deviatoric loading 
session (2)
)
from yade.params import table
 
num_spheres1=500  # number of spheres called from table
num_spheres2=500
targetPorosity = 0.6  #the porosity we want for the packing 
(3 specimens: (Ei,n) = (1,0.382), (2,0.387), (3,0.409) )
compFricDegree = table.compFricDegree   # initial contact friction during the 
confining phase (will be decreased during the REFD compaction process)
finalFricDegree = 30   # contact friction 
during the deviatoric loading
rate=0.01# 
loading rate (strain rate)
damp=0.3   # 
damping coefficient
stabilityThreshold=0.001# initial value: 0.001
key='_kozooocki,,100kpa,100kpa,30,30,30e9_0.085,0.085,0.085,0.8,D=varried,clumping
 3,0.z5 ' # simulation's name here
young=30e9 # contact 
stiffness k_n/Ds
mn,mx=Vector3(-0.085,-0.085,-0.085),Vector3(0.085,0.085,0.085) # corners of the 
initial packing
thick = 0.01# thickness of 
the plates
 
 
## create materials for spheres and plates
O.materials.append(FrictMat(young=young,poisson=0.3,frictionAngle=radians(compFricDegree),momentRotationLaw=True,etaRoll=1,density=2600,isCohesive=True,alphaKr=0.05,label='spheres1'))
O.materials.append(CohFrictMat(young=young,poisson=0.3,frictionAngle=radians(compFricDegree),momentRotationLaw=True,etaRoll=1,density=2600,isCohesive=True,alphaKr=0.05,label='spheres2'))
O.materials.append(FrictMat(young=young,poisson=0.3,frictionAngle=0,density=0,label='walls'))
 
## create walls around the packing
walls=utils.aabbWalls([mn,mx],thickness=thick,oversizeFactor=1.5,material='walls')
wallIds=O.bodies.append(walls)
 
## use a SpherePack object to generate a random loose particles packing
sp=pack.SpherePack()
psdSizes=[0.002,0.003,0.004,0.005,0.006,0.007,0.008] # (sizes or radii of the 
grains vary from 2mm to 9.5mm)
#psdCumm=[1,9,25,50,69,90,95,100] # the correspondent amount (percentage) of 
each diameter, uncomment for yade-stable
psdCumm=[0.14,0.28,0.34,0.50,0.65,0.85,1.00] # for the code not using 
percentage, e.g. yade-daily
...





O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]),
InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom(),,Ig2_Wall_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],

[Ip2_FrictMat_FrictMat_MindlinPhys(en=MatchMaker(matches=((spheres1,spheres2,.6),(spheres2,spheres2,.55))),es=MatchMaker(matches=((spheres1,spheres2,.6),(spheres2,spheres2,.55))),alphaKr=MatchMaker(matches=((spheres1,spheres2,.1),(spheres2,spheres2,.3))),krot=3),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp")],
 [Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=True,includeAdhesion=True)],

[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')]
),
## We will use the global stiffness of each body to determine an 
optimal timestep (see 
https://yade-dem.org/w/images/1/1b/Chareyre&Villard2005_licensed.pdf)

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5),
triax,
TriaxialStateRecorder(iterPeriod=50,file='WallStresses'+key),
newton
]
 
Thank

Re: [Yade-users] [Question #295225]: Cohesion Distribution

2016-06-20 Thread Jérôme Duriez
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Status: Open => Answered

Jérôme Duriez proposed the following answer:
" why C is the smallest value of cohesion between two grains ?"

=> Because the guy who wrote this piece of code had to make a choice,
and he made this choice.. Taking the min of two values is by the way a
quite "classical" choice in YADE (the same is made to determine the
friction angle of an interaction)

As for me I'm quite happy with the idea that a team of two players can
not be better than the worst player among the two, but all this is just
a matter of choice, as I said..

Thus, I won't deny you the possibility to be unhappy with the current
choice. In this case I would recommend you give a look to this
"MatchMaker" attribute to address the situations you have in mind.

-- 
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 #295225]: Cohesion Distribution

2016-06-19 Thread Seti
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Status: Answered => Open

Seti is still having a problem:
Dear Jerome,

Thanks for prompt reply.


My exact question is, why C is the smallest value of cohesion between two 
grains. Just imagine , the first material be loose sand and the the second 
material be something which we are using for cementation ( bonding the loose 
sand) - which definitely has the bigger value of cohesion in comparison with 
the loose sand , in this case assuming the the smallest value of cohesion means 
we do not consider the effect of binder in our calculation. It is my thought, 
please correct me if I am wrong.


Regards,
Seti

-- 
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 #295225]: Cohesion Distribution

2016-06-17 Thread Jérôme Duriez
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Jérôme Duriez proposed the following answer:
PS: these "iAdhesion" are computed from the minima of "iCohesion" unless
you defined some "MatchMaker" in
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys.normalCohesion/shearCohesion...

If you do not understand what I'm talking about, just focus on my
previous answer...

-- 
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 #295225]: Cohesion Distribution

2016-06-17 Thread Jérôme Duriez
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Status: Open => Answered

Jérôme Duriez proposed the following answer:
All YADE source code can be 
* either browsed online at https://github.com/yade/trunk
* or downloaded on your computer following the "source code" section of the 
installation page of the doc somewhere at https://yade-dem.org/doc/ (which is 
currently down---hopefully not for long---which prevents me to giving you the 
exact URL)

Searching e.g. for "normalCohesion" in the code (see the search bar at
the top of github.com/yade/trunk webpages) will direct you to
pkg/dem/CohesiveFrictionalContactLaw.cpp that includes in particular the
code of Ip2_CohFrictMat_CohFrictMat_CohFrictPhys.

Therein, you will find that "normalAdhesion" is computed from the
minimum of the particles' "normalCohesion" (the same for "shear.."), see
[1] and [2]. Which hopefully answers your first question ! (The doc
could be indeed clarified)

Jerome

[1] 
https://github.com/yade/trunk/blob/48fcf94a46f449dfb1ecda36f69eb8397d08d29d/pkg/dem/CohesiveFrictionalContactLaw.cpp#L251
[2] 
https://github.com/yade/trunk/blob/48fcf94a46f449dfb1ecda36f69eb8397d08d29d/pkg/dem/CohesiveFrictionalContactLaw.cpp#L285

-- 
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 #295225]: Cohesion Distribution

2016-06-17 Thread Seti
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Status: Answered => Open

Seti is still having a problem:
Hi Jerome,

Thanks so much for your response. I need to understand how you model the
adhesion between two neighbour grains when they have different property
( in particular different cohesion). considering below formula when I
have 2 different material Ci how be calculated?

a_i=C_i min(R_1,R_2)^2, i=n,s.

2- Would you please let me how can I access to source of code for
calculating the adhesion/adhesion?


I really appreciate your time.

Thanks
Seti

-- 
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 #295225]: Cohesion Distribution

2016-06-13 Thread Jérôme Duriez
Question #295225 on Yade changed:
https://answers.launchpad.net/yade/+question/295225

Status: Open => Answered

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

The doc of "CohFrict.." related classes should help, here (assuming
you're using such contact model, which would probably be a good idea)

1. See [1], together with [2], to understand how the interaction
strength ("normalAdhesion" and "shearAdhesion" of "CohFrictPhys") is
computed from grains with possibly different strength material
properties ("normalCohesion" and "shearCohesion" from CohFrictMat)

2. It is the default behaviour of the "CohFrict.." model to define purely 
frictional interactions (without cohesion), see setCohesionNow and 
setCohesionOnNewContacts in [1]
In particular keeping setCohesionOnNewContacts to False will do exactly what 
you want.

3. I'm not sure I understood your question. All contact models in Yade
consider a "fmin" threshold for the normal force fn (I'm considering
here compression as positive). This "fmin" threshold in Newton is
usually never directly set, though (see previous answers for the
"CohFrict.." model)

As for a maximum compressive force threshold "fmax" I'm not aware any
contact law in Yade considers such thing. If this is what you want, you
will probably have to write your own contact law.


Jerome


[1] 
https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_CohFrictMat_CohFrictMat_CohFrictPhys
[2] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.CohFrictPhys

-- 
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 #295225]: Cohesion Distribution

2016-06-13 Thread Seti
New question #295225 on Yade:
https://answers.launchpad.net/yade/+question/295225

Hi All,

Would you please let me know, how can can model a cemented - 100% bonded - 
sample with three different material which have different level of cohesion. 

 In other words  if all of the grains connected to each other - very dense 
sample - how the force/strength/cohesion (?) between neighbourhood grains with 
different material properties  will be calculated on YADE.

2- If contacts between some spheres during the compression test re-appeared. 
how can I write the script to prevent  taking into account  the cohesion 
between these particular spheres. 

3- How can I introduce limitation for implying force, I mean, implying fn on 
sample, where fminhttps://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp