Re: [Yade-users] [Question #697195]: How to set the PeriodicFlowEngine

2021-05-24 Thread Zhicheng Gao
Question #697195 on Yade changed:
https://answers.launchpad.net/yade/+question/697195

Status: Answered => Solved

Zhicheng Gao confirmed that the question is solved:
Thanks Bruno Chareyre, that solved my question.

-- 
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


Re: [Yade-users] [Question #697195]: How to set the PeriodicFlowEngine

2021-05-24 Thread Bruno Chareyre
Question #697195 on Yade changed:
https://answers.launchpad.net/yade/+question/697195

Bruno Chareyre proposed the following answer:
As the name suggests, PeriodicFlowEngine is for periodic (no-)boundary
condition. So no it is not really a "boundary" value problem. It is a
periodic field problem.

flow.pressureForce=True will compute the drag forces (from both pressure
and viscous stress) resulting from macroscopic sliding velocity between
the two phases.

The other flags are related to lubrication forces: short range pair 
interactions playing against the relative movement of particles. These forces 
were added on the top of the drag forces _after_ Catalano 2011.
See [2,3]

[2] https://link.springer.com/content/pdf/10.1007/s10035-015-0560-6.pdf
[3] https://www.sciencedirect.com/science/article/pii/S0032591020305064

Bruno

-- 
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


Re: [Yade-users] [Question #697195]: How to set the PeriodicFlowEngine

2021-05-24 Thread Zhicheng Gao
Question #697195 on Yade changed:
https://answers.launchpad.net/yade/+question/697195

Zhicheng Gao posted a new comment:
Dear Bruno,
Thank you for your response. In my mind, the flow problem is a boundary value 
problem, so the PeriodicFlowEngine should get the position and value of the 
boundary. I have read the documentation on PeriodicFlowEngine, I don’t know if 
my understanding is wrong. In my opinion, boundaryUseMaxMin is used to set the 
boundary position. The default Boolean vector of boundaryUseMaxMin is true on 
six faces, which means using the max-min coordinates of X, Y, and Z to add 
spheres as the boundary. Otherwise, the wall position is used. I saw the 
related problem in Answer #3 in 
https://answers.launchpad.net/yade/+question/688195.

another question, I have read your paper 'Pore-Scale Modeling of Viscous
Flow and Induced Forces in Dense Sphere Packings', in that paper, the
total force generated on one particle by the fluid includes the effects
of absolute pressure and viscous stress.  So I set
flow.pressureForce=True, flow.viscousShear=True,
flow.viscousNormalBodyStress=True, flow.viscousShearBodyStress=True,
flow.normalLubrication=True, flow.shearLubrication=True.  Is that
correct?  The complete code looks like this:

from yade import pack,qt,utils,ymport
from yade import export
from yade import timing
from yade import plot
from builtins import range
import numpy
import time
from math import *

O.load('prova.xml')

num_spheres=5000
young=750.e6
finalFricDegree = 0.35
graindensity=2600.0
poisson=0.17
en=0.9
sigmaIso=-150.e3
radiusR=0.001/2.
D50=radiusR*2.0

#O.materials.append(FrictViscoMat(young=young,poisson=poisson,frictionAngle=compFricDegree,density=graindensity,betan=0.0336,label='spheres'))

triax=PeriTriaxController(
 dynCell=True,
 mass=0.2,
 goal=[sigmaIso,sigmaIso,sigmaIso],
 stressMask=7,
 maxStrainRate=[0.0001,0.0001,0.0001],
 label='triax')

newton=NewtonIntegrator(damping=0.1)

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb()]),
 InteractionLoop(
 [Ig2_Sphere_Sphere_ScGeom()],
 [Ip2_FrictViscoMat_FrictViscoMat_FrictViscoPhys()],
 [Law2_ScGeom_FrictViscoPhys_CundallStrackVisco(traceEnergy=True)]
 ),
 PeriodicFlowEngine(dead=1,label="flow"),
 
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5),
 triax,
 newton
]

while 1:
 O.run(1000, True)
 unb=unbalancedForce()
 if unb<0.1:
  break

triax.dead=0
flow.dead=0

flow.pressureForce=True
flow.viscousShear=True
flow.viscousNormalBodyStress=True
flow.viscousShearBodyStress=True
flow.normalLubrication=True
flow.shearLubrication=True

flow.defTolerance=0.1
flow.meshUpdateInterval=200
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=0.001
flow.bndCondIsPressure=[0,0,0,0,1,1]
flow.bndCondValue=[0,0,0,0,0,0]
GlobalStiffnessTimeStepper.dead=True
O.dt=min(0.5*PWaveTimeStep(),0.5*1./1200.*pi/flow.viscosity*graindensity*(D50/2.)**2)
O.dynDt=False

O.run(10,1)

while 1:
 O.run(5000, True)
 unb=unbalancedForce()
 if unb<0.0001:
  if O.cell.velGrad[0,1]<0.01:
   O.cell.velGrad=O.cell.velGrad+Matrix3(0,0.001,0, 0,0,0, 0,0,0)
   
O.dt=min(0.5*PWaveTimeStep(),0.5*1./1200.*pi/flow.viscosity*graindensity*(D50/2.)**2)
  if O.cell.velGrad[0,1]>0.01:
   break

-- 
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


Re: [Yade-users] [Question #697195]: How to set the PeriodicFlowEngine

2021-05-24 Thread Bruno Chareyre
Question #697195 on Yade changed:
https://answers.launchpad.net/yade/+question/697195

Status: Open => Answered

Bruno Chareyre proposed the following answer:
Hi,

1/ No, if it is periodic there is just no walls. You simply impose a
macroscopic pressure gradient. (well... it really depends what you are
trying to achieve, not clear from the question).

2/ As for "should I set", it really depends on what you are trying to
simulate, so I cannot answer.

Bruno

-- 
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


[Yade-users] [Question #697195]: How to set the PeriodicFlowEngine

2021-05-21 Thread Zhicheng Gao
New question #697195 on Yade:
https://answers.launchpad.net/yade/+question/697195

I build the scene in the periodic boundary, so there are no walls. Does that 
mean I should use flow.boundaryUseMaxMin= [1,1,1,1,1,1], given that the label 
of PeriodicFlowEngine is set to flow.
Another question, I have read [1], the total force generated on one particle by 
the fluid includes the effects of  absolute pressure and viscous stress. Thus, 
should I set flow.pressureForce=True, flow.viscousShear=True, 
flow.viscousNormalBodyStress=True, flow.viscousShearBodyStress=True, 
flow.normalLubrication=True, flow.shearLubrication=True?

-- 
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


Re: [Yade-users] [Question #697195]: How to set the PeriodicFlowEngine

2021-05-21 Thread Zhicheng Gao
Question #697195 on Yade changed:
https://answers.launchpad.net/yade/+question/697195

Zhicheng Gao gave more information on the question:
[1]https://link.springer.com/article/10.1007/s11242-011-9915-6

-- 
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