include/meltpooldg/utilities/dg_generic_convection_diffusion_worker.hpp File Reference

Developer Documentation: include/meltpooldg/utilities/dg_generic_convection_diffusion_worker.hpp File Reference
Developer Documentation
dg_generic_convection_diffusion_worker.hpp File Reference
#include <deal.II/base/tensor.h>
#include <deal.II/base/vectorization.h>
#include <meltpooldg/utilities/dealii_tensor.hpp>
Include dependency graph for dg_generic_convection_diffusion_worker.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType >
 
struct  MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType >::FaceFlux
 
struct  MeltPoolDG::Utils::DGDiffusionOperator< dim, number, Kernel, VectorizedArrayType >
 
struct  MeltPoolDG::Utils::DGDiffusionOperator< dim, number, Kernel, VectorizedArrayType >::FaceFlux
 
struct  MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >
 
struct  MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >::FaceFlux
 

Namespaces

namespace  MeltPoolDG
 Interface for a general preconditioner.
 
namespace  MeltPoolDG::Utils
 Implementation of functions defined by C++23.
 

Concepts

concept  MeltPoolDG::Utils::ConvectionKernelType
 
concept  MeltPoolDG::Utils::DiffusionKernelType
 

Detailed Description

This file provides generic discontinuous Galerkin operators for convection–diffusion type problems. The design follows a kernel-based abstraction:

  • The operators handle the discretization details, i.e., the evaluation of cell and face contributions at quadrature points.
  • The kernels define the physical model by specifying how convective and diffusive fluxes are computed from local solution values and gradients.

By separating discretization logic from flux definitions, the same operator implementation can be reused for different PDE systems simply by supplying different kernel implementations.

The operators are based on a DG formulation using the symmetric interior penalty method for diffusion and a numerical flux formulation for convection. Depending on the selected operator and kernel, this infrastructure can be used for:

  • Pure convection problems,
  • Pure diffusion problems, or
  • Coupled convection-diffusion problems.

The provided operators are intended for matrix-free implementations, where cell and face integrals are evaluated directly at quadrature points. To support this usage, separate interfaces are provided for computing:

  • Cell contributions (volume integrals), and
  • Face contributions (numerical fluxes across interfaces).