Skip to content

Latest commit

 

History

History
 
 

libmba2d

Folders and files

NameName
Last commit message
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   [email protected]
      Yuri Vassilevski      [email protected]


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.