Hello, you have to specify sigmaT parameter of CpmMat cheers Jan
2015-06-21 2:26 GMT+02:00 Shenyang Cai <[email protected] >: > 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 protected] > Unsubscribe : https://launchpad.net/~yade-users > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~yade-users Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp

