← Back to team overview

yade-users team mailing list archive

Re: [Question #701228]: negative volume for an ordinary pore (temp warning, should still be safe)

 

Question #701228 on Yade changed:
https://answers.launchpad.net/yade/+question/701228

Description changed to:
Hi,

I am measuring pore radius and pore volume, and other pore info using
the TwoPhaseFlowEngine() for my packing of sphere (using ymport

I was trying with include TwoPhaseEngine in O.engine, and used
savePoreNetwork to extract pore data. With this method I am getting
message saying: "Failed to triangulate body"

Best regards,
Mithu

Here is my code:
import os
import numpy as np
import pandas as pd
from yade import pack, ymport
from yade import utils, plot, timing

O=Omega()
path_data='/home/mithushan/Swelling/PH101_20_1mm_removed_die/Particle_pos'
filename='PH101_particle_pos_20_1_1e-06.txt'

ymport_pos=ymport.text(os.path.join(path_data,filename), shift=Vector3(0, 0, 0), scale=1.0)
O.bodies.append(ymport_pos)

O.engines = [
  TwoPhaseFlowEngine(dead=0,label="flow"),
]


press=1000.    

flow.dead=0
flow.meshUpdateInterval=-1
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=0.1

flow.bndCondIsWaterReservoir=[0,0,1,0,0,0]

flow.bndCondIsPressure=[0,0,1,0,0,0]
flow.bndCondValue=[0,0,press,0,0,0]
flow.boundaryUseMaxMin=[0,0,0,0,0,0]
flow.iniVoidVolumes=True

flow.surfaceTension = 0.0
flow.drainageFirst=False
flow.isDrainageActivated=False
flow.isImbibitionActivated=True
flow.isCellLabelActivated=True
flow.initialization()
cs=flow.getClusters()
c0=cs[1] 

#flow.getCellVoidVolume(4)
#flow.getCellInSphereRadius(100)
flow.savePoreNetwork()


#unsat = TwoPhaseFlowEngine()
#unsat.initialization()
#unsat.getCellVoidVolume(100)
#unsat.getCellInSphereRadius(100)
#unsat.savePoreNetwork()

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.