[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