src/PDE/ directory

Partial differential equations.

Contents

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::CGFactory and inciter::DGFactory. (These are analogous to tk::DiffEqFactory in Walker.)

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 PrefIndicator.cpp
Adaptive indicators for p-adaptive discontiunous Galerkin methods.
file Reconstruction.cpp
Reconstruction for reconstructed discontinuous Galerkin methods.
file Reconstruction.hpp
Reconstruction for reconstructed Galerkin methods.