Re: [Yade-users] [Question #702425]: 2PFV - Cell Velocity

2022-07-11 Thread Luis Barbosa
Question #702425 on Yade changed:
https://answers.launchpad.net/yade/+question/702425

Status: Answered => Solved

Luis Barbosa confirmed that the question is solved:
Thanks Robert Caulk, 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 #702425]: 2PFV - Cell Velocity

2022-07-11 Thread Robert Caulk
Question #702425 on Yade changed:
https://answers.launchpad.net/yade/+question/702425

Status: Open => Answered

Robert Caulk proposed the following answer:
Hello,

You need to provide the coordinates of the cell to this function [1]:

unsat.getCellVelocity((1,1,1))


To get velocity at the location of (1,1,1).

Cheers,

Robert

[1]https://yade-
dem.org/doc/yade.wrapper.html#yade.wrapper.FlowEngine.getCellVelocity

-- 
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 #702425]: 2PFV - Cell Velocity

2022-07-08 Thread Luis Barbosa
New question #702425 on Yade:
https://answers.launchpad.net/yade/+question/702425

Hi guys,

I am using 2PFV, but have trouble to getCellVelocity.

Triangulation does not exist. Sorry.
Traceback (most recent call last):
  File "/usr/bin/yade", line 343, in runScript
execfile(script,globals())
  File "/usr/lib/python3/dist-packages/past/builtins/misc.py", line 87, in 
execfile
exec_(code, myglobals, mylocals)
  File "matrix_drain_scaled21_Calibrado2.py", line 344, in 
celsVel1=unsat.getCellVelocity(ii)
Boost.Python.ArgumentError: Python argument types in
TwoPhaseFlowEngineT.getCellVelocity(TwoPhaseFlowEngine, int)
did not match C++ signature:

getCellVelocity(yade::TemplateFlowEngine_TwoPhaseFlowEngineT >, 
yade::CGT::FlowBoundingSphereLinSolv >, 
yade::CGT::FlowBoundingSphere > > > > {lvalue}, Eigen::Matrix 
pos)




I modified the example - 
https://gitlab.com/yade-dev/trunk/-/blob/master/examples/FluidCouplingPFV/oedometer.py


###
## Drainage Test under oedometer conditions ###
###
##Instantiate a two-phase engine
unsat=TwoPhaseFlowEngine()
#meanDiameter=(O.bodies[-1].shape.radius + O.bodies[6].shape.radius) / 2.

##set boundary conditions, the drainage is controlled by decreasing W-phase 
pressure and keeping NW-phase pressure constant
unsat.bndCondIsPressure=[0,0,1,1,0,0]
unsat.bndCondIsWaterReservoir=[0,0,1,0,0,0]
unsat.bndCondValue=[0,0,-1e8,0,0,0]
unsat.isPhaseTrapped=True #the W-phase can be disconnected from its reservoir
unsat.initialization()
unsat.surfaceTension = 0.0728
unsat.updateTriangulation=True
unsat.meshUpdateInterval=200
unsat.defTolerance=0.3

#unsat.breakControlledRemesh=True


#start invasion, the data of normalized pc-sw-strain will be written into 
pcSwStrain.txt

f1=open('MatrixCellsa4'+str(YM)+'_'+str(BS)+'.txt',"w")

ts=O.dt
pgstep= 40 #4500*ts #30Pa/s
print (pgstep)
pgmax= 1#9316 #Pa
mi=0.00089 #Pa.s

for pg in arange(1.0e-8,pgmax,pgstep):
  unsat.bndCondValue=[0,0,(-1.0)*pg,0,0,0]
  unsat.invasion()
  unsat.computeCapillaryForce()
  unsat.permeabilityMap=True

  q=unsat.averageVelocity()
  L=0.0016*(1+triax.strain[1]+ei1)
  P=abs((mi*q*L)/pg)
  
print(unsat.getSaturation(isSideBoundaryIncluded=False),pg,-triax.strain[1],P,triax.porosity)

  for b in O.bodies:
O.forces.setPermF(b.id, unsat.fluidForce(b.id))

  if pg==520.0001:
cels=unsat.nCells()
celsW1 = [0.0]*cels
celsV1 = [0.0]*cels
celsBar1 = [0.0]*cels
celsPore1 = [0.0]*cels
celsVel1 = [0.0]*cels
celsSA1 = [0.0]*cels
for ii in range(cels):
  celsW1=unsat.getCellIsWRes(ii)
  celsV1=unsat.getCellVolume(ii)
  celsBar1=unsat.getCellCenter(ii)
  celsPore1=unsat.getPoreThroatRadiusList(ii)
  celsVel1=unsat.getCellVelocity(ii)
  celsSA1=unsat.getSolidSurfaceAreaPerParticle(ii)
  f1.write(str(celsW1)+" "+str(celsV1)+" "+str(celsBar1)+" 
"+str(celsPore1)+" "+str(celsVel1)+" "+str(celsSA1)+"\n")
f1.close()

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