IntrepidPoisson_Pamgen_Tpetra_main.cpp File Reference

Example: Discretize Poisson's equation with Dirichlet boundary conditions on a hexahedral mesh using nodal (Hgrad) elements. The system is assembled into Tpetra data structures, and optionally solved. More...

`#include <cstdlib>`

`#include "Teuchos_oblackholestream.hpp"`

`#include "Teuchos_TimeMonitor.hpp"`

`#include "Teuchos_XMLParameterListHelpers.hpp"`

`#include "Teuchos_StandardCatchMacros.hpp"`

`#include "TrilinosCouplings_config.h"`

`#include "TrilinosCouplings_TpetraIntrepidPoissonExample.hpp"`

`#include "TrilinosCouplings_IntrepidPoissonExampleHelpers.hpp"`

`#include "Tpetra_Core.hpp"`

`#include "MatrixMarket_Tpetra.hpp"`

Include dependency graph for IntrepidPoisson_Pamgen_Tpetra_main.cpp:

## Functions | |

int | main (int argc, char *argv[]) |

Example: Discretize Poisson's equation with Dirichlet boundary conditions on a hexahedral mesh using nodal (Hgrad) elements. The system is assembled into Tpetra data structures, and optionally solved.

This example uses the following Trilinos packages:

- Pamgen to generate a Hexahedral mesh.
- Sacado to form the source term from user-specified manufactured solution.
- Intrepid to build the discretization matrix and right-hand side.
- Tpetra to handle the global sparse matrix and dense vector.

Poisson system: div A grad u = f in Omega u = g on Gamma where A is a material tensor (typically symmetric positive definite) f is a given source term Corresponding discrete linear system for nodal coefficients(x): Kx = b K - HGrad stiffness matrix b - right hand side vector

- Remarks
- Use the "--help" command-line argument for usage info.
- Example driver has an option to use an input file (XML serialization of a Teuchos::ParameterList) containing a Pamgen mesh description. A version, Poisson.xml, is included in the same directory as this driver. If not included, this program will use a default mesh description.
- The exact solution (u) and material tensor (A) are set in the functions "exactSolution" and "materialTensor" and may be modified by the user. We compute the source term f from u using Sacado automatic differentiation, so that u really is the exact solution. The current implementation of exactSolution() has notes to guide your choice of solution. For example, you might want to pick a solution in the finite element space, so that the discrete solution is exact if the solution of the linear system is exact (modulo rounding error when constructing the linear system).

Generated on Tue Jan 31 2023 09:04:56 for TrilinosCouplings by 1.8.5