Re: [Yade-users] [Question #694217]: Normal stiffness of contact under tension

2020-12-24 Thread Aaron Liu
Question #694217 on Yade changed:
https://answers.launchpad.net/yade/+question/694217

Aaron Liu posted a new comment:
Hi Bruno,

I think u are right. But I would like to have a model that two hard
particles are in contact with each other and another soft bonding
material spread in the interspace. for example, you have a box of glass
beads compacted well and then inject glue into gaps until it fulfills
all the space.  So in this case, when two particles are in compression,
the stiffness is mostly dependent on the stiffness of the particle
itself. cause they are in contact and soft bonding material could be
ignored. But when you pull them away from each other, the bonding
material should play the key role of stiffness.

Best,
Aaron

-- 
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 #694492]: Normal stiffness define

2020-12-22 Thread Aaron Liu
Question #694492 on Yade changed:
https://answers.launchpad.net/yade/+question/694492

Status: Answered => Solved

Aaron Liu confirmed that the question is solved:
Thanks Jan Stránský, 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 #694492]: Normal stiffness define

2020-12-15 Thread Aaron Liu
Question #694492 on Yade changed:
https://answers.launchpad.net/yade/+question/694492

Status: Answered => Open

Aaron Liu is still having a problem:
Hi Jan,

Thank you so much again for your complete answers.

>What does "soft" and "hard" exactly mean? Low and high stiffness? Low and high 
>strength?
I mean the stiffness here. I see what you mean. We have many ways to represent 
and model the two-phase (particle and cement). 

If I would like to model the cement as the interaction between particles. And 
let stiffness under compression and tension are different. For example, two 
particles(E=1e10) are connected and their interaction tension stiffness is 1e4 
Pa and compression stiffness is 1e8 pa.  
Since  1/(E1.D1)+1/(E2.D2) is used to define the normal stiffness as  
(https://www.yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys)
 described, and the normal stiffness no matter compression and tension is the 
same and has to be related to E of particles.  I am still wondering that is 
there any ways to define the stiffness of a pair of compression and tension 
differently and the stiffness is independent to E of particles. 

Best,
Aaron

-- 
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 #694492]: Normal stiffness define

2020-12-12 Thread Aaron Liu
New question #694492 on Yade:
https://answers.launchpad.net/yade/+question/694492

Hi guys,

I was wondering the normal stiffness in yade is calculated by 
(https://yade-dem.org/doc/formulation.html#normal-stiffness). And I posted one 
similar question ( https://answers.launchpad.net/yade/+question/694217)  before 
but I am struggling again for some questions:

1. The normal stiffness of compression and tension is the same in the 
definition, does that mean the macro-material is one phase? In another word, 
two particles are connected by cement, if they have the same tension and 
compression stiffness, does that mean that the cement has the same mechanical 
properties as particles.  However, Assume that cement is very soft and 
particles are hard, I think the tensile stiffness would be much smaller than 
compression. So is this situation could be realized by Yade?

Thank u very much.

Cheers,
Aaron


-- 
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-12-10 Thread Aaron Liu
Question #694253 on Yade changed:
https://answers.launchpad.net/yade/+question/694253

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

2020-12-02 Thread Aaron Liu
Question #694253 on Yade changed:
https://answers.launchpad.net/yade/+question/694253

Status: Answered => Solved

Aaron Liu confirmed that the question is solved:
Hi Jérôme  and Luc,

Thank u so much for the kind explanation. I will take a research on it
further.

Best,
Aaron

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

2020-11-29 Thread Aaron Liu
New question #694253 on Yade:
https://answers.launchpad.net/yade/+question/694253

Dear Yade users,




I found the JCFpmMat and related functors might be good to simulate bonded 
particle problems(https://answers.launchpad.net/yade/+question/635871).  I was 
trying to simulate a uniaxial compression of a cubic brick that is making by 
using soft bonding material connecting hard sand particles(the mechanical 
parameters could be given). So my brick is made of two parts: soft bonding 
material and hard particles. Here are my questions.


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. 
1. What are the differences between cohesion and jointCohesion? 
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?
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?


from __future__ import division
from __future__ import print_function

from future import standard_library
standard_library.install_aliases()
from yade import plot,pack,timing
import time, sys, os, copy
readParamsFromTable(noTableOk=True, # unknownOk=True,
young=1e6,
poisson=.6,

sigmaT=3.5e6,
frictionAngle=radians(20),
epsCrackOnset=1e-4,
relDuctility=30,

intRadius=1.5,
dtSafety=.8,
damping=0.4,
strainRateTension=-1,
strainRateCompression=-.5,
setSpeeds=True,

specimenLength=.04,
sphereRadius=0.0005,

# isotropic confinement (should be negative)
isoPrestress=0,
jointDil=radians(0),
jointFrict=radians(20),
OUT='compressionTest_JCFPM'

)

from yade.params.table import *
#alphaKr=30,alphaKtw=30,
#O.materials.append(JCFpmMat(type=1,young=1e10,frictionAngle=radians(30),density=2600,poisson=0.3,tensileStrength=1e6,cohesion=1e6,jointNormalStiffness=1e7,jointShearStiffness=1e7,jointCohesion=1e6,jointFrictionAngle=atan(0.8),jointDilationAngle=radians(0))
O.materials.append(JCFpmMat(type=1,young=1e6,frictionAngle=radians(30),density=3000,poisson=0.3,tensileStrength=3e7,cohesion=1e6,jointNormalStiffness=1e7,jointShearStiffness=1e4,jointCohesion=1e4,jointFrictionAngle=jointFrict,jointDilationAngle=jointDil))

#O.materials.append(CohFrictMat(young=young,poisson=poisson,density=2600,frictionAngle=radians(30),normalCohesion=1e3,shearCohesion=1e3,momentRotationLaw=True,etaRoll=0.1,label='spheres'))
#concreteId=O.materials.append(FrictMat(young=15e6,poisson=.4,frictionAngle=0,density=0,label='frictionlessWalls'))

sp=pack.randomDensePack(pack.inAlignedBox((0,0,0),(specimenLength,specimenLength,specimenLength)),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True)
sp.toSimulation()
bb=uniaxialTestFeatures()
negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area']
O.dt=0.9*PWaveTimeStep()


O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(label='is2aabb'),],verletDist=.05*sphereRadius),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom()],

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

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

),
NewtonIntegrator(damping=damping,label='damper'),
#CpmStateUpdater(realPeriod=.5),
UniaxialStrainer(strainRate=strainRateTension,axis=axis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=False,blockRotations=False,setSpeeds=setSpeeds,label='strainer'),
PyRunner(virtPeriod=1e-3/strainRateTension,realPeriod=1,command='addPlotData()',label='plotDataCollector',initRun=True),

#PyRunner(realPeriod=4å,command='stopIfDamaged()',label='damageChecker'),
#
]

def addPlotData():

yade.plot.addData({'t':O.time,'i':O.iter,'eps':-(strainer.strain),'sigma':-(strainer.avgStress+isoPrestress),})
print(strainer.strain)  
plot.plots={'eps':('sigma',)}   
plot.plot(subPlots=False)


O.saveTmp('initial');

O.timingEnabled=False


O.run()
#InteractionLoop(
#   
#   ),
#O.materials.append(JCFpmMat(type=1,young=1e8,frictionAngle=radians(30),density=3000,poisson=0.3,tensileStrength=1e6,cohesion=1e6,jointNormalStiffness=1e7,jointShearStiffness=1e7,jointCohesion=1e6,jointFrictionAngle=atan(0.8),jointDilationAngle=radians(0))


Cheers,
Aaron

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

Re: [Yade-users] [Question #694217]: Normal stiffness of contact under tension

2020-11-28 Thread Aaron Liu
Question #694217 on Yade changed:
https://answers.launchpad.net/yade/+question/694217

Aaron Liu confirmed that the question is solved:
Thanks Jan Stránský, 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 #694217]: Normal stiffness of contact under tension

2020-11-28 Thread Aaron Liu
Question #694217 on Yade changed:
https://answers.launchpad.net/yade/+question/694217

Status: Answered => Solved

Aaron Liu confirmed that the question is solved:
Jan, Thank u so 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 #694217]: Normal stiffness of contact under tension

2020-11-27 Thread Aaron Liu
Question #694217 on Yade changed:
https://answers.launchpad.net/yade/+question/694217

Status: Answered => Open

Aaron Liu is still having a problem:
Hi Jan,

Thank u so much for your kind reply. It is really helpful for
understanding.

>However, for simple models, the stiffness of compression and tension equals, 
>which is just from the definition of elastic material.
If you need different behavior, you have to use some more fancy material models.

Does it mean that the whole material is made of the same material? I was
wondering that when the mechanical properties(Elastic modulus and
strength) of bonding material is distinct from particle material, like
assume the bonding material is very soft and particles are tough, what
material model and the physical module would be better satisfied?

Cheers,
Aaron

-- 
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 #694217]: Normal stiffness of contact under tension

2020-11-27 Thread Aaron Liu
New question #694217 on Yade:
https://answers.launchpad.net/yade/+question/694217

Hi guys,

I am a new user of Yade and I am trying to simulate a cohesive material 
consists of sand particles that are connected by some elastic material. I 
choose the CohfrictMat as material and Ip2_CohFrictMat_CohFrictMat_CohFrictPhys 
for bonding. The question is when I define the normal stiffness of bonding (or 
contact), it is calculated by [1] harmonic average like: 1/(E1.D1)+1/(E2.D2). 
It is reasonable when two particles are compacting to each other. But when the 
two particles are under tension stress and leave each other, the stiffness of 
bonding should have nothing to do with the modulus of particle self and it 
should only depend on the bonding material itself. Also the shear stiffness 
should be different. As we know[2] the tensile crack is one of the main 
mechanism of compression.  So how to define the stiffness of tensile?

###here is my 
code



from __future__ import division
from __future__ import print_function

from future import standard_library
standard_library.install_aliases()
from yade import plot,pack,timing
import time, sys, os, copy
readParamsFromTable(noTableOk=True, # unknownOk=True,
young=1e6,
poisson=.6,

sigmaT=3.5e6,
frictionAngle=atan(0.8),
epsCrackOnset=1e-4,
relDuctility=30,

intRadius=1.5,
dtSafety=.8,
damping=0.4,
strainRateTension=-1,
strainRateCompression=-.5,
setSpeeds=True,

specimenLength=.04,
sphereRadius=0.001,

# isotropic confinement (should be negative)
isoPrestress=0,
)

from yade.params.table import *
#alphaKr=30,alphaKtw=30,
O.materials.append(CohFrictMat(young=young,poisson=poisson,density=2600,frictionAngle=radians(30),normalCohesion=1e3,shearCohesion=1e3,momentRotationLaw=True,etaRoll=0.1,label='spheres'))
#concreteId=O.materials.append(FrictMat(young=15e6,poisson=.4,frictionAngle=0,density=0,label='frictionlessWalls'))

sp=pack.randomDensePack(pack.inAlignedBox((0,0,0),(specimenLength,specimenLength,specimenLength)),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True)
sp.toSimulation()
bb=uniaxialTestFeatures()
negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area']
O.dt=0.5*PWaveTimeStep()


O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(label='is2aabb'),],verletDist=.05*sphereRadius),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow = 
True)],
#setCohesionNow = True,setCohesionOnNewContacts = True

[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True),
Law2_ScGeom_FrictPhys_CundallStrack()],
),
NewtonIntegrator(damping=damping,label='damper'),
#CpmStateUpdater(realPeriod=.5),
UniaxialStrainer(strainRate=strainRateTension,axis=axis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=False,blockRotations=False,setSpeeds=setSpeeds,label='strainer'),
PyRunner(virtPeriod=1e-3/strainRateTension,realPeriod=1,command='addPlotData()',label='plotDataCollector',initRun=True),
#PyRunner(realPeriod=4,command='stopIfDamaged()',label='damageChecker'),
#
]
plot.plots={'eps':('sigma',)}
def addPlotData():

yade.plot.addData({'t':O.time,'i':O.iter,'eps':-(strainer.strain),'sigma':-(strainer.avgStress+isoPrestress),})


plot.plot(subPlots=False)


O.timingEnabled=False


O.run()



Best regards,
Aaron

[1] 
https://www.yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys
[2] Potyondy, D. O., & Cundall, P. A. (2004). A bonded-particle model for rock. 
International journal of rock mechanics and mining sciences, 41(8), 1329-1364.

-- 
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 #680577]: how to move a wall by applying a specific force?

2019-05-02 Thread Aaron Liu
Question #680577 on Yade changed:
https://answers.launchpad.net/yade/+question/680577

Aaron Liu confirmed that the question is solved:
Thanks Jan Stránský, 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 #680577]: how to move a wall by applying a specific force?

2019-05-02 Thread Aaron Liu
Question #680577 on Yade changed:
https://answers.launchpad.net/yade/+question/680577

Status: Answered => Solved

Aaron Liu confirmed that the question is solved:
Thanks Jan, that solved my question.  And next time I'll follow you
advise to provide a MWE and make the question clearer.

-- 
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 #680577]: how to move a wall by applying a specific force?

2019-05-02 Thread Aaron Liu
Question #680577 on Yade changed:
https://answers.launchpad.net/yade/+question/680577

Status: Needs information => Open

Aaron Liu gave more information on the question:
Hi Jan,

Thanks for your kind reply. I am sorry for the vague expression. The
body with wall_id ID is a Wall.

Thanks,

Xin

-- 
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 #680577]: how to move a wall by applying a specific force?

2019-05-01 Thread Aaron Liu
New question #680577 on Yade:
https://answers.launchpad.net/yade/+question/680577

Hi all,

I need to move a wall  by applying a specific force in the simulation. This 
force may change within the processs. I have tried to use the command

O.forces.addF(wall_id,Vector3(10,0.,0.))  

but the position of the wall is not chnaged. Can you please give some 
suggestions on how to do that?

Xin

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