Assertion `!isnan(mat1->sigmaT)' failed.

Asked by Shenyang Cai

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!

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
Last query:
Last reply:
Revision history for this message
Best Jan Stránský (honzik) said :
#1

Hello,
you have to specify sigmaT parameter of CpmMat
cheers
Jan

2015-06-21 2:26 GMT+02:00 Shenyang Cai <<email address hidden>
>:

> 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.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Shenyang Cai (sycai) said :
#2

Thanks Jan Stránský, that solved my question.