← Back to team overview

yade-users team mailing list archive

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