-
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