Welcome to the Intrepid Home

Intrepid is a library of interoperable tools for compatible discretizations of Partial Differential Equations (PDEs). Included with the Trilinos 10.0 release is the "expert version" of Intrepid. This version is intended primarily for application developers who want to reuse large parts of their existing code frameworks such as I/O, data structures, assembly routines, etc. while gaining access to advanced discretization capabilities provided by Intrepid. In such cases the bulk of the data is owned and managed by the user rather than by Intrepid. To avoid unnecessary and possibly expensive copying of data to and from Intrepid, the expert version of the package comprises of mostly stateless classes operating on user-owned data.Virtually all numerical data required by PDE codes can be represented as a multi-dimensional array of scalar values. For this reason, and to enahnce interoprability, Intrepid classes are templated on generic multi-dimensional arrays. The Shards package provides an implementation of a multi-dimensional array that can be used for that purpose, or users can write their own multi-dimensional arrays as long as a minimal interface is supported.


Current release of Intrepid includes the following features:

  • Default finite element basis functions for H(grad), H(curl), H(div) and L2 spaces of orders up to 2 on standard cell topologies in 1D, 2D and 3D
  • High-order (up to 10) basis functions for H(grad), H(curl), H(div) and L2 spaces on select cell topologies
  • Pullbacks (transformations) from reference coordinate frame of H(grad), H(curl), H(div) and L2 fields
  • Pullbacks of gradient, curl and divergence of H(grad), H(curl), H(div) fields
  • Cubature rules of orders up to 20 on most standard 1D, 2D and 3D cell topologies
  • Implementation of multi-diumensional arrays and algebraic operations on them
  • Examples showing solution of basic 2nd order elliptic boundary value problems (Poisson, div-curl, and curl-curl systems) using Intrepid

Development plans

The next release of Intrepid is expected to support Finite Difference and Finite Volume discretizations on standard and non-standard (polygon and polyhedron) cell topologies. A user-firendly version for rapid development of PDE codes is also under development.

Known issues

Check the Frequently Asked Questions page for information on known issues.

Supplementary materials

  • Intrepid tutorial: 2009 Fall TUG Meeting. In this tutorial you will find brief summary of the package and a step-by-step example showing assembly of a linear system corresponding to curl-conforming least-squares finite element discretization of a div-curl boundary value problem with tangential boundary conditions.