# directory

PDEPartial differential equations.

### Contents

- Reference

This directory contains implementations of spatial discretizations for *partial* differential equations (PDE). (*Partial* as opposed to *ordinary* differential equations in `src/DiffEq`

). At this time, all of these PDEs are used exclusively by Inciter.

`Configure<eq>.[Ch]`

contain functionality related to registration and querying user-configuration information on specific equation types.

All specific equation types "inherit" from a common "base" so that user-configured instances of multiple specific equations (as a potentially coupled system) can be integrated in a generic fashion. This is done using concept-based runtime polymorphism.

The specific equation types are registered into a factory, which leads to generic code for configuring and using existing equation types and adding new ones.

Currently, there are two families of spatial discretizations (or *schemes*) implemented: *continuous* and *discontinuous* Galerkin (CG, DG) finite element methods (FEM). Correspondingly, there are two factories into which PDEs are registered, inciter::

CG discretization in space is combined with a time stepping scheme that is equivalent to the Lax-Wendroff (LW) scheme adopted to the unstructured-mesh finite element context and treats discontinuities with flux-corrected transport (FCT).

DG discretization in space is combined with Runge-Kutta time stepping.

## Directories

- directory CompFlow/
- Partial differential equations for compressible flow.
- directory Integrate/
- Integrals of various PDE operators used in discontinuous Galerkin methods.
- directory MultiMat/
- Partial differential equations for compressible multi-material flow.
- directory Riemann/
- Approximate Riemann solvers.
- directory Transport/
- Partial differential equations for scalar transport.

## Files

- file CGPDE.cpp
- Functions common to ALECG.
- file CGPDE.hpp
- Partial differential equation base for continuous Galerkin PDEs.
- file ConfigureCompFlow.cpp
- Register and compile configuration for compressible flow PDE.
- file ConfigureCompFlow.hpp
- Register and compile configuration for compressible flow PDE.
- file ConfigureMultiMat.cpp
- Register and compile configuration for multi-material compressible flow PDE.
- file ConfigureMultiMat.hpp
- Register and compile configuration for multi-material compressible flow PDE.
- file ConfigureOutVar.cpp
- Assign functions to compute output variables from the numerical solution.
- file ConfigureOutVar.hpp
- Assign functions to compute output variables from the numerical solution.
- file ConfigureTransport.cpp
- Register and compile configuration on the transport PDE.
- file ConfigureTransport.hpp
- Register and compile configuration on the Transport PDE.
- file DGPDE.cpp
- Functions common to discontinuous Galerkin PDE types.
- file DGPDE.hpp
- Partial differential equation base for discontinuous Galerkin PDEs.
- file FunctionPrototypes.hpp
- Function prototypes used in PDE classes.
- file InfoMesh.hpp
- Assemble info on the configuration of solver coupling.
- file Limiter.cpp
- Limiters for discontiunous Galerkin methods.
- file Limiter.hpp
- Limiters for discontiunous Galerkin methods.
- file PDEFactory.hpp
- Differential equations factory.
- file PDEStack.cpp
- Stack of partial differential equations.
- file PDEStack.hpp
- Stack of differential equations.
- file Reconstruction.cpp
- Reconstruction for reconstructed discontinuous Galerkin methods.
- file Reconstruction.hpp
- Reconstruction for reconstructed Galerkin methods.