The NeoPZ environment
Philippe Remy Bernard Devloo Lattes
Jorge Lizardo Diaz Calle Lattes
Edimar Cesar Rylo Lattes
Gustavo Camargo Longhin Lattes
Erick Raggio Slis dos Santos Lattes
Tiago Luis Duarte Forti Lattes
Paulo Cesar de Alvarenga Lucci Lattes
Denise de Siqueira Lattes
Agnaldo Monteiro Farias Lattes
Joao Luis Gonçalves Lattes
Diogo Lira Cecilio Lattes
Nathan Shauer Lattes
Cedric Marcelo Augusto Ayala Bravo Lattes
Renato Gomes Damas Lattes
Misael Luis Santana Mandujano

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. Douglas Castro is working on its three dimensional extension. We are working on incorporating HCurl spaces as well.


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.

What is meant by "advanced technologies" is documented in the section

Structure of the Documentation

There are many ways to define a library of classes. A global view of the NeoPZ environment is found in

. This same structure is "more or less" recognized in the Modules section. The section
  • Differences from Regular Finite Element Computations
is dedicated to describing which algorithms within the NeoPZ environment are different from regular finite element codes