libmba2d
Directory actions
More options
Directory actions
More options
libmba2d
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
Project name: 2D GENERATOR OF ADAPTIVE UNSTRUCTURED
TRIANGULAR MESHES USING METRIC BASED ADAPTATION
Package name: aniMBA.
Documentation: doc/mba_guide.pdf
Contents:
1. What is aniMBA?
2. Main features of aniMBA.
3. Installation guide.
4. Available support.
5. References.
1. What is aniMBA?
The Fortran 77 package aniMBA generates unstructured triangular
meshes adapted to a solution function defined at mesh nodes or governed
by a user defined metric.
It can be shown that the resulting mesh is optimal in a sense that
an interpolation error is minimized on such a grid (see references
for more details). If a solution function is anisotropic, the
resulting mesh will also be anisotropic. The other objective of
aniMBA is to serve as a test bed for the real 3D adaptive code.
2. The main features of aniMBA.
(a) Simplicity and portability. It is written in Fortran 77,
contains a few files, and a very simple Makefile. Since we have
not used any system dependent calls (except for time measurement),
the code is widely portable.
(b) Robustness. The algorithm is a sequence of topological
operations on a mesh superelement. This enables us careful
treatment of very complex situations which in turn results
in the algorithm robustness.
(c) Careful checking the output mesh.
(d) Very simple input interface. We know very well how complicated
and restrictive input interface may be. We tried to simplify it
as much as possible. We have chosen neither a solid constructive
geometry, nor a surface description technique. In input, we
require a mesh. It may be very coarse mesh consisting of a few
elements (made by hands), or very fine mesh made by any other
mesh generator. Recall that the main purpose of aniMBA is to
adapt a mesh to a solution defined at mesh nodes.
The input mesh provides all information about the domain.
Apart the standard mesh data (list of node coordinates,
connectivity table, list of boundary edges), we need two more
things. First, optional lists of fixed nodes and triangles which
will be never touched. Second, some data for treating
curvilinear boundary edges. Both sets of data may be empty.
The detailed description of input parameters is in file
ani_solution.f.
(e) Very simple output. We return the modified sets of data. In
addition, we provide PS-files of the input and the output
meshes which help to understand how the code response to
different sets of input data.
(g) Ability to construct locally refined meshes, both isotropic
and anisotropic. This is very important in applications.
In the articles mentioned in Section 5, we use aniMBA
in a adaptive loop to solve linear
and non-linear partial differential equations.
(h) The generator constructs a mesh with as many elements, as
the user want.
(i) The package can generate meshes based on an analytic metric.
The user has to define a 2x2 symmetric positive definite
matrix. The generated mesh will be QUASI-UNIFORM in this
metric and will consist of a given number of elements.
For instance, if the metric is the identity matrix, then
the output mesh will be quasi-uniform (in conventional sense).
If the metric is chosen to be anisotropic in some parts of
the domain, then the output mesh will be anisotropic there.
(j) Very simple interface to make an adaptive loop. If the user
does not want to provide the governing metric analytically,
he may provide just a scalar discrete function defined at
mesh nodes. The generator will generate a metric based on
the discrete Hessian recovered from the given discrete
function. The adaptive loop can be organized as follows:
loop 1
discrete solution + input mesh -->> new mesh
loop 2
new discrete solution + mesh from loop 1 -->> new mesh
loop N+1
new discrete solution + mesh from loop N -->> new mesh
3. Installation guide.
There is a PDF file doc/mba_guide.pdf explaining details of
package installation.
4. Available support.
We hope that our friends and colleagues will try package aniGEN
in their research. We shall appreciate any remarks, comments and
we shall response to them ASAP. It may help us improve future
versions of the code. The contact information is
Developer E-mail
Konstantin Lipnikov lipnikov@hotmail.com
Yuri Vassilevski vasilevs@dodo.inm.ras.ru
5. References
(a) Yu.Vassilevski, K.Lipnikov,
An Adaptive Algorithm for Quasioptimal Mesh Generation,
Computational Mathematics and Mathematical Physics,
Vol.39, No.9 (1999) pp.1468-1486.
(b) A.Agouzal, K.Lipnikov, Yu.Vassilevski,
Adaptive Generation of Quasi-optimal Tetrahedral Meshes,
East-West Journal, Vol.7, No.4 (1999) pp.223-244.
(c) K.Lipnikov, Yu.Vassilevski,
Parallel adaptive solution of 3D boundary value problems
by Hessian recovery,
Comput. Methods Appl. Mech. Engrg., Vol.192 (2003) pp.1495-1513.
(d) K.Lipnikov, Yu.Vassilevski,
Optimal triangulations: existence, approximation and double
differentiation of P_1 finite element functions,
Computational Mathematics and Mathematical Physics,
V.43, No.6 (2003) pp.827-835.
(e) K.Lipnikov, Yu.Vassilevski,
On a parallel algorithm for controlled Hessian-based
mesh adaptation,
Proceedings of 3rd Conf. Appl. Geometry, Mesh Generation and
High Performance Computing, Moscow, June 28 - July 1, Comp. Center RAS,
V.1 (2004) pp.154-166.
(f) K.Lipnikov, Yu.Vassilevski,
On control of adaptation in parallel mesh generation,
Engrg. Computers, V.20 (2004) pp.193-201.