yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #15402
[Question #653502]: Impose boundary conditions to FlowEngine with a predicate as surface
New question #653502 on Yade:
https://answers.launchpad.net/yade/+question/653502
I have created a .gts surface and filled with spheres. I want to incorporate the flow engine now.
This is the code I have created:
from yade import pack
import gts, os.path, locale
from yade import qt
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') #gts is locale-dependend. If, for example, german locale is used, gts.read()-function does not import floats normally
surf=gts.read(open('../mesh/sphere.gts'))
idTissue=O.materials.append(FrictMat(young=500.0,poisson=.35,frictionAngle=.6,label="concrete"))
pred=pack.inGtsSurface(surf)
aabb=pred.aabb()
dim0=aabb[1][0]-aabb[0][0];
# brain radius
dim0 = dim0/2.0
# small
radius=dim0/20. # get some characteristic dimension, use it for radius
O.bodies.append(pack.regularHexa(pred, radius=radius, gap=0.0, material=idTissue))
O.bodies.append(pack.gtsSurface2Facets(surf,wire=True))
print "skullId = ", skullId
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()],label='collider'),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()],
),
NewtonIntegrator(damping=0.1,gravity=[0,0,0]),
FlowEngine(label="flow"),#introduced as a dead engine for the moment, see 2nd section
]
O.dt=0.1*PWaveTimeStep()
O.saveTmp()
O.timingEnabled=True
O.trackEnergy=True
a = qt.View()
In this way the I get infinite K1! error. I guess it is due to the fact that I have not imposed any boundary condition.
I do not have the standard 6 walls because my domain is a sphere and it has curved walls. Is there any way to modify the function
bndCondIsPressure(=vector<bool>(6, false))
for example?
Thanks!
--
You received this question notification because your team yade-users is
an answer contact for Yade.