New question #684027 on Yade:
https://answers.launchpad.net/yade/+question/684027

Hi,
I'd like to ask how to use MatchMaker for the case that there are two Ip2. 
For example, in a triaxial simulation, there are 3 kinds of bodies : wall, sand 
and cement. 
What I want to achieve for the simulation is that cement-cement and cement-sand 
contacts are CohFrictPhys (with cohesion) and wall-cement, wall-sand, sand-sand 
contacts are FrictPhys because I suppose adhesion only exists between 
cement-cement as well as cement-sand. And thanks for Jan's suggestion in [1], 
"using just CohFrictMat/CohFrictPhys and using MatchMaker for sand-sand 
contacts to behave like FrictPhys", I set the engines like below:
#########
wall=O.materials.append(FrictMat(young=30e9,poisson=0.5,frictionAngle=0,density=0,label='wall'))
sand=O.materials.append(CohFrictMat(isCohesive=True,young=30e9,poisson=0.5,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6,
 shearCohesion=1e6,label='sand'))
cement=O.materials.append(CohFrictMat(isCohesive=True,young=30e9,poisson=0.5,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6,
 shearCohesion=1e6,label='cement'))
##########
O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()],
                [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(
                        
normalCohesion=MatchMaker(matches=((wall,wall,0),(wall,sand,0),(wall,cement,0),(sand,sand,0),(sand,cement,1e6),(cement,cement,1e6))),
                        
shearCohesion=MatchMaker(matches=((wall,wall,0),(wall,sand,0),(wall,cement,0),(sand,sand,0),(sand,cement,1e6),(cement,cement,1e6))),
                        setCohesionNow=True),
                 Ip2_FrictMat_FrictMat_FrictPhys()],
                
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()]
        ),
        triax,
        TriaxialStateRecorder(iterPeriod=100),
        newton
]
My questions are:
1. Is there any conflict between MatchMaker and setCohesionNow=True?  
setCohesionNow is for assigning cohesion to all existing contacts in current 
time-step, I am afraid that MatchMaker makes  normalCohesion of sand-cement 
equals 1e6 in all steps.
2.Is there any unnecessary coding such as (wall,wall,0) or (wall,sand,0) that I 
need to remove?

Many thanks
Leonard
[1]https://answers.launchpad.net/yade/+question/683706

-- 
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     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to