Welcome to NeoPZ’s documentation!
Contents:
Introduction
This documentation is an ongoing work. The following sections have been written:
The Analysis hierarchy How a FEM analysis is performed in NeoPZ
The Material hierarchy How weak formulations are implemented
The StructMatrix hierarchy How different matrix storage formats can be used
The Solver hierarchy Available solvers in NeoPZ
The Shape hierarchy Shape functions available in NeoPZ
Utilities Utility classes available in NeoPZ
Note
In this documentation the most relevant methods and classes are presented and discussed. Users are encouraged to use Doxygen to generate a complete documentation.
About
The NeoPZ environment is a object oriented environment for the development finite element simulations.
The NeoPZ environment (in the future quoted as simply NeoPZ) incorporates several advanced finite element technologies in a single coherent structure, allowing its user to develop sophisticated simulations in a short period of time.
Motivation: Why develop a finite element library?
During my PhD work (late 1980’s) I developed hp-adaptive finite element algorithms applied to the simulation of compressible fluid flow. The first version of the adaptive mesh datastructure dates back to 1984.
I soon noticed that adaptivity is a universal concept which can be applied to virtually any finite element simulation. During the time I studied in Texas, adaptivity was applied to the Stokes equations,to plasticity, to thermal problems, convection problems etc.
On the other hand, It was obvious that writing an hp-adaptive code requires a major investment. It takes at least two years to write and validate a three dimensional adaptive finite element code.
At that time I imagined it would be possible to write a finite element framework that would be allow its user to apply hp-adaptive strategies to different systems of differential equations in a single framework.
More recently, the concept of generality has been extended in that the NeoPZ library allows its user to choose the approximation space as well. One can approximate a differential equation with continuous or discontinuous approximation spaces. Denise Siqueira implemented two dimensional HDiv spaces in the library.
Objectives
The objective of the NeoPZ environment is to provide its user access to advanced finite element technologies within a coherent framework. Wherever possible those technologies should be able to interact with each other.