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.

_______________________________________________
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

Reply via email to