← Back to team overview

dolfin team mailing list archive

Re: [HG DOLFIN] merge

 

On Monday 17 August 2009 22:46:52 DOLFIN wrote:
> One or more new changesets pushed to the primary dolfin repository.
> A short summary of the last three changesets is included below.
>
> changeset:   6772:51528af1906a38b3827848f70488381ce425767f
> tag:         tip
> parent:      6771:85ed50477f156d01ef91f9e2a5b25d6db31cefef
> parent:      6770:6e6853794f50445131ed68bf42fa7512eb6dfc12
> user:        "Johan Hake <hake@xxxxxxxxx>"
> date:        Mon Aug 17 22:46:44 2009 +0200
> files:
> description:
> merge
>
>
> changeset:   6771:85ed50477f156d01ef91f9e2a5b25d6db31cefef
> parent:      6769:ddab144e5a88ce577f083c29969a5bccfc6b83f3
> user:        "Johan Hake <hake@xxxxxxxxx>"
> date:        Mon Aug 17 22:46:01 2009 +0200
> files:       site-packages/dolfin/__init__.py
> site-packages/dolfin/compile_extension_module.py
> site-packages/dolfin/compile_function.py
> site-packages/dolfin/compile_functions.py
> site-packages/dolfin/compile_subdomains.py site-packages/dolfin/function.py
> description:
> Added a compile_extension_module function to PyDOLFIN.
>
>   - It provides somewhat generic JIT compilation of C++ DOLFIN code
>     for PyDOLFIN

The syntax for this function is simplistic. It takes a C++ code block that is 
defined within a dolfin namespace {...}, puts it into a proper SWIG interface 
file, add appropriate declarations, like shared_ptr declarations, and compiles 
the module. It needs documentation. However a simple example could be 
something like:

  compiled_module = compile_extension_module(code,
                     dolfin_import_files=["mesh/SubDomain.h","function/Function.h"])

where code is a C++ code block, and dolfin_import_files are optionals. 
Including them will reduce the compilation time.

I know Garth asked for something like this. It would be nice if you could 
provide some code that I can throw at it.

If nothing comes out of this, I have at least reused alot of code in the 
compile_{functions,subdomains} functions :)

Johan


>   - The function returns the compiled extension module
>   - Both compile_functions and compile_subdomains use it
>   - Needs some more work on numpy typemaps.
>   - removed old compile_function file
>   - compile_subdomains need some more love, but it is featurewise
>     compatible with the old compile_subdomains
>
>
> changeset:   6770:6e6853794f50445131ed68bf42fa7512eb6dfc12
> user:        Anders Logg <logg@xxxxxxxxx>
> date:        Mon Aug 17 22:42:45 2009 +0200
> files:       site-packages/dolfin/utils.py
> description:
> Move getoutput and getstatusoutput to dolfin.utils. To be reused in
> testing framework.
>
> ----------------------------------------------------------------------
> For more details, visit http://www.fenics.org/hg/dolfin
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev


Follow ups

References