New question #697779 on Yade: https://answers.launchpad.net/yade/+question/697779
Hi, I use the PeriodicFlowEngine to simulate the erosion, I get such warning: CHOLMOD warning: matrix not positive definite. file: ../Supernodal/t_cholmod_super_numeric.c line: 911 something went wrong in Cholesky factorization, use LDLt as fallback this time1 Segmentation fault (core dumped) I am looking forward to your help ? Thanks a lot ! My code is shown as follow: ##______________ First section, generate sample_________ from __future__ import print_function from yade import pack, qt, plot from math import * nRead=readParamsFromTable( ## model parameters num_spheres=100, targetPorosity= .4, confiningPressure=-100000, ## material parameters compFricDegree=15,#contact friction during the confining phase finalFricDegree=30,#contact friction during the deviatoric loading young=2e8, poisson=.2, density=2600, alphaKr=7.5, alphaKtw=0, competaRoll=.22, finaletaRoll=.22, etaTwist=0, normalCohesion=0, shearCohesion=0, ## fluid parameters fluidDensity=1000, dynamicViscosity=.001, ## control parameters damp=0, stabilityThreshold=.001, ## output specifications filename='suffusion', unknowOk=True ) from yade.params.table import * O.periodic=True O.cell.hSize=Matrix3(1,0,0, 0,1,0, 0,0,1) # create materials for spheres #shear strength is the sum of friction and adhesion, so the momentRotationLaw=True O.materials.append(CohFrictMat(alphaKr=alphaKr,alphaKtw=alphaKtw,density=density,etaRoll=competaRoll,etaTwist=etaTwist,frictionAngle=radians(compFricDegree),momentRotationLaw=True,normalCohesion=normalCohesion,poisson=poisson,shearCohesion=shearCohesion,young=young,label='spheres')) # generate particles packing sp=pack.SpherePack() sp.makeCloud((0,0,0),(1,1,1),-1,0.3333,num_spheres,False, 0.95,seed=1) sp.toSimulation(material='spheres') O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label='contact',setCohesionNow=False,setCohesionOnNewContacts=False)], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True,always_use_moment_law=True)], ), PeriodicFlowEngine(dead=1,label="flow"),#introduced as a dead engine for the moment, see 2nd section GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), PeriTriaxController(label='triax', # specify target values and whether they are strains or stresses goal=(confiningPressure,confiningPressure,confiningPressure), stressMask=7, # type of servo-control, the strain rate isn't determined, it shloud check the unbalanced force dynCell=True,maxStrainRate=(10,10,10), # wait until the unbalanced force goes below this value maxUnbalanced=stabilityThreshold,relStressTol=1e-3, doneHook='compactionFinished()' ), NewtonIntegrator(damping=0) ] import sys def compactionFinished(): # after sample preparation, save the state O.save('compactedState'+filename+'.yade.gz') print('Compacted state saved', 'porosity', porosity()) # next time, called python command triax.doneHook='' O.pause() O.run() O.wait() #B. Activate flow engine flow.dead=0 flow.defTolerance=-1 flow.meshUpdateInterval=-1 flow.useSolver=3 flow.permeabilityFactor=1 flow.viscosity=10 flow.gradP=Vector3(0,1,0) flow.duplicateThreshold=0.3 flow.updateTriangulation=True O.run(2,1) csdList=flow.getConstrictionsFull() print(len(O.bodies),len(csdList),'finished') flow.dead=1 print(O.bodies[10].shape.radius) for i in range(10,80): O.bodies.erase(i) print(len(O.bodies)) O.run(1000,True) O.engines=O.engines[0:3]+O.engines[4:] O.step() O.step() O.engines=O.engines[0:3]+[PeriodicFlowEngine(dead=0,label="flow")]+O.engines[3:] flow.defTolerance=-1 flow.meshUpdateInterval=-1 flow.useSolver=3 flow.permeabilityFactor=1 flow.viscosity=10 flow.gradP=Vector3(0,1,0) flow.duplicateThreshold=0.3 flow.updateTriangulation=True O.run(2,1) csdList1=flow.getConstrictionsFull() print(len(csdList1)) -- 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