New question #670765 on Yade: https://answers.launchpad.net/yade/+question/670765
Hi, I'm working on DEM-PFV coupling and get some problems. 1)When I run the simulation, I get such warning: negative volume for an ordinary pore (temp warning, should still be safe) 2)I start the simulation through the controller and inspect it in the 3D view, I find that the small particles are not moving under the fluid force. The FlowEngine is added before the newton integrator, why doesn't the fluid force acting on the particles? Can anyone give me some suggestion? Thanks a lot. I'm running Yade 2018.02b, Ubuntu 18.04. My code is shown as follow: ==================================================== from yade import pack num_spheres=1000# number of spheres young=1e6 compFricDegree = 3 # initial contact friction during the confining phase finalFricDegree = 30 # contact friction during the deviatoric loading mn,mx=Vector3(0,0,0),Vector3(2,2,6) # corners of the initial packing O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=radians(compFricDegree),density=2600,label='spheres')) O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='walls')) walls=aabbWalls([mn,mx],thickness=0,material='walls') wallIds=O.bodies.append(walls) sp=pack.SpherePack() sp.makeCloud(mn,mx,rMean=0.3,rRelFuzz=0,num=100,periodic=False) sp.makeCloud(mn,mx,rMean=0.03,rRelFuzz=0,num=900,periodic=False) sp.toSimulation(material='spheres') triax=TriaxialStressController( thickness = 0, stressMask = 7, max_vel = 0.005, internalCompaction=0, # If true the confining pressure is generated by growing particles wall_bottom_activated=False ) newton=NewtonIntegrator(damping=0.2) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()],label="iloop" ), FlowEngine(dead=1,label="flow"),#introduced as a dead engine for the moment, see 2nd section GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), triax, newton ] triax.goal1=triax.goal2=triax.goal3=-10000 while 1: O.run(1000, True) unb=unbalancedForce() if unb<0.001 and abs(-10000-triax.meanStress)/10000<0.001: break setContactFriction(radians(finalFricDegree)) ## ______________ Oedometer section _________________ triax.stressMask=7 triax.goal1=triax.goal2=triax.goal3=-10000 #B. Activate flow engine and set boundary conditions in order to get permeability flow.dead=0 flow.defTolerance=0.3 flow.meshUpdateInterval=200 flow.useSolver=3 flow.permeabilityFactor=1 flow.viscosity=10 flow.bndCondIsPressure=[0,0,0,0,1,1] flow.bndCondValue=[0,0,0,0,10,0] flow.boundaryUseMaxMin=[0,0,0,0,0,0] O.dt=0.1e-3 O.dynDt=False newton.damping=0 ====================================================== Best, Zhang Wenyue -- 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