Dirichlet BC on extruded mesh with discontinuous function space
Dear Firedrakers, I'm constructing a DG space on an extruded mesh. meshbase = RectangleMesh(Nx, Ny, Lx, Ly, quadrilateral=True) mesh = ExtrudedMesh(meshbase, Nz, Delta_z) horiz_elt = FiniteElement("DG", quadrilateral, 0) vert_elt = FiniteElement("DG", interval, 0) elt = OuterProductElement(horiz_elt, vert_elt) DG = FunctionSpace(mesh, elt) W=DG*DG Now I would like to impose Dirchlet BC on one of the boundaries. I tried bc0 = DirichletBC(W.sub(0), Expression("1.0e7"), 2,method="geometric") and get a ValueError: Geometric boundary conditions are not yet supported on extruded meshes Using the standard topological way, seems to have no effect at all. Is there a way around this? I would be fine with fixing the value on the most outer cell layer, if that is possible... Henrik -- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University ------------------------------------------------------ Mathieustr. 10 | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 ------------------------------------------------------ http://www.eonerc.rwth-aachen.de/GGE hbuesing@eonerc.rwth-aachen.de ------------------------------------------------------
Dear Henrik, You’ve got a DG0 space, i.e. all your nodes are in the cell centres. Neither topologically nor geometrically have you any nodes on the boundary faces. Maybe you want to impose your BC weakly? Regards, Miklos
On 23 Sep 2015, at 12:05, Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de> wrote:
Dear Firedrakers,
I’m constructing a DG space on an extruded mesh.
meshbase = RectangleMesh(Nx, Ny, Lx, Ly, quadrilateral=True) mesh = ExtrudedMesh(meshbase, Nz, Delta_z) horiz_elt = FiniteElement("DG", quadrilateral, 0) vert_elt = FiniteElement("DG", interval, 0) elt = OuterProductElement(horiz_elt, vert_elt) DG = FunctionSpace(mesh, elt) W=DG*DG
Now I would like to impose Dirchlet BC on one of the boundaries. I tried bc0 = DirichletBC(W.sub(0), Expression("1.0e7"), 2,method="geometric")
and get a
ValueError: Geometric boundary conditions are not yet supported on extruded meshes
Using the standard topological way, seems to have no effect at all.
Is there a way around this? I would be fine with fixing the value on the most outer cell layer, if that is possible…
Henrik
-- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University ------------------------------------------------------ Mathieustr. 10 | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 ------------------------------------------------------ http://www.eonerc.rwth-aachen.de/GGE <http://www.eonerc.rwth-aachen.de/GGE> hbuesing@eonerc.rwth-aachen.de <mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk <mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake <https://mailman.ic.ac.uk/mailman/listinfo/firedrake>
I'm sorry, geometric should still do the right thing on DG0. However, geometric BCs are not wired up for extruded yet. :( ________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Miklos Homolya [m.homolya14@imperial.ac.uk] Sent: 23 September 2015 11:09 To: firedrake Subject: Re: [firedrake] Dirichlet BC on extruded mesh with discontinuous function space Dear Henrik, You’ve got a DG0 space, i.e. all your nodes are in the cell centres. Neither topologically nor geometrically have you any nodes on the boundary faces. Maybe you want to impose your BC weakly? Regards, Miklos On 23 Sep 2015, at 12:05, Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: Dear Firedrakers, I’m constructing a DG space on an extruded mesh. meshbase = RectangleMesh(Nx, Ny, Lx, Ly, quadrilateral=True) mesh = ExtrudedMesh(meshbase, Nz, Delta_z) horiz_elt = FiniteElement("DG", quadrilateral, 0) vert_elt = FiniteElement("DG", interval, 0) elt = OuterProductElement(horiz_elt, vert_elt) DG = FunctionSpace(mesh, elt) W=DG*DG Now I would like to impose Dirchlet BC on one of the boundaries. I tried bc0 = DirichletBC(W.sub(0), Expression("1.0e7"), 2,method="geometric") and get a ValueError: Geometric boundary conditions are not yet supported on extruded meshes Using the standard topological way, seems to have no effect at all. Is there a way around this? I would be fine with fixing the value on the most outer cell layer, if that is possible… Henrik -- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University ------------------------------------------------------ Mathieustr. 10 | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 ------------------------------------------------------ http://www.eonerc.rwth-aachen.de/GGE hbuesing@eonerc.rwth-aachen.de<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
Von: firedrake-bounces@imperial.ac.uk [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von Miklos Homolya Gesendet: 23 September 2015 12:10 An: firedrake@imperial.ac.uk Betreff: Re: [firedrake] Dirichlet BC on extruded mesh with discontinuous function space Dear Henrik, You've got a DG0 space, i.e. all your nodes are in the cell centres. Neither topologically nor geometrically have you any nodes on the boundary faces. Maybe you want to impose your BC weakly? [Buesing, Henrik] Could you explain a little, how I can impose Dirichlet BC in this way? Thank you! Henrik Regards, Miklos On 23 Sep 2015, at 12:05, Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: Dear Firedrakers, I'm constructing a DG space on an extruded mesh. meshbase = RectangleMesh(Nx, Ny, Lx, Ly, quadrilateral=True) mesh = ExtrudedMesh(meshbase, Nz, Delta_z) horiz_elt = FiniteElement("DG", quadrilateral, 0) vert_elt = FiniteElement("DG", interval, 0) elt = OuterProductElement(horiz_elt, vert_elt) DG = FunctionSpace(mesh, elt) W=DG*DG Now I would like to impose Dirchlet BC on one of the boundaries. I tried bc0 = DirichletBC(W.sub(0), Expression("1.0e7"), 2,method="geometric") and get a ValueError: Geometric boundary conditions are not yet supported on extruded meshes Using the standard topological way, seems to have no effect at all. Is there a way around this? I would be fine with fixing the value on the most outer cell layer, if that is possible... Henrik -- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University ------------------------------------------------------ Mathieustr. 10 | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 ------------------------------------------------------ http://www.eonerc.rwth-aachen.de/GGE hbuesing@eonerc.rwth-aachen.de<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk<mailto:firedrake@imperial.ac.uk> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
Dear Firedrakers, Since https://github.com/firedrakeproject/firedrake/pull/600 has been merged will bc0 = DirichletBC(W.sub(0), Expression("1.0e7"), 2,method="geometric") now work on a DG space on an extruded mesh (see below for actual code)? Do I just have to update firedrake for this to work? Thank you! Henrik -- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University ------------------------------------------------------ Mathieustr. 10 | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 ------------------------------------------------------ http://www.eonerc.rwth-aachen.de/GGE hbuesing@eonerc.rwth-aachen.de ------------------------------------------------------ Von: firedrake-bounces@imperial.ac.uk [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von Buesing, Henrik Gesendet: 23 September 2015 12:06 An: firedrake@imperial.ac.uk Betreff: [firedrake] Dirichlet BC on extruded mesh with discontinuous function space Dear Firedrakers, I'm constructing a DG space on an extruded mesh. meshbase = RectangleMesh(Nx, Ny, Lx, Ly, quadrilateral=True) mesh = ExtrudedMesh(meshbase, Nz, Delta_z) horiz_elt = FiniteElement("DG", quadrilateral, 0) vert_elt = FiniteElement("DG", interval, 0) elt = OuterProductElement(horiz_elt, vert_elt) DG = FunctionSpace(mesh, elt) W=DG*DG Now I would like to impose Dirchlet BC on one of the boundaries. I tried bc0 = DirichletBC(W.sub(0), Expression("1.0e7"), 2,method="geometric") and get a ValueError: Geometric boundary conditions are not yet supported on extruded meshes Using the standard topological way, seems to have no effect at all. Is there a way around this? I would be fine with fixing the value on the most outer cell layer, if that is possible... Henrik -- Dipl.-Math. Henrik Büsing Institute for Applied Geophysics and Geothermal Energy E.ON Energy Research Center RWTH Aachen University ------------------------------------------------------ Mathieustr. 10 | Tel +49 (0)241 80 49907 52074 Aachen, Germany | Fax +49 (0)241 80 49889 ------------------------------------------------------ http://www.eonerc.rwth-aachen.de/GGE hbuesing@eonerc.rwth-aachen.de<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------
participants (3)
- 
                
                Buesing, Henrik
- 
                
                Homolya, Miklós
- 
                
                Miklos Homolya