Question #680307 on Yade changed:
https://answers.launchpad.net/yade/+question/680307

    Status: Answered => Open

Gavin He is still having a problem:
Hello Jérôme,

With your responses, I have been able to generate aabbwalls surrounding
polyhedra specimen.

However, after I modify the code of triax-basic.py, trying to run fast
triaxial test on polyhedrons, I found the aabbwalls cannot run as the
same way as the example does. Eventually I found I need an IPhysFunctor
like "Ig2_Box_Polyhedra_ScGeom" (like "Ig2_Box_Sphere_ScGeom" when
simulating with spheres or clumps) to make the aabbwalls able to
interact with polyhedras, which I cannot find.

So now the question looks to be "how to make aabbwalls able to interact
with polyhedras"?

Could you help me with this problem?

_______________________________________________________________________________________________________________________

CODE:

from yade import pack,polyhedra_utils

gravel = PolyhedraMat()
gravel.density = 2600 #kg/m^3 
gravel.young = 1E7 #Pa
gravel.poisson = 20000/1E7
gravel.frictionAngle = 0.5 #rad

mn,mx=Vector3(0,0,0),Vector3(10,10,10)

O.materials.append(PolyhedraMat(young=15e6,poisson=.4,frictionAngle=0,density=0,label='frictionless'))

walls=aabbWalls(extrema=(mn,mx),thickness=1e-10,material='frictionless')
wallIds=O.bodies.append(walls)

polyhedra_utils.fillBox((0,0,0),
(10,10,10),gravel,sizemin=[1,1,1],sizemax=[0.1,0.1,0.1],seed=4)

triax=TriaxialCompressionEngine(
        wall_bottom_id=wallIds[2],
        wall_top_id=wallIds[3],
        wall_left_id=wallIds[0],
        wall_right_id=wallIds[1],
        wall_back_id=wallIds[4],
        wall_front_id=wallIds[5],
        internalCompaction=False,
        ## define the rest of triax params here
        ## see in pkg/dem/PreProcessor/TriaxialTest.cpp:524 etc
        ## which are assigned in the c++ preprocessor actually
        sigmaIsoCompaction=-50e3,
        sigmaLateralConfinement=-50e3,
        max_vel=10,
        strainRate=0.01,
        label="triax"
)

O.engines=[
        ForceResetter(),
        
InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Wall_Aabb(),Bo1_Facet_Aabb()],verletDist=5e-6),
        InteractionLoop(
        [Ig2_Wall_Polyhedra_PolyhedraGeom(), 
Ig2_Polyhedra_Polyhedra_PolyhedraGeom(), Ig2_Facet_Polyhedra_PolyhedraGeom()], 
        [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], # collision "physics"
        [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]   # contact law -- 
apply forces
        ),
        
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
        triax,
        # you can add TriaxialStateRecorder and such here…
        NewtonIntegrator(damping=.4)
]
O.dt=polyhedra_utils.PWaveTimeStep()

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