Hello List,
I would like to apply a constant flux boundary condition to the entire right
vertical face of an irregular geometry that was constructed with Gmsh. Suppose
the geometry looks something like the sketch below.
y
|
|___ x
_______
flux{ | | } flux
flux{ | | } flux
flux{ | / } flux
flux{ | / } flux
flux{ | | } flux
flux{ | | } flux
flux{ | | } flux
flux{ | \ } flux
flux{ | \ } flux
flux{ | | }flux
flux{ |______ | }flux
| | |
xo x1 x2
When I use the following in my BCs to get the mesh faces:
>>> BCs = (FixedValue(faces=mesh.getFacesRight(), value=1.),
>>> FixedValue(faces=mesh.getFacesLeft(), value=0))
the flux is only applied alont the right face where x = x2 as shown here:
_______
0 { | | } 1
0 { | | } 1
0 { | /
0 { | /
0 { | |
0 { | |
0 { | |
0 { | \
0 { | \
0 { | | } 1
0 { |______ | } 1
xo x1 x2
I want to apply the flux so that it covers all x >= x1 on the right face. I
get the error "Face list has interior faces" with the following:
>>> x, y = mesh.getFaceCenters()
>>> facesRight = (mesh.getFaces() & (x == x1) | (x > x1))
>>> BCs = (FixedValue(faces=facesRight(), value=1.),
>>> FixedValue(faces=mesh.getFacesLeft(), value=0))
Should I break the right face into 4 sections, then apply the flux to each
section face. Is there a way to apply boundary conditions to specific lines
extracted from my irregular geometry constructed with Gmsh? For instance apply
flux to the Line(3), Circle(4), Line(5), etc. as constructed in the msh file.
For example:
Include Line(3) and Line(7)
>>> faceRight1 = mesh.getFacesRight()
Circle(4)
>>> faceRight2 = (mesh.getFaces() & (x == Circle(4)) | (y == Circle(4)))
Line(5)
>>> faceRight3 = (mesh.getFaces() & (x == Line(5)) | (y == Line(5)))
Line(6)
>>> faceRight4 = (mesh.getFaces() & (x == Circle(6)) | (y == Circle(6)))
Line(2)
_ _______
y5 | |
_ | | Line(3)
y4 | /
_ | / Circle(4)
y3 | |
Line(1) | | Line(5)
_ | |
y2 | \
_ | \ Circle(6)
y1 | |
_ |______ | Line(7)
yo
Line(8)
Also, If the geometry consists of "fillets" in the locations above, which are
indicated as Circle(4) and Circle(5), is the flux always going to be orthogonal
to all cell faces along the two arcs where my mesh has discretized the fillet
into several straight lines?
Thanks for any suggestions!
Jeff