Classes | |
| class | ML_FiniteElements::AbstractGrid |
| Abstract interface to access finite element grids. More... | |
| class | ML_FiniteElements::AbstractProblem |
| Abstract interface to define linear problems. More... | |
| class | ML_FiniteElements::AbstractQuadrature |
| Interfaces for quadrature over elements. More... | |
| class | ML_FiniteElements::AbstractVariational |
| Pure virtual class that defines the variational form. More... | |
| class | ML_FiniteElements::GalerkinVariational< T > |
| Defines a pure Galerkin variational form of a scalar PDE. More... | |
| class | ML_FiniteElements::HexCubeGrid |
| Creates a grid composed by hexahedra in a cube. More... | |
| class | ML_FiniteElements::HexQuadrature |
| Quadrature formula on hexahedra. More... | |
| class | ML_FiniteElements::LinearProblem |
| Basic implementation of scalar finite element problem. More... | |
| class | ML_FiniteElements::QuadQuadrature |
| Quadrature formula on quadrilaterals. More... | |
| class | ML_FiniteElements::QuadRectangleGrid |
| Creates a grid with quadrilaterals on a rectangle. More... | |
| class | ML_FiniteElements::SUPGVariational< T > |
| SUPG discretization of an advection-diffusion PDE. More... | |
| class | ML_FiniteElements::TetCubeGrid |
| Creates a grid with tetrahedral elements in a cube. More... | |
| class | ML_FiniteElements::TetQuadrature |
| Quadrature formula on tetrahedra. More... | |
| class | ML_FiniteElements::TRIANGLEGrid |
| class | ML_FiniteElements::TriangleQuadrature |
| Quadrature formula on triangles. More... | |
| class | ML_FiniteElements::TriangleRectangleGrid |
| Creates a grid composed by triangles, the domain is a rectangle. More... | |
Variables | |
| const int | ML_INTERNAL = 0 |
| const int | ML_BOTTOM = -1 |
| const int | ML_RIGHT = -2 |
| const int | ML_TOP = -3 |
| const int | ML_LEFT = -4 |
| const int | ML_FRONT = -5 |
| const int | ML_REAR = -6 |
| const int | ML_DIRICHLET = 1000 |
| const int | ML_NEUMANN = 1001 |
The ML_FiniteElements namespace contains all the classes and the examples that show a possible structure for a finite element code using Epetra and ML.
Scalar second-order, symmetric and non-symmetric PDEs of type
can be discretized using this example. Neumann boundary conditions require minimal changes to the code.
must be a 2D or a 3D domain, discretized using triangles, quadrilaterals, tetrahedra or hexahedra. The code can be quite easily extended to tackle vector problems, using the same finite element space for all unknowns.
Two discretizations are available:
The code is based on the following pure virtual classes:
The solution can be visualized using MEDIT (see web page http://www.ann.jussieu.fr/~frey/logiciels/medit.html for details and download).
A nice feature of this small example is that some grids can be created on-the-fly, with no need of input files. The following domains can be triangulated:
These classes are valid for both serial and parallel runs.
An interface to triangle (see http://www-2.cs.cmu.edu/~quake/triangle.html for more details and download) is under development; the interested user can modify the file ml_TRIANGLEGrid.h. This interface is currently working for serial runs only.
The interested user should look to the following examples, all located in ml/examples/FiniteElements:
1.3.9.1