yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #23648
[Question #692040]: How to fix a Pfacet with node
New question #692040 on Yade:
https://answers.launchpad.net/yade/+question/692040
Hi everybody,
I have a problem with fixing (blocking) a pfacet with nodes.
in fact, I wanted to fix a pfacet just from bottom part, so I fix the below nodes, but this method did not work.
I do not want to completely fix the pfacet, just only lower part.
here is my simple code:
###################################
from yade import qt, pack, utils, ymport, export
from yade.gridpfacet import *
import gts, os.path, locale
import math
####################################
#### Engines ####
O.engines=[
ForceResetter(),
InsertionSortCollider([
Bo1_GridConnection_Aabb(),Bo1_Sphere_Aabb(),Bo1_PFacet_Aabb(),
]),
InteractionLoop([
Ig2_Sphere_Sphere_ScGeom(),
Ig2_Sphere_GridConnection_ScGridCoGeom(),
Ig2_Sphere_PFacet_ScGridCoGeom(),
Ig2_GridNode_GridNode_GridNodeGeom6D(),
Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),
Ig2_GridConnection_PFacet_ScGeom(),
#Ig2_PFacet_PFacet_ScGeom(),
],
[
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False), # internal cylinder physics
Ip2_FrictMat_FrictMat_FrictPhys() # physics for external interactions, i.e., cylinder-cylinder interaction
],
[ Law2_ScGeom_FrictPhys_CundallStrack(), # contact law for sphere-sphere
Law2_ScGeom6D_CohFrictPhys_CohesionMoment(), # contact law for "internal" cylinder forces
Law2_ScGridCoGeom_FrictPhys_CundallStrack(), # contact law for cylinder-sphere
Law2_GridCoGridCoGeom_FrictPhys_CundallStrack() # contact law for cylinder-cylinder interaction
]
),
GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1,label='ts'),
NewtonIntegrator(gravity=(0,0,-9.81),damping=.1,label='newton'),
]
youngm=1.3e11
poissonm=0.2
densitym=5300*100
##########################################################
O.materials.append(CohFrictMat(young=200e9,poisson=0.3,density=5600,frictionAngle=radians(20),normalCohesion=1e20,shearCohesion=1e20,momentRotationLaw=True,label='cMatx'))
O.materials.append(FrictMat(young=200e9,poisson=0.3,density=5600,frictionAngle=radians(20),label='fMatx'))
##########################################################
##############################################################################################
newob0=len(O.bodies)
print(newob0)
raduis_1=0.005
pf_1_1=O.bodies.append(gridNode([ 8.2928,-0.1, .3],raduis_1,wire=False,fixed=False,material='cMatx',color=[0,0,25]))
pf_1_2=O.bodies.append(gridNode([ 8.4928,-0.1, .3],raduis_1,wire=False,fixed=False,material='cMatx',color=[0,0,25]))
pf_1_3=O.bodies.append(gridNode([ 8.4928,-0.1, 0],raduis_1,wire=False,fixed=True,material='cMatx',color=[0,0,25]))
pf_1_4=O.bodies.append(gridNode([ 8.2928,-0.1, 0],raduis_1,wire=False,fixed=True,material='cMatx',color=[0,0,25]))
pf_1_5=O.bodies.append(gridNode([ 8.2928, 0, .3],raduis_1,wire=False,fixed=False,material='cMatx',color=[0,0,25]))
pf_1_6=O.bodies.append(gridNode([ 8.4928, 0, .3],raduis_1,wire=False,fixed=False,material='cMatx',color=[0,0,25]))
pf_1_7=O.bodies.append(gridNode([ 8.4928, 0, 0],raduis_1,wire=False,fixed=True,material='cMatx',color=[0,0,25]))
pf_1_8=O.bodies.append(gridNode([ 8.2928, 0, 0],raduis_1,wire=False,fixed=True,material='cMatx',color=[0,0,25]))
O.bodies.append( gridConnection(pf_1_1,pf_1_2, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_2,pf_1_3, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_3,pf_1_1, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_1,pf_1_4, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_4,pf_1_3, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_5,pf_1_6, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_6,pf_1_7, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_7,pf_1_5, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_5,pf_1_8, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_8,pf_1_7, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_4,pf_1_8, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_5,pf_1_4, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_5,pf_1_1, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_3,pf_1_7, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_6,pf_1_3, raduis_1,material='fMatx',color=[0,0,25] ))
O.bodies.append( gridConnection(pf_1_6,pf_1_2, raduis_1,material='fMatx',color=[0,0,25] ))
#O.step()
O.bodies.append( pfacet(pf_1_1,pf_1_2,pf_1_3,wire=False,material='fMatx',color=[0,0,25] ))
O.bodies.append( pfacet(pf_1_1,pf_1_4,pf_1_3,wire=False,material='fMatx',color=[0,0,25] ))
O.bodies.append( pfacet(pf_1_5,pf_1_6,pf_1_7,wire=False,material='fMatx',color=[0,0,25] ))
O.bodies.append( pfacet(pf_1_5,pf_1_8,pf_1_7,wire=False,material='fMatx',color=[0,0,25] ))
O.bodies.append( pfacet(pf_1_4,pf_1_8,pf_1_5,wire=False,material='fMatx',color=[0,0,25] ))
O.bodies.append( pfacet(pf_1_5,pf_1_1,pf_1_4,wire=False,material='fMatx',color=[0,0,25] ))
O.bodies.append( pfacet(pf_1_3,pf_1_7,pf_1_6,wire=False,material='fMatx',color=[0,0,25] ))
O.bodies.append( pfacet(pf_1_6,pf_1_2,pf_1_3,wire=False,material='fMatx',color=[0,0,25] ))
###
newob1=len(O.bodies)
print(newob1)
Id_clump1=[]
for gg in range(newob0,newob1):
Id_clump1.append(gg)
#print(Id_clump1)
clumpp_1=O.bodies.clump(Id_clump1)
#O.bodies[clumpp_1].state.blockedDOFs='xyzXYZ'
newob0=len(O.bodies)
O.step()
O.run(100000)
###################################
Thanks a lot
Ali
--
You received this question notification because your team yade-users is
an answer contact for Yade.