-
Notifications
You must be signed in to change notification settings - Fork 1
Course project sandbox (used for backup purposes)
License
tenpercent/cp-sandbox
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Our goal is to study numerically and theoretically new adaptive
methods for solving systems of partial differential equations (PDEs).
To achieve this goal, we have developed a few focused software
packages.
Our objective was to make these packages as INDEPENDENT as possible.
These packages provide libraries that could be used in development
of other user-specific software (located in directory src/):
aniAFT - the flexible generator of tetrahedral meshes using the
advanced front technique. It contains a set of libraries
which can be used in various combinations. The package
does not contain binaries and precompiled libraries and
may be installed on any computer with C and C++ compilers.
aniRCB - local hierarchical refinement and coarsening of tetrahedral
meshes using the marked edge bisection method. It
takes on input any conformal tetrahedrization and refines it and
coarsens back preserving the shape of the input tetrahedra.
aniMBA - generation (or re-generation) of adaptive tetrahedral
meshes which are quasi-uniform in a metric. The metric
may be given analytically, to generate a mesh with
desired properties, or may be computed from a discrete
solution, to generate a mesh adapted to the solution.
aniFEM - generation of finite element matrices for different
types of finite elements, and systems of bilinear and
linear forms.
aniILU - an incomplete LU solver for sparse linear systems with
non-singular matrices. It can replace package aniLU.
aniINB - a black box iterative solver for systems of nonlinear equations
based on the inexact Newton-Krylov backtracking method.
aniLMR - generation of nodal tensor metric on the basis
of nodal discrete solution (via discrete Hessian recovery)
or cell-based or edge-based error estimators
aniVIEW- a simple visualizing library producing PostScript and
GMV files of a mesh and discrete solution.
aniC2F - a simple C-wrapper to call mesh generation routines
from package aniMBA in a C program.
-------------------------------------------------------------
Please look inside README files in src/ani* for more detail.
-------------------------------------------------------------
The current release includes all the above packages plus a few
supplementary packages:
lapack - a collection of a few linear algebra algorithms (Real*8).
We recommend to use the corresponding system library if
you have one (see src/Rules.make).
blas - a collection of basic linear algebra Real*8 subroutines
such as x*y, a*x+y, etc where x and y are vectors.
We recommend to use the corresponding system library if
you have one (see src/Rules.make).
umfpack - a set of routines solving sparse linear systems via the
LU factorization. Requires two other packages: BLAS
(dense matrix operations) and AMD (sparse matrix minimum
degree ordering). Includes a C-callable and MATLAB
interface, and a basic FORTRAN 77 interface to a subset
of the C-callable routines.
umfpack_amd - a set of routines for permuting sparse matrices prior
to factorization. Includes a version in C, a version in
FORTRAN, and a MATLAB mexFunction.
cgm - interface library for Open CASCADE
We propose three complementary approaches for learning capabilities of
the developed packages:
1. Read PDF document doc/user_guide.pdf
2. Look examples of using each package separately in sub-directories of src/
Tutorials/PackageAFT, Tutorials/PackageRCB, Tutorials/PackageLMR,
Tutorials/PackageMBA, Tutorials/PackageFEM, Tutorials/PackageC2F,
Tutorials/PackageILU, Tutorials/PackageLU, Tutorials/PackageINB.
We prepared extensive comments to facilitate code understanding.
3. Study seven multi-package academic examples showing how to combine the
packages in a simple FORTRAN77 program to address four basic steps
of every adaptive computation:
(a) generation of an initial mesh,
(b) generation of a finite element system,
(c) solution of the FEM system, and
(d) mesh adaptation.
The examples are located in the following sub-directories of
src/Tutorials/MultiPackage:
Interpolation/ AnisotropicBVP/ ConvectionDiffusion/
Elasticity/ HybridMixedFem/ Stokes/ StokesNavier/
- Interpolation/ is a simple example of generation of a mesh
which minimizes the maximum error of the P_1 (piecewise linear)
interpolation.
- AnisotropicBVP/ is an example of solving an elliptic BVP with
anisotropic coefficient using an adaptive mesh.
The computational domain is the double ramp.
- ConvectionDiffusion/ is an example of the adaptive solution of
a convection-diffusion equation.
- Elastisity/ is an example of the adaptive solution of an elastisity problem.
- HybridMixedFem/ is an example of the adaptive solution of a diffusion problem
based on the hybrid mixed finite element discretization.
- Stokes/ is an example of solving the Stokes problem using
mixed P2-P1 discretization
- StokesNavier/ is an example of mixed P2-P1 discretization of the
Navier-Stokes problem (backward step).
About
Course project sandbox (used for backup purposes)
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published