[Pkg-scicomp-devel] Adding FEniCS to repository

Johannes Ring johannr at simula.no
Fri Oct 17 07:10:05 UTC 2008


Hi again,

Sorry for being completely inactive since I requested to join the
pkg-scicomp team. I have mostly been occupied with other things, however,
I have also completely rewritten the debian files for most of the FEniCS
packages (this time using cdbs). Now it is time for new releases
(http://www.fenics.org/pipermail/dolfin-dev/2008-October/010144.html) and
I see this as a good time for me to put in some effort to get FEniCS into
Debian. Therefore, I would like to add my files to the pkg-scicomp
Subversion repository. Can I simply use my Alioth account (johannr-guest)
to commit files to the repository or do I need to be added to the
pkg-scicomp-common/accounts file first?

This is the FEniCS packages that I would like to add: DOLFIN, FErari, FFC,
FIAT, Instant, SyFi, UFC, and Viper. A short description of each of them
is given below.

Best regards,
Johannes

DOLFIN:
Description: C++/Python library for solving differential equations
 DOLFIN is the C++/Python interface of FEniCS, providing a consistent PSE
 (Problem Solving Environment) for ordinary and partial differential
equations.

FErari:
Description: optimizations for evaluation of variational forms
 FErari (Finite Element rearrangement to automatically reduce instructions)
 generates optimized code for evaluation of the element tensor (element
 stiffness matrix) and functions as an optimizing backend for FFC.

FFC:
Description: compiler for finite element variational forms
 The FEniCS Form Compiler FFC provides state-of-the-art automatic and
efficient
 evaluation of general multilinear forms (variational formulations) for
FEniCS.
 FFC functions as the form evaluation system for DOLFIN but can also be
used to
 compile forms for other systems.
 .
 FFC works as a compiler for multilinear forms by generating code (C or C++)
 for the evaluation of a multilinear form given in mathematical notation.
This
 new approach to form evaluation makes it possible to combine generality with
 efficency; the form can be given in mathematical notation and the generated
 code is as efficient as hand-optimized code.

FIAT:
Description: tabulation of finite element function spaces
 The FInite element Automatic Tabulator FIAT supports generation of arbitrary
 order instances of the Lagrange elements on lines, triangles, and
tetrahedra.
 Other supported elements include arbitrary order Raviart-Thomas elements,
 Brezzi-Douglas-Marini elements and a few others.

Instant:
Description: simple inlining of C / C++ code in Python
 Instant is a Python module that allows for instant inlining of C and C++
code
 in Python. It is a small Python module built on top of SWIG and Distutils.

SyFi:
Description: finite element engine based on symbolic mathematics
 The finite element method (FEM) package SyFi is a C++ library built on
top of
 the symbolic math library GiNaC. The name SyFi stands for Symbolic Finite
 Elements. The package provides polygonal domains, polynomial spaces, and
 degrees of freedom as symbolic expressions that are easily manipulated. This
 makes it easy to define finite elements and variational forms. These
elements
 and forms are then used to generate efficient C++ code.
 .
 SyFi is similar to FFC in the sense that it has a compiler that generates
UFC
 code based on variational forms and finite elements. It is also similar to
 FIAT in the sense that it implements many different finite elements.

UFC:
Description: a unified code generation interface for form-compilers
 UFC (Unified Form-assembly Code) is a unified framework for finite element
 assembly. More precisely, it defines a fixed interface for communicating low
 level routines (functions) for evaluating and assembling finite element
 variational forms. The UFC interface consists of a single header file ufc.h
 that specifies a C++ interface that must be implemented by code that
complies
 with the UFC specification. Examples of form compilers that support the UFC
 interface are FFC and SyFi.

Viper:
Description: minimalistic scientific plotter and run-time visualization
module
 Viper is a minimalistic scientific plotter and run-time visualization
module.
 .
 Viper has support for visualizing meshes and solutions in DOLFIN.

FEniCS:
Description: automation of computational mathematical modeling
 The vision of FEniCS is to set a new standard in Computational Mathematical
 Modeling (CMM), which is the Automation of CMM (ACMM), towards the goals of
 generality, efficiency and simplicity, concerning mathematical methodology,
 implementation and application. FEniCS is organized as a collection of sub
 projects/components, including DOLFIN, FErari, FFC, FIAT, Instant, SyFi
 UFC, and Viper.





More information about the Pkg-scicomp-devel mailing list