JCFpmMat

Bug #1809688 reported by Sam
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Yade
New
Undecided
Unassigned

Bug Description

When i trying to replace my spheres in a triaxial test by clumps with the material of JCFpmMat, i encounter this error:

RuntimeError: Body #14: Body::material type JCFpmMat doesn't correspond to Body::state type State (should be JCFpmState instead).

Please note that with no replacement with clumps, there is no problem. The other point is that if i reduce the Rmean to generate more spheres, then the script would not be run. I think it is a bug for this contact model and it should be modified from the source.

the MWE is as following:

from yade import pack,plot
from yade import export, ymport
import random
from yade import utils

############################################
### DEFINING VARIABLES AND MATERIALS ###
############################################

key='_Triax-J2_'
intRadius= 1

mn,mx=Vector3(0,0,0),Vector3(.1,.1,.1) # corners of the initial packing

## create materials for spheres and plates
id_Mat=O.materials.append(JCFpmMat())
Mat=O.materials[id_Mat]

#frictionless walls
O.materials.append(FrictMat(label='walls'))

## create walls around the packing
walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)

## use a SpherePack object to generate a random loose particles packing
sp=pack.SpherePack()
sp.makeCloud(minCorner=mn,maxCorner=mx,rMean=.029,rRelFuzz=0.0,periodic=False,num=5000)
O.bodies.append([sphere(c,r,material=Mat) for c,r in sp])

relRadList1=[1,1]
relPosList1=[[0,0,0],[.5,.5,.5]]
templates= []
templates.append(clumpTemplate(relRadii=relRadList1,relPositions=relPosList1))
O.bodies.replaceByClumps(templates,[1.0], discretization=5)

###########################
## DEFINING ENGINES ###
###########################

triax=TriaxialStressController(
 thickness = 0,
 stressMask = 7,
 internalCompaction=False,
)

newton=NewtonIntegrator(damping=.2, gravity=[0,0,0])
########################################
#Modified engine
##################################
O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius),Bo1_Box_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius),Ig2_Box_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys(),Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=10, label='jcf')],
                [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(smoothJoint=True,label='interactionLaw', recordCracks=True),Law2_ScGeom_FrictPhys_CundallStrack()]
        ),
        GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5),
        triax,
        TriaxialStateRecorder(iterPeriod=100,file='J2_Triaxial,'+key),
        newton
]

triax.goal1=triax.goal2=triax.goal3=-150000
O.step()

Revision history for this message
Janek Kozicki (cosurgi) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.