Re: [Yade-users] [Question #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-06-10 Thread VG
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

VG posted a new comment:
Regarding the above solution, it should be

i.phys.unp = i.geom.penetrationDepth

instead of

i.phys.unp = 0

#to make it initially force free

-- 
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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-11 Thread VG
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

VG posted a new comment:
Thanks Bruno, that solved the issue I was facing.

Also, can you please recommend me a good reference for the CohFrictMat
and cohesive model ?

-- 
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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-11 Thread VG
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

Status: Answered => Solved

VG 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


Re: [Yade-users] [Question #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-11 Thread Bruno Chareyre
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

Bruno Chareyre proposed the following answer:
Changing the adhesion of existing interactions is not a problem at all.
After the first iteration:
i.phys.normalAdhesion = something
i.phys.shearAdhesion = another thing
i.phys.unp = 0 #to make it initially force free, as in the link quoted in #3

The only problem was that you were changing material parameters instead
of changing interaction parameters (as found by whr, even if he suggests
a different workaround).

-- 
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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-10 Thread VG
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

VG posted a new comment:
Thanks Huanran, I will look into it further on the lines of what you
suggested.

-- 
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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-09 Thread whr
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

whr proposed the following answer:
Hello Varun,

If you do another setCohesionNow, the cohesion for the existing
interactions will change after another timestep. You can write a minimal
script to verify it or check that in the source code.

If you prefer to keep to keep the cohesion parameters at their original
value (this make sense), you'd better choose a proper value, not too
high (bonds wouldn't break) or too low (seems no bonds at all).

Cheers,
Huanran

-- 
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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-09 Thread VG
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

VG posted a new comment:
Hello Huanran,

Thanks for your response, that makes sense.

So it seems like I can not reset the value of shearCohesion/normalCohesion  for 
existing interactions created with higher initial values of these parameters.
If I do another setCohesionNow with lower (original) values of cohesion 
parameters, then it would not lead to the correct number of cohesive 
interactions that I want. 

Also, I would prefer to keep the cohesion parameters at their original
value after the initial interactions, since otherwise a different value
will alter the breakage behavior.

Thanks
Varun

-- 
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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-08 Thread whr
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

Status: Open => Answered

whr proposed the following answer:
Hi varun,

I did not go through your script. But from your description in  #3, this may be 
due to the value of cohesion. 
The value of shearCohesion/normalCohesion within the existing interactions will 
not change if you just change the value. You need another setCohesionNow to 
reset it. 
Since the very high cohesion value result in the correct number of cohesive 
interactions, you may want to find a proper value that make the initial 
interaction number correct and these bonds could be broken in the following 
process.

Cheers,
Huanran

-- 
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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-08 Thread VG
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

Status: Solved => Open

VG is still having a problem:
Thanks Jan!
 Thanks to Bruno, I actually found part of the solution here: 
https://answers.launchpad.net/yade/+question/256364
 However, there is something additional described below which I am trying to 
find an answer for.

There are two things which I am doing now in addition to the above script:
 1. Using a value of 1.1 for aabbEnlargeFactor and interactionDetectionFactor 
for collision and interaction respectively.
 2. Using very high normal and shear cohesion values in the first iteration: 
~1e20 and then resetting these values to the original values.

This results in the correct number of cohesive interactions in each
aggregate. However, with the application of the load, these cohesive
bonds don't seem to break anymore.

I am using the commands in the following sequence:

-- In the initial definition of material properties for sample material, set 
very high values of cohesion ~1e20
-- Run one iteration using O.step()
-- Reset the value of cohesion parameters by:
   sample_material.normalCohesion = 1e8*1.2
   sample_material.shearCohesion = 0.4*1e8*1.2
-- O.run()

I also checked the value of sample_material.normalCohesion from command
line interface, and it shows the correct value.

Is there a problem in the sequence of commands ? I think I am pretty close to 
finding a solution but not there yet. 
May be when I am setting very high values of normal and shear cohesion 
initially, some parameters are calculated internally and those need to be reset 
as well after the first iteration ?

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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-08 Thread VG
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

Status: Answered => Solved

VG confirmed that the question is solved:
Thanks Jan! 
Thanks to Bruno, I actually found part of the solution here: 
https://answers.launchpad.net/yade/+question/256364
However, there is something additional described below which I am trying to 
find an answer for.

There are two things which I am doing now in addition to the above script: 
1. Using a value of 1.1 for aabbEnlargeFactor and interactionDetectionFactor 
for collision and interaction respectively. 
2. Using very high normal and shear cohesion values in the first iteration: 
~1e20 and then resetting these values to the original values.

This results in the correct number of cohesive interactions in each
aggregate. However, with the application of the load, these cohesive
bonds don't seem to break anymore.

I am using the commands in the following sequence:

-- In the initial definition of material properties for sample material, set 
very high values of cohesion ~1e20
-- Run one iteration by O.step()
-- Reset the value of cohesion parameters by: 
sample_material.normalCohesion = 1e8*1.2
sample_material.shearCohesion = 0.4*1e8*1.2

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 #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-08 Thread Jan Stránský
Question #293295 on Yade changed:
https://answers.launchpad.net/yade/+question/293295

Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Varun,
I see the main problem in how to correctly create cohesive interactions
between particles with CohFrictMat. Unfortunately, I am not familiar with
this model. You have to wait for somebody experienced with the model :-) or
you can search CohFrictMat in previous questions [1]..
cheers
Jan

[1] https://answers.launchpad.net/yade


2016-05-04 23:42 GMT+02:00 VG :

> New question #293295 on Yade:
> https://answers.launchpad.net/yade/+question/293295
>
> Hello everyone,
>
> Here is a description of the problem I am trying to solve:
>
> -- I have a granular sample with spherical particles of diameters D1, D2,
> D3 etc. All of such big particles (lets call them agglomerates) are
> composed of smaller particles of diameter 'd', since d is the smallest
> particle size of interest.
>
> -- Initially, within each big spherical particle, all the smaller
> particles should be densely packed and connected with cohesive bonds
> (CohFrictMat). As the loading is applied, the initially defined cohesive
> bonds within each big sphere will break progressively leading to smaller
> fragments.
>
> Now, the problem I am facing: Initially, within a single big sphere
> itself, sometimes there are particles which are shown not to have any
> cohesive interaction, leaving the small individual particle free to fly.
> How can I alleviate this problem ?
>
> This is a follow-up question to
> https://answers.launchpad.net/yade/+question/292846
>
> Here is the script:
>
>
> from yade import pack
>
>
> #
> # Set up run
>
> #
> run_name="PeriodicCohesive_MWE"
> data_root_dir="."
>
>
>
>
> #
> # Materials
>
> #
> plate_material=FrictMat(
> young=200e9
> ,poisson=0.3
> ,density=8000.
> ,frictionAngle=radians(30)
> ,label='plate_mat')
>
> O.materials.append(plate_material)
>
>
> sample_material=CohFrictMat(
> young=4e9
> ,poisson=0.25
> ,density=1400
> ,frictionAngle=radians(30)
> ,normalCohesion=1e8*1.2
> ,shearCohesion=.4e8*1.2
> ,momentRotationLaw=True
> ,label='sample_mat')
> O.materials.append(sample_material)
>
>
>
>
> #
> # Component dimensions and operating condition
>
> #
> # Granular material dimension
> sample_diameter=2e-4
> #sample_diameter=126e-6
> sample_radius=sample_diameter/2.0
> # Sub-particle dimension
> particle_diameter=74e-6
> particle_radius=particle_diameter/2.
>
>
> #
> # grinding plate dimension
>
> #
>
> rotvel=2./3.*pi*(1.5+0.5)*.254
>
>
> #
> # Periodic Geometry
>
> #
>
>
> # Set up periodic boundary conditions
> O.periodic=True
> xExt=4*sample_diameter
> yExt=3.*sample_diameter*2 #to block the periodicity in y direction
> zExt=xExt
> xLim=xExt
> yLim=yExt/4
> zLim=zExt
> O.cell.hSize=Matrix3(
> xExt, 0, 0,
> 0, yExt, 0,
> 0, 0, zExt)
>
>
> length=xExt
> height=yExt
> width=zExt
>
> # Top and bottom plate thickness
> thickness=0.1*height
>
>
>
>
>
> bottomBoxes = []
> for ix in (0,1,2):
> for iz in (0,1,2):
> bottomBoxes.append(box( # create 3x3 boxes with 1/3 cell
> size
> center=(xExt/6.*(1+2*ix),yLim -
> thickness/2.0,zExt/6.*(1+2*iz))
> ,extents=(xExt/6.,thickness/2.0,zExt/6.)
> ,wire=False
> ,material='plate_mat'
> ))
>
> bottom_id,bottom_ids = O.bodies.appendClumped(bottomBoxes) # bottom_id is
> the clump id,
>
>
> O.bodies[bottom_id].state.blockedDOFs='xyzXYZ'
>
>
>
>
> #
> # Particle Packing
>
> #
>
> min_corner= (0,yLim,0)
> max_corner= (xLim, yExt-yLim, zLim)
>
> sp=pack.SpherePack()
> sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False,
> seed=1)
>
> print "Generated ",len(sp)," aggregates"
>
> ###
> # Sample
> ###
> for s in sp:
> 

[Yade-users] [Question #293295]: Want to connect all the particles in an aggregate using cohesive bond

2016-05-04 Thread VG
New question #293295 on Yade:
https://answers.launchpad.net/yade/+question/293295

Hello everyone,

Here is a description of the problem I am trying to solve:

-- I have a granular sample with spherical particles of diameters D1, D2, D3 
etc. All of such big particles (lets call them agglomerates) are composed of 
smaller particles of diameter 'd', since d is the smallest particle size of 
interest.

-- Initially, within each big spherical particle, all the smaller particles 
should be densely packed and connected with cohesive bonds (CohFrictMat). As 
the loading is applied, the initially defined cohesive bonds within each big 
sphere will break progressively leading to smaller fragments.

Now, the problem I am facing: Initially, within a single big sphere itself, 
sometimes there are particles which are shown not to have any cohesive 
interaction, leaving the small individual particle free to fly. How can I 
alleviate this problem ?

This is a follow-up question to 
https://answers.launchpad.net/yade/+question/292846

Here is the script:


from yade import pack

#
# Set up run
#
run_name="PeriodicCohesive_MWE"
data_root_dir="."



#
# Materials
#
plate_material=FrictMat(
young=200e9
,poisson=0.3
,density=8000.
,frictionAngle=radians(30)
,label='plate_mat')

O.materials.append(plate_material)


sample_material=CohFrictMat(
young=4e9
,poisson=0.25
,density=1400
,frictionAngle=radians(30)
,normalCohesion=1e8*1.2
,shearCohesion=.4e8*1.2
,momentRotationLaw=True
,label='sample_mat')
O.materials.append(sample_material)



#
# Component dimensions and operating condition
#
# Granular material dimension
sample_diameter=2e-4
#sample_diameter=126e-6
sample_radius=sample_diameter/2.0
# Sub-particle dimension
particle_diameter=74e-6
particle_radius=particle_diameter/2.

#
# grinding plate dimension
#

rotvel=2./3.*pi*(1.5+0.5)*.254

#
# Periodic Geometry
#


# Set up periodic boundary conditions
O.periodic=True
xExt=4*sample_diameter
yExt=3.*sample_diameter*2 #to block the periodicity in y direction
zExt=xExt
xLim=xExt
yLim=yExt/4
zLim=zExt
O.cell.hSize=Matrix3(
xExt, 0, 0,
0, yExt, 0,
0, 0, zExt)


length=xExt
height=yExt
width=zExt

# Top and bottom plate thickness
thickness=0.1*height





bottomBoxes = []
for ix in (0,1,2):
for iz in (0,1,2):
bottomBoxes.append(box( # create 3x3 boxes with 1/3 cell size
center=(xExt/6.*(1+2*ix),yLim - 
thickness/2.0,zExt/6.*(1+2*iz))
,extents=(xExt/6.,thickness/2.0,zExt/6.)
,wire=False
,material='plate_mat'
))

bottom_id,bottom_ids = O.bodies.appendClumped(bottomBoxes) # bottom_id is the 
clump id,


O.bodies[bottom_id].state.blockedDOFs='xyzXYZ'



#
# Particle Packing
#

min_corner= (0,yLim,0)
max_corner= (xLim, yExt-yLim, zLim)

sp=pack.SpherePack()
sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False, 
seed=1)

print "Generated ",len(sp)," aggregates"

###
# Sample
###
for s in sp:
sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1])
sp1=pack.randomDensePack(
sphere
,spheresInCell=2000
,radius=particle_radius
,memoizeDb='/tmp/triaxPackCache.sqlite'
,returnSpherePack=True
)

sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6))
print 'Generated ',len(sp1),' particles'

Gl1_Sphere(stripes=True)

#
 # Top
#
topBoxes = []
for ix in (0,1,2):
for iz in (0,1,2):
topBoxes.append(box( # create 3x3 boxes with 1/3 cell size
center=(xExt/6.*(1+2*ix),yExt - yLim + 
thickness/2.0,zExt/6.*(1+2*iz))
,extents=(xExt/6.,thickness/2.0,zExt/6.)
,wire=False
,material='plate_mat'