lp:~florian-rathgeber/fluidity/femtools-python-swig-object

Created by Florian Rathgeber and last modified
Get this branch:
bzr branch lp:~florian-rathgeber/fluidity/femtools-python-swig-object
Only Florian Rathgeber can upload to this branch. If you are Florian Rathgeber please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Florian Rathgeber
Project:
Fluidity
Status:
Development

Recent revisions

3506. By Florian Rathgeber

Implement SWIG wrapper to get_element returning a python element object

This is an implementation of a SWIG wrapped python module get_element
that provides a method:

  e = get_element(dim, vertices, quadrature_degree, polynomial_degree)

where e is a python element object, equivalent to the struct returned by
the get_element function in C, with the following members:

  dim - integer
  ngi - integer
  polynomial_degree - integer
  quadrature_degree - integer
  quadrature_family - integer
  vertices - integer

  get_dn - method returning dn as NumPy array
  get_l - method returning l as NumPy array
  get_n - method returning n as NumPy array
  get_weight - method returning weight as NumPy array

3505. By Florian Rathgeber

add numpy.i

3504. By Florian Rathgeber

Simplification: found a way to ignore argout arguments on input

3503. By Florian Rathgeber

do not wrap struct element as python class

3502. By Florian Rathgeber

Remove argout typemap and wrap only function with the changed signature

This hides the element struct from the python caller. Now only this
method is available from python:

  weight, l, n, dn = get_element(dim, vertices, quadrature_degree, polynomial_degree)

3501. By Florian Rathgeber

Improve the out typemap

3500. By Florian Rathgeber

Add typemaps to SWIG interface file to convert double* to NumPy array

Instead of only filling the element struct, a tuple of NumPy arrays is
returned. This changes the signature of the python function to:

  weight, l, n, dn = get_element(dim, vertices, quadrature_degree, polynomial_degree, element)

To avoid the necessity of creating an element object and passing it in
in the first place, SWIG adds another function that internally creates
an element object and hides it entirely from the caller, again
returning a tuple of NumPy arrays:

  weight, l, n, dn = get_element(dim, vertices, quadrature_degree, polynomial_degree)

3499. By Florian Rathgeber

Add SWIG wrapper to expose get_element as a python module

The python interface is generated with SWIG and all the module get_element
depends on are built into a shared object which is then loaded by the python
module.

Currently the actual data is exposed to python as double* and is hence not
useable. It needs to be wrapped as a NumPy array.

3498. By Florian Rathgeber

Add F90 subroutine to extract quadrature and shape information from element

Subroutine get_element will be exposed to python via a wrapper in C and
hence needs to be C interoperable. It takes a C interoperable derived
type c_element_type as last parameter with intent inout containing all
the requested information about an element given its dimension,
vertices, polynomial degree and quadrature degree.

3497. By Stephan Kramer

Fix bashism in test. Please don't use &> in tests.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:fluidity
This branch contains Public information 
Everyone can see this information.