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

------------------------------------------------------