Skip to content
Snippets Groups Projects
Commit a3fe425a authored by Claus-Justus Heine's avatar Claus-Justus Heine
Browse files

Update.

parent 9177a026
No related branches found
No related tags found
No related merge requests found
TODO: this file needs to be overhauled
ALBERTA is an Adaptive multi-Level finite element toolbox using
Bisectioning refinement and Error control by Residual
Techniques for scientific Applications.
......@@ -11,21 +9,21 @@ Contents
I. Introduction
II. External Packages (both required and optional packages)
1.) Required Packages
II. External Packages (all optional)
OpenGL
BLAS (with examples)
2.) Optional Packages
gltools
GRAPE
Silo
OpenDX
OpenDX
Paraview
alternate compilers
III. Configure Options
1.) Non-standard behavior of ALBERTA
1.) ALBERTA's installation paths
2.) Options affecting which versions of ALBERTA are built
3.) Options controlling the search-path for external libraries
3.) Options controlling specific features
4.) Options controlling the search-path for external libraries
IV. Compiler flags (with examples)
......@@ -37,8 +35,7 @@ V. Some platform dependent notes and examples
I) Introduction
===============
This is ALBERTA Version 3.0. ALBERTA has a web-page
at
This is ALBERTA Version 3.0. ALBERTA has a web-page at
http://www.alberta-fem.de/
......@@ -57,87 +54,127 @@ beast in a directory hierarchy below the path-prefix PREFIX, where
PREFIX defaults to `/usr/local/' if the `--prefix' switch is omitted.
0) The directory layout
Contained in the package are the following sub-packages:
__________ alberta/ __________ src/ ______|--- 1d/
/ \ |--- 2d/
/ -- doc/ |--- 3d/
/ |--- Common/
/ |--- alberta*/
/_____________ demo/ __ src/ _______|--- 1d/
alberta-3.0 / |--- 2d/
\ |--- 3d/
\ |--- 4d/
\ |--- 5d/
\ |--- Common/
\
\
\__________ alberta_util/ ___ src/
\
\
\_______ add_ons/ ---- grape/ __ mesh/ ____|--- 2d/
\ \ |--- 3d/
\ \ |--- Common/
\ \
\ - meshtv/ ___|--- 1d/
\ \ |--- 2d/
\ \ |--- 3d/
\ \ |--- Common/
\ \
\ \- geomview/
\
\_ configure.ac and other distribution
files
1) alberta
The main package.
2) demo
The sub-directory `demo/' contains a few demonstration programs. After
running "make install" (see file `./INSTALL') a tar-ball containing
all demo programs will be installed in `PREFIX/share/alberta/'. The
tar-ball can be extracted elsewhere; the make-files contained in the
tar-ball have appropriate defaults for the location of the (installed)
ALBERTA libraries and header files.
3) alberta_util
This package contains the old ALBERTA util.c file, now split into
several smaller source files. As of version 2.0 it also contains the former
SOLVER library. It is compiled to form a separate utility library
(message macros, ALBERTA memory allocation routines, BLAS routines and
wrappers, etc.) and should linked to any program using the ALBERTA package. It
can also be used as a stand-alone utility library.
4) grape
GRAPE interface for ALBERTA. Only for non-parametric FE of dimension 2
and 3. The GRAPE-interface consists of "make" will create
"alberta_grapeXX" and alberta_moviXX" where XX is in {22, 33}. "make
install" will install those programs below `PREFIX/bin/'.
The GRAPE interface is only installed when the GRAPE library and
header file are available on your system (determined at configure
time, use "configure --help" for appropriate command line switches for
"configure").
5) meshtv
MeshTV interface for ALBERTA. Only for non-parametric FE. The MeshTV
interface consists of the programs "alberta_meshtvX" with X in
{1,2,3}. These are installed in `PREFIX/bin/' as well.
The interface is only installed if the Silo library and header files are
available on your system. See "configure --help" for details.
~~~~~~~~~~~~~~~~~~~~~~~
Contained in the package-tree are the following sub-directories
(ommitting 3rd-level sub-directories below add_ons/):
___ 0d/
____________ alberta/ ___ src/ ______|___ 1d/
/ \ |___ 2d/
/ \__ doc/ |___ 3d/
/ ___ 1d/ |___ Common/
/ |___ 2d/ |___ alberta*/
/_ demo/ __ src/ _______|___ 3d/
/ |___ 4d/
/ |___ 5d/
/ |___ Common/
/
/
/
alberta-3.0 /
\___ alberta_util/ ___ src/
\
\ ____ bamg2alberta/
\__ add_ons/___/
\ \____ block_solve/
\ \
\ \___ geomview/
\ \
\ \___ gmv/
\ \
\ \___ grape/
\ \
\ \___ libalbas/
\ \
\ \
\ \___ meshtv/
\ \
\ \___ paraview/
\ \
\ \___ static_condensation/
\ \
\ \___ triangle2alberta/
\ \
\ \___ write_mesh_fig/
\
\_ configure and other distribution
files
Short description of the sub-directories:
* alberta
The main package.
* demo
The sub-directory `demo/' contains a few demonstration
programs. After running "make install" (see file `./INSTALL') a
tar-ball containing all demo programs will be installed in
`PREFIX/share/alberta/'. The tar-ball can be extracted elsewhere;
the make-files contained in the tar-ball have appropriate defaults
for the location of the (installed) ALBERTA libraries and header
files.
* alberta_util
This package contains the old ALBERTA util.c file, now split into
several smaller source files. As of version 2.0 it also contains the
former SOLVER library. It is compiled to form a separate utility
library (message macros, ALBERTA memory allocation routines, BLAS
routines and wrappers, etc.) and should linked to any program using
the ALBERTA package. It can also be used as a stand-alone utility
library.
* bamg2alberta
A converter from the FreeFem++ grid-generatar `bamd' to ALBERTA
macro file format.
* block_solve
Block-matrix support.
* geomview
Simple ALBERTA-OOGL converter.
* gmv
Stand-alone converter ALBERTA-gmv.
* grape
GRAPE interface for ALBERTA. Only for non-parametric FE of dimension
2 and 3. The GRAPE-interface consists of "make" will create
"alberta_grapeXX" and alberta_moviXX" where XX is in {22, 33}.
"make install" will install those programs below `PREFIX/bin/'.
The GRAPE interface is only installed when the GRAPE library and
header file are available on your system (determined at configure
time, use "configure --help" for appropriate command line switches
for "configure").
* libalbas
Implementation of some more fancy basis functions (bubbles, direct
sums).
* meshtv
MeshTV interface for ALBERTA. Only for non-parametric FE. The MeshTV
interface consists of the programs "alberta_meshtvX" with X in
{1,2,3}. These are installed in `PREFIX/bin/' as well.
The interface is only installed if the Silo library and header files
are available on your system. See "configure --help" for details.
* paraview
Stand-alone converte ALBERTA-Paraview
* static_condensation
Condensation of element bubbles, resulting in a drastical reduction
of the dimension.
* triangle2alberta
Converter from the Triangle grid generator to the ALBERTA macro-file format.
* write_mesh_fig
Dump a mesh to disk in a format suitable for xfig(1).
II) External packages
=====================
1) Required Packages
--------------------
The software-packages mentioned here are mandatory. You will not be
able to compile and use ALBERTA without them. The configure-script
will attempt to detect them at build-time (see "Configure Options"
below).
OpenGL -- you need some implementation of SGI's 3D-API. If your system
does not have OpenGL you can fetch the free OpenGL
implementation "MesaGL" from
......@@ -145,7 +182,9 @@ OpenGL -- you need some implementation of SGI's 3D-API. If your system
http://www.mesa3d.org/
If you don't have a clue what this is all about then ask your
system-administrator.
system-administrator. In former version OpenGL was required to
compile ALBERTA, starting with this release graphical output
is an optional feature.
BLAS -- "Basic Linear Algebra Subprograms"
You definitely need some version of the BLAS. Often the BLAS
......@@ -169,13 +208,8 @@ BLAS -- "Basic Linear Algebra Subprograms"
this restriction by linking in additional libraries, as shown
in some of the platform dependent examples listed below.
2) Optional Packages
--------------------
The software-packages mentioned here are not required to compile and
use ALBERTA. They are detected by the configure-script at build-time
and are used when available (see "Configure Options" below).
ALBERTA can be compiled without BLAS, in which case
C-replacements are used instead of the BLAS-functions.
gltools -- OpenGL toolkit
We strongly recommend that you install the gltools package;
......@@ -248,6 +282,10 @@ Geomview -- An ancient program, originally from the Geometry Center,
meshes -- the `gvemod-ndview' add-on. Both are available from
SourceForge.
Paraview -- For viewing the output from the alberta2paraviewXd converters.
http://www.paraview.org
alternate compilers
Many CPU-vendors distribute highly optimizing compilers for
their specific CPU architecture. Often those compilers
......@@ -266,8 +304,8 @@ generic command line options for configure.
The remaining (i.e. ALBERTA specific) options are explained here:
1.) Non-standard behavior of ALBERTA
-------------------------------------
1.) ALBERTA's installation paths
--------------------------------
The default installation prefix of the ALBERTA-package is the default
GNU installation prefix, i.e. `/usr/local/' Of course, you can change
......@@ -283,9 +321,10 @@ the header-files and Makefile.alberta will end up in
/usr/local/include/alberta/
The configured libtool-script will reside in
The configured libtool-script and the Makefile-fragment for the
demo-suite will reside in
/usr/local/libexec/alberta-2.0/
/usr/local/libexec/alberta-VERSION/
and finally the demo package (under the name alberta-VERSION.demo.tar.gz,
where VERSION denotes the actual version of the alberta package) will
......@@ -323,12 +362,45 @@ The options below control which of them are actually created.
information. (default: enabled)
--disable-graphics disable support for visualization, including all
add-ons which need graphics. (default: enabled)
3.) Options controlling specific features
-----------------------------------------
--enable-efence use the malloc debugger "Electric Fence" for all
allocations for the DEBUG libraries, the optimized
libraries will still use the default allocators.
(default: disabled)
3.) Options controlling the search-path for external libraries
--enable-fortran-blas Use BLAS routines for some basic linear algebra
stuff. (default: disabled)
--disable-vector-basis-functions
Disable support for vector-valued basis functions.
If you leave this enabled ALBERTA supports
DIM_OF_WORLD-valued basis functions and scalar basis
functions. If you disable this feature ALBERTA only
supports scalar valued basis functions.
DIM_OF_WORLD-valued basis functions play an
important role, e.g. for the discretisation of
problems involving H(div) (Maxwell equations ...)
and, e.g., for stable mixed discretisations for the
Stokes-problem. Building ALBERTA with support for
vector valued basis functions increases the
compile-time, otherwise it should not have any
measureable performance impact, therefore this
feature is normally ENABLED. Disable it to reduce
the compile time if you do not need this feature.
(default: enabled)
--disable-chained-basis-functions
Disable support for chains of basis-functions.
ALBERTA has support for forming direct sums of
FE-spaces. This is useful, e.g., to implement
certain stable mixed discretisations for the
Stokes-problem (P1+Bubble = Mini, P1+FaceBubble =
Bernardi-Raugel, weak slip b.c.). Keeping this
feature enabled will have a slight performance
impact, you may disable it if you do not need this
feature. (default: enabled)
4.) Options controlling the search-path for external libraries
--------------------------------------------------------------
See also "External Packages" above.
......@@ -451,7 +523,9 @@ and "-O" otherwise.
The default flags for the debugging-enabled libraries are
"-O0 -ggdb -fno-inline -fno-builtin" with gcc and "-g" otherwise.
The relevant environment- respectively make-variables are
The relevant environment- respectively make-variables are listed at
the end of the online-help provided by running `configure --help'.
They include:
CFLAGS
C-compiler flags used for _both_, optimized and debug enabled libraries
......@@ -464,7 +538,7 @@ ALBERTA_DEBUG_CFLAGS
C-compiler flags used for the debug enabled library. They are
prepended to the CFLAGS variable.
FFLAGS
ALBERTA_FFLAGS
Fortran-compiler flags. They are separated from the CFLAGS because
in general the Fortran compiler can come from a different vendor
than the C-compiler in which case the flags understood by the
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment