← Back to team overview

yade-users team mailing list archive

[Question #268374]: Assertion `!isnan(mat1->sigmaT)' failed.

 

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

Hi all,

My Yade gives the error message which is 
"
python: /tmp/buildd/yadedaily-1.14.0-54-f44c022~trusty/pkg/dem/ConcretePM.cpp:46: virtual void Ip2_CpmMat_CpmMat_CpmPhys::go(const boost::shared_ptr<Material>&, const boost::shared_ptr<Material>&, const boost::shared_ptr<Interaction>&): Assertion `!isnan(mat1->sigmaT)' failed.
Aborted (core dumped)
"

when running the following script:



from yade import pack, export

#setting frict materials -----
fyoung = 8e9
fpoisson = 0.25
frictAng = 0
fden = 2500

#setting rock materials -----
ryoung = 2e7
rpoisson = 0
rfrictAng = 0
reps = 0.06
rden = 1000
                             

frict = O.materials.append(FrictMat(
    young = fyoung,
    poisson = fpoisson,
    frictionAngle = frictAng,
    density = fden))

temp_con = O.materials.append(CpmMat(
    young = ryoung,
    poisson = rpoisson,
    frictionAngle = rfrictAng,
    epsCrackOnset = 1e-13,
    density = rden,
    relDuctility = 0))
                                    


#building boxes -----
box_length = 500.0
box_height = 80.0
box_depth = 4.0

box = geom.facetBox((box_length/2, box_depth/2, box_height/2),
                    (box_length/2, box_depth/2, box_height/2),
                    wallMask = 31,
                    material = frict)
                    

O.bodies.append(box)


#adding deposit -----
sample = pack.SpherePack()
sample.makeCloud((0, 0.375, 0), (box_length, box_depth - 0.375, 100), rMean = 0.75, rRelFuzz = 0.25)
s = sample.toSimulation(material = temp_con)


#defining engines -----
thres = 9000
O.engines = [
    ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor = 1, label = 'ctr1'), Bo1_Facet_Aabb(), Bo1_Wall_Aabb()], verletDist = 0),
    InteractionLoop(
        [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor = 1, label = 'ctr2'), Ig2_Facet_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom()],
        [Ip2_CpmMat_CpmMat_CpmPhys(cohesiveThresholdIter = thres), Ip2_FrictMat_CpmMat_FrictPhys(), Ip2_FrictMat_FrictMat_FrictPhys()],
        [Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGeom_CpmPhys_Cpm()],
        ),
    
    NewtonIntegrator(damping = 0.3, gravity = (0, 0, -9.81)),
    PyRunner(command = 'modifyLayer()', iterPeriod = 100, label = 'controller'),
    ]
    
O.dt = 0.2 *utils.PWaveTimeStep()
    
height = 20  
    
def modifyLayer():
    if O.iter < thres:
        return
    if O.iter > 11000:
        O.pause()
    for i in s:
        if O.bodies[i].state.pos[2] > height:
            O.bodies.erase(i) #delete spheres that are above the target height
            s.remove(i) #also,delete the corresponding ids in the id list
            
    export.text('sample.txt')   



I don't know what has gone wrong with it.

Thanks a lot!

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.


Follow ups