← Back to team overview

yade-users team mailing list archive

[Question #287915]: Cylinder-Pfacet contact

 

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

Hi,

I'm very interested in the pfacet element in the following paper:

Effeindzourou, A., Chareyre, B., Thoeni, K., Giacomini, A., and Kneib, F. 2016. Modelling of deformable structures in the general framework of the discrete element method. Geotextiles and Geomembranes 44(2): 143-156.

I met a problem when I tested the Cylinder-Pfacet contact. The error message is Segmentation fault. I want to know whether this function is built in Yadedaily? The following is my script:

# -*- coding: utf-8
from yade import qt,plot
from yade.gridpfacet import *

##################
### PARAMETERS ###
##################
phi=20.
E=3.*1e8
color=[255./255.,102./255.,0./255.]
r=0.005
r2=0.01


################
### ENGINES  ###
################
O.engines=[
	ForceResetter(),
	InsertionSortCollider([
		Bo1_GridConnection_Aabb(),
		Bo1_PFacet_Aabb(), 
	]),
	InteractionLoop([
		Ig2_GridNode_GridNode_GridNodeGeom6D(),
		Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),
		Ig2_GridConnection_PFacet_ScGeom(),
    ],
    [
        Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=True),
		Ip2_FrictMat_FrictMat_FrictPhys()
	],
	[
        Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),
		Law2_ScGeom_FrictPhys_CundallStrack(),
		Law2_GridCoGridCoGeom_FrictPhys_CundallStrack()
	]
	),
	NewtonIntegrator(gravity=(0,-9.81,0),damping=0.0,label='newton'),
]


################
### MATERIAL ###
################
O.materials.append( CohFrictMat( young=E,poisson=0.3,density=2650,frictionAngle=radians(phi),normalCohesion=3e100,shearCohesion=3e100,momentRotationLaw=True,label='gridNodeMat' ) )  # material to create the gridConnections
O.materials.append( FrictMat( young=E,poisson=0.3,density=2650,frictionAngle=radians(phi),label='pFacetMat' ) )  # material for general interactions


########################################
### GENERATE THE WALL AND THE cylinder ###
########################################

# FIXED WALL
O.bodies.append( gridNode([-0.25,-0.22,-.25],r,wire=False,fixed=True,material='gridNodeMat',color=color) )
O.bodies.append( gridNode([.5,0.,-.25],r,wire=False,fixed=True,material='gridNodeMat',color=color) )
O.bodies.append( gridNode([-.25,-0.22,.25],r,wire=False,fixed=True,material='gridNodeMat',color=color) )
O.bodies.append( gridNode([.5,0.,.25],r,wire=False,fixed=True,material='gridNodeMat',color=color) )
O.bodies.append( gridConnection(0,1,r,color=color,material='gridNodeMat') )
O.bodies.append( gridConnection(2,3,r,color=color,material='gridNodeMat') )
O.bodies.append( gridConnection(2,1,r,color=color,material='gridNodeMat') )
O.bodies.append( gridConnection(2,0,r,color=color,material='gridNodeMat') )
O.bodies.append( gridConnection(3,1,r,color=color,material='gridNodeMat') )
O.bodies.append( pfacet(2,1,0,wire=False,material='pFacetMat',color=color) )
O.bodies.append( pfacet(2,3,1,wire=False,material='pFacetMat',color=color) )

# cylinder

O.bodies.append( gridNode([0,0,-0.25],r2,wire=False,fixed=False,material='gridNodeMat',color=color) )
O.bodies.append( gridNode([0,0,0.25],r2,wire=False,fixed=False,material='gridNodeMat',color=color) )
O.bodies.append( gridConnection(11,12,r2,color=color,material='gridNodeMat') )

O.dt=1e-6
O.saveTmp()


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