Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space
Hi Henrik, That is indeed the claim. Let us know if it works.... ;) David On Fri, 16 Oct 2015 at 12:09 Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de> wrote:
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
------------------------------------------------------
Hi David, I have updated the whole toolchain. And I have constructed a test example with geometric BC on a DG space with an extruded mesh (see attached code). This seems to work. Unfortunately my code now breaks with an error (see 2) below). During PyOP2 installation I also got a warning (see 1) below) Maybe something (unrelated to the geometric BC?) broke while updating PyOP2? Henrik 1) Warning during installation of pyop2: /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_requires' warnings.warn(msg) /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/site-packages/setuptools/dist.py:291: UserWarning: The version specified ('0.11.0-415-g450bf5b') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running build_ext 2) Error during execution of test_geometric_BC.py Traceback (most recent call last): File "test_geometric_BC.py", line 37, in <module> outfile << project(pw,V_out, name="Pressure") File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/projection.py", line 97, in project form_compiler_parameters=form_compiler_parameters) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 120, in solve _solve_varproblem(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 147, in _solve_varproblem solver.solve() File "<string>", line 2, in solve File "/home/hb111949/Code/PyOP2/pyop2/profiling.py", line 203, in wrapper return f(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/variational_solver.py", line 173, in solve self.snes.solve(None, v) File "PETSc/SNES.pyx", line 520, in petsc4py.PETSc.SNES.solve (src/petsc4py.PETSc.c:167382) File "PETSc/petscsnes.pxi", line 253, in petsc4py.PETSc.SNES_Function (src/petsc4py.PETSc.c:32821) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving_utils.py", line 193, in form_function with ctx._Fs[lvl].dat.vec_ro as v: File "/rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/home/hb111949/Code/PyOP2/pyop2/petsc_base.py", line 230, in vec_context self._force_evaluation() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 1566, in _force_evaluation _trace.evaluate(reads, writes) File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 170, in evaluate comp._run() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4042, in _run return self.compute() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4083, in compute fun = self._jitmodule File "/home/hb111949/Code/PyOP2/pyop2/utils.py", line 64, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/home/hb111949/Code/PyOP2/pyop2/sequential.py", line 151, in _jitmodule direct=self.is_direct, iterate=self.iteration_region) File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 203, in __new__ obj = make_obj() File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 193, in make_obj obj.__init__(*args, **kwargs) File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 700, in __init__ self.compile() File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 725, in compile if self._kernel._cpp: AttributeError: 'Kernel' object has no attribute '_cpp' Von: firedrake-bounces@imperial.ac.uk [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von David Ham Gesendet: 16 October 2015 15:01 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi Henrik, That is indeed the claim. Let us know if it works.... ;) David On Fri, 16 Oct 2015 at 12:09 Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: 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<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [mailto: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<mailto: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> ------------------------------------------------------
I'm not sure if this is the problem, but just a quick check: Clear you cache, and try again. To clear your cache, run scripts/firedrake-clean in the firedrake source directory. In general, it is suggested to clear your cache after an upgrade. ________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Buesing, Henrik [HBuesing@eonerc.rwth-aachen.de] Sent: 16 October 2015 14:32 To: firedrake Subject: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi David, I have updated the whole toolchain. And I have constructed a test example with geometric BC on a DG space with an extruded mesh (see attached code). This seems to work. Unfortunately my code now breaks with an error (see 2) below). During PyOP2 installation I also got a warning (see 1) below) Maybe something (unrelated to the geometric BC?) broke while updating PyOP2? Henrik 1) Warning during installation of pyop2: /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_requires' warnings.warn(msg) /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/site-packages/setuptools/dist.py:291: UserWarning: The version specified ('0.11.0-415-g450bf5b') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running build_ext 2) Error during execution of test_geometric_BC.py Traceback (most recent call last): File "test_geometric_BC.py", line 37, in <module> outfile << project(pw,V_out, name="Pressure") File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/projection.py", line 97, in project form_compiler_parameters=form_compiler_parameters) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 120, in solve _solve_varproblem(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 147, in _solve_varproblem solver.solve() File "<string>", line 2, in solve File "/home/hb111949/Code/PyOP2/pyop2/profiling.py", line 203, in wrapper return f(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/variational_solver.py", line 173, in solve self.snes.solve(None, v) File "PETSc/SNES.pyx", line 520, in petsc4py.PETSc.SNES.solve (src/petsc4py.PETSc.c:167382) File "PETSc/petscsnes.pxi", line 253, in petsc4py.PETSc.SNES_Function (src/petsc4py.PETSc.c:32821) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving_utils.py", line 193, in form_function with ctx._Fs[lvl].dat.vec_ro as v: File "/rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/home/hb111949/Code/PyOP2/pyop2/petsc_base.py", line 230, in vec_context self._force_evaluation() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 1566, in _force_evaluation _trace.evaluate(reads, writes) File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 170, in evaluate comp._run() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4042, in _run return self.compute() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4083, in compute fun = self._jitmodule File "/home/hb111949/Code/PyOP2/pyop2/utils.py", line 64, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/home/hb111949/Code/PyOP2/pyop2/sequential.py", line 151, in _jitmodule direct=self.is_direct, iterate=self.iteration_region) File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 203, in __new__ obj = make_obj() File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 193, in make_obj obj.__init__(*args, **kwargs) File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 700, in __init__ self.compile() File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 725, in compile if self._kernel._cpp: AttributeError: 'Kernel' object has no attribute '_cpp' Von: firedrake-bounces@imperial.ac.uk [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von David Ham Gesendet: 16 October 2015 15:01 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi Henrik, That is indeed the claim. Let us know if it works.... ;) David On Fri, 16 Oct 2015 at 12:09 Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: 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<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [mailto: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<mailto: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> ------------------------------------------------------
Hmm... also the firedrake-clean script fails with the error below... Traceback (most recent call last): File "scripts/firedrake-clean", line 3, in <module> from firedrake.ffc_interface import clear_cache, FFCKernel File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/__init__.py", line 31, in <module> from firedrake.assemble import * File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/assemble.py", line 10, in <module> from firedrake import assemble_expressions File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/assemble_expressions.py", line 17, in <module> from firedrake import function File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/function.py", line 12, in <module> from firedrake import functionspace File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/functionspace.py", line 13, in <module> from firedrake import dmplex ImportError: cannot import name dmplex -- Dipl.-Math. Henrik Büsing 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 [firedrake-bounces@imperial.ac.uk]" im Auftrag von "Homolya, Miklós [m.homolya14@imperial.ac.uk] Gesendet: Freitag, 16. Oktober 2015 15:46 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space I'm not sure if this is the problem, but just a quick check: Clear you cache, and try again. To clear your cache, run scripts/firedrake-clean in the firedrake source directory. In general, it is suggested to clear your cache after an upgrade. ________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Buesing, Henrik [HBuesing@eonerc.rwth-aachen.de] Sent: 16 October 2015 14:32 To: firedrake Subject: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi David, I have updated the whole toolchain. And I have constructed a test example with geometric BC on a DG space with an extruded mesh (see attached code). This seems to work. Unfortunately my code now breaks with an error (see 2) below). During PyOP2 installation I also got a warning (see 1) below) Maybe something (unrelated to the geometric BC?) broke while updating PyOP2? Henrik 1) Warning during installation of pyop2: /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_requires' warnings.warn(msg) /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/site-packages/setuptools/dist.py:291: UserWarning: The version specified ('0.11.0-415-g450bf5b') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running build_ext 2) Error during execution of test_geometric_BC.py Traceback (most recent call last): File "test_geometric_BC.py", line 37, in <module> outfile << project(pw,V_out, name="Pressure") File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/projection.py", line 97, in project form_compiler_parameters=form_compiler_parameters) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 120, in solve _solve_varproblem(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 147, in _solve_varproblem solver.solve() File "<string>", line 2, in solve File "/home/hb111949/Code/PyOP2/pyop2/profiling.py", line 203, in wrapper return f(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/variational_solver.py", line 173, in solve self.snes.solve(None, v) File "PETSc/SNES.pyx", line 520, in petsc4py.PETSc.SNES.solve (src/petsc4py.PETSc.c:167382) File "PETSc/petscsnes.pxi", line 253, in petsc4py.PETSc.SNES_Function (src/petsc4py.PETSc.c:32821) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving_utils.py", line 193, in form_function with ctx._Fs[lvl].dat.vec_ro as v: File "/rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/home/hb111949/Code/PyOP2/pyop2/petsc_base.py", line 230, in vec_context self._force_evaluation() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 1566, in _force_evaluation _trace.evaluate(reads, writes) File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 170, in evaluate comp._run() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4042, in _run return self.compute() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4083, in compute fun = self._jitmodule File "/home/hb111949/Code/PyOP2/pyop2/utils.py", line 64, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/home/hb111949/Code/PyOP2/pyop2/sequential.py", line 151, in _jitmodule direct=self.is_direct, iterate=self.iteration_region) File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 203, in __new__ obj = make_obj() File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 193, in make_obj obj.__init__(*args, **kwargs) File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 700, in __init__ self.compile() File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 725, in compile if self._kernel._cpp: AttributeError: 'Kernel' object has no attribute '_cpp' Von: firedrake-bounces@imperial.ac.uk [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von David Ham Gesendet: 16 October 2015 15:01 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi Henrik, That is indeed the claim. Let us know if it works.... ;) David On Fri, 16 Oct 2015 at 12:09 Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: 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<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [mailto: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<mailto: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> ------------------------------------------------------
Type 'make' in the firedrake source directory. ________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Buesing, Henrik [HBuesing@eonerc.rwth-aachen.de] Sent: 16 October 2015 19:34 To: firedrake Subject: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hmm... also the firedrake-clean script fails with the error below... Traceback (most recent call last): File "scripts/firedrake-clean", line 3, in <module> from firedrake.ffc_interface import clear_cache, FFCKernel File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/__init__.py", line 31, in <module> from firedrake.assemble import * File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/assemble.py", line 10, in <module> from firedrake import assemble_expressions File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/assemble_expressions.py", line 17, in <module> from firedrake import function File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/function.py", line 12, in <module> from firedrake import functionspace File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/functionspace.py", line 13, in <module> from firedrake import dmplex ImportError: cannot import name dmplex -- Dipl.-Math. Henrik Büsing 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 [firedrake-bounces@imperial.ac.uk]" im Auftrag von "Homolya, Miklós [m.homolya14@imperial.ac.uk] Gesendet: Freitag, 16. Oktober 2015 15:46 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space I'm not sure if this is the problem, but just a quick check: Clear you cache, and try again. To clear your cache, run scripts/firedrake-clean in the firedrake source directory. In general, it is suggested to clear your cache after an upgrade. ________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Buesing, Henrik [HBuesing@eonerc.rwth-aachen.de] Sent: 16 October 2015 14:32 To: firedrake Subject: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi David, I have updated the whole toolchain. And I have constructed a test example with geometric BC on a DG space with an extruded mesh (see attached code). This seems to work. Unfortunately my code now breaks with an error (see 2) below). During PyOP2 installation I also got a warning (see 1) below) Maybe something (unrelated to the geometric BC?) broke while updating PyOP2? Henrik 1) Warning during installation of pyop2: /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_requires' warnings.warn(msg) /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/site-packages/setuptools/dist.py:291: UserWarning: The version specified ('0.11.0-415-g450bf5b') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running build_ext 2) Error during execution of test_geometric_BC.py Traceback (most recent call last): File "test_geometric_BC.py", line 37, in <module> outfile << project(pw,V_out, name="Pressure") File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/projection.py", line 97, in project form_compiler_parameters=form_compiler_parameters) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 120, in solve _solve_varproblem(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 147, in _solve_varproblem solver.solve() File "<string>", line 2, in solve File "/home/hb111949/Code/PyOP2/pyop2/profiling.py", line 203, in wrapper return f(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/variational_solver.py", line 173, in solve self.snes.solve(None, v) File "PETSc/SNES.pyx", line 520, in petsc4py.PETSc.SNES.solve (src/petsc4py.PETSc.c:167382) File "PETSc/petscsnes.pxi", line 253, in petsc4py.PETSc.SNES_Function (src/petsc4py.PETSc.c:32821) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving_utils.py", line 193, in form_function with ctx._Fs[lvl].dat.vec_ro as v: File "/rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/home/hb111949/Code/PyOP2/pyop2/petsc_base.py", line 230, in vec_context self._force_evaluation() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 1566, in _force_evaluation _trace.evaluate(reads, writes) File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 170, in evaluate comp._run() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4042, in _run return self.compute() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4083, in compute fun = self._jitmodule File "/home/hb111949/Code/PyOP2/pyop2/utils.py", line 64, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/home/hb111949/Code/PyOP2/pyop2/sequential.py", line 151, in _jitmodule direct=self.is_direct, iterate=self.iteration_region) File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 203, in __new__ obj = make_obj() File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 193, in make_obj obj.__init__(*args, **kwargs) File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 700, in __init__ self.compile() File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 725, in compile if self._kernel._cpp: AttributeError: 'Kernel' object has no attribute '_cpp' Von: firedrake-bounces@imperial.ac.uk [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von David Ham Gesendet: 16 October 2015 15:01 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi Henrik, That is indeed the claim. Let us know if it works.... ;) David On Fri, 16 Oct 2015 at 12:09 Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: 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<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [mailto: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<mailto: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> ------------------------------------------------------
Dear Miklós, firedrake-clean worked after typing make. And now also all the preceding errors are fixed. 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 Homolya, Miklós Gesendet: 16 October 2015 20:35 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Type 'make' in the firedrake source directory. ________________________________ From: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [firedrake-bounces@imperial.ac.uk] on behalf of Buesing, Henrik [HBuesing@eonerc.rwth-aachen.de] Sent: 16 October 2015 19:34 To: firedrake Subject: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hmm... also the firedrake-clean script fails with the error below... Traceback (most recent call last): File "scripts/firedrake-clean", line 3, in <module> from firedrake.ffc_interface import clear_cache, FFCKernel File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/__init__.py", line 31, in <module> from firedrake.assemble import * File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/assemble.py", line 10, in <module> from firedrake import assemble_expressions File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/assemble_expressions.py", line 17, in <module> from firedrake import function File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/function.py", line 12, in <module> from firedrake import functionspace File "/rwthfs/rz/cluster/home/hb111949/Code/firedrake/firedrake/functionspace.py", line 13, in <module> from firedrake import dmplex ImportError: cannot import name dmplex -- Dipl.-Math. Henrik Büsing 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> ----------------------------------------------- ________________________________ Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [firedrake-bounces@imperial.ac.uk]" im Auftrag von "Homolya, Miklós [m.homolya14@imperial.ac.uk] Gesendet: Freitag, 16. Oktober 2015 15:46 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space I'm not sure if this is the problem, but just a quick check: Clear you cache, and try again. To clear your cache, run scripts/firedrake-clean in the firedrake source directory. In general, it is suggested to clear your cache after an upgrade. ________________________________ From: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [firedrake-bounces@imperial.ac.uk] on behalf of Buesing, Henrik [HBuesing@eonerc.rwth-aachen.de] Sent: 16 October 2015 14:32 To: firedrake Subject: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi David, I have updated the whole toolchain. And I have constructed a test example with geometric BC on a DG space with an extruded mesh (see attached code). This seems to work. Unfortunately my code now breaks with an error (see 2) below). During PyOP2 installation I also got a warning (see 1) below) Maybe something (unrelated to the geometric BC?) broke while updating PyOP2? Henrik 1) Warning during installation of pyop2: /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_requires' warnings.warn(msg) /rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/site-packages/setuptools/dist.py:291: UserWarning: The version specified ('0.11.0-415-g450bf5b') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running build_ext 2) Error during execution of test_geometric_BC.py Traceback (most recent call last): File "test_geometric_BC.py", line 37, in <module> outfile << project(pw,V_out, name="Pressure") File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/projection.py", line 97, in project form_compiler_parameters=form_compiler_parameters) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 120, in solve _solve_varproblem(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving.py", line 147, in _solve_varproblem solver.solve() File "<string>", line 2, in solve File "/home/hb111949/Code/PyOP2/pyop2/profiling.py", line 203, in wrapper return f(*args, **kwargs) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/variational_solver.py", line 173, in solve self.snes.solve(None, v) File "PETSc/SNES.pyx", line 520, in petsc4py.PETSc.SNES.solve (src/petsc4py.PETSc.c:167382) File "PETSc/petscsnes.pxi", line 253, in petsc4py.PETSc.SNES_Function (src/petsc4py.PETSc.c:32821) File "/home/hb111949/.local/lib/python2.7/site-packages/firedrake/solving_utils.py", line 193, in form_function with ctx._Fs[lvl].dat.vec_ro as v: File "/rwthfs/rz/SW/UTIL.common/Python/2.7.9/x86_64/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/home/hb111949/Code/PyOP2/pyop2/petsc_base.py", line 230, in vec_context self._force_evaluation() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 1566, in _force_evaluation _trace.evaluate(reads, writes) File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 170, in evaluate comp._run() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4042, in _run return self.compute() File "/home/hb111949/Code/PyOP2/pyop2/base.py", line 4083, in compute fun = self._jitmodule File "/home/hb111949/Code/PyOP2/pyop2/utils.py", line 64, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/home/hb111949/Code/PyOP2/pyop2/sequential.py", line 151, in _jitmodule direct=self.is_direct, iterate=self.iteration_region) File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 203, in __new__ obj = make_obj() File "/home/hb111949/Code/PyOP2/pyop2/caching.py", line 193, in make_obj obj.__init__(*args, **kwargs) File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 700, in __init__ self.compile() File "/home/hb111949/Code/PyOP2/pyop2/host.py", line 725, in compile if self._kernel._cpp: AttributeError: 'Kernel' object has no attribute '_cpp' Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von David Ham Gesendet: 16 October 2015 15:01 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi Henrik, That is indeed the claim. Let us know if it works.... ;) David On Fri, 16 Oct 2015 at 12:09 Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: 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<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [mailto: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<mailto: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> ------------------------------------------------------
Von: firedrake-bounces@imperial.ac.uk [mailto:firedrake-bounces@imperial.ac.uk] Im Auftrag von David Ham Gesendet: 16 October 2015 15:01 An: firedrake Betreff: Re: [firedrake] WG: Dirichlet BC on extruded mesh with discontinuous function space Hi Henrik, That is indeed the claim. Let us know if it works.... ;) [Buesing, Henrik] Dear David, indeed setting the geometric boundary conditions on a DG space on an extruded mesh now works for me. Thanks a lot for the implementation of this feature! Henrik David On Fri, 16 Oct 2015 at 12:09 Buesing, Henrik <HBuesing@eonerc.rwth-aachen.de<mailto:HBuesing@eonerc.rwth-aachen.de>> wrote: 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<mailto:hbuesing@eonerc.rwth-aachen.de> ------------------------------------------------------ Von: firedrake-bounces@imperial.ac.uk<mailto:firedrake-bounces@imperial.ac.uk> [mailto: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<mailto: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
-
David Ham
-
Homolya, Miklós