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

Reply via email to