DGConvectionOperator< dim, number, Kernel, VectorizedArrayType > Struct Template Reference

Developer Documentation: MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType > Struct Template Reference
Developer Documentation
MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType > Struct Template Reference

#include <dg_generic_convection_diffusion_worker.hpp>

Classes

struct  FaceFlux
 

Public Types

using ValueType = typename Kernel::ValueType
 
using FluxType = typename Kernel::PhysicalFluxType
 

Static Public Member Functions

static FluxType cell (const ValueType &u, const Kernel &kernel)
 
static FaceFlux face (const ValueType &u_m, const ValueType &u_p, const dealii::Tensor< 1, dim, VectorizedArrayType > &normal, const Kernel &kernel)
 

Detailed Description

template<int dim, typename number, ConvectionKernelType Kernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
struct MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType >

Generic discontinuous Galerkin operator for pure convection problems.

The physical convective flux is defined by a user-provided kernel, which specifies how the flux is computed from the local solution state. Interface contributions are evaluated using a Lax–Friedrichs numerical flux to ensure stability.

Member Typedef Documentation

◆ FluxType

template<int dim, typename number , ConvectionKernelType Kernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
using MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType >::FluxType = typename Kernel::PhysicalFluxType

◆ ValueType

template<int dim, typename number , ConvectionKernelType Kernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
using MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType >::ValueType = typename Kernel::ValueType

Member Function Documentation

◆ cell()

template<int dim, typename number , ConvectionKernelType Kernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
static FluxType MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType >::cell ( const ValueType u,
const Kernel &  kernel 
)
inlinestatic

Compute the convective flux contribution at a cell quadrature point using the provided kernel.

Parameters
uLocal values of the conserved variables at the quadrature point.
kernelUser-provided kernel defining how to compute the convective flux from the local solution values.
Returns
Convective flux contribution for the cell integral.

◆ face()

template<int dim, typename number , ConvectionKernelType Kernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
static FaceFlux MeltPoolDG::Utils::DGConvectionOperator< dim, number, Kernel, VectorizedArrayType >::face ( const ValueType u_m,
const ValueType u_p,
const dealii::Tensor< 1, dim, VectorizedArrayType > &  normal,
const Kernel &  kernel 
)
inlinestatic

Compute the convective flux contribution at a face quadrature point using a Lax-Friedrichs-type numerical flux based on the provided kernel.

Parameters
u_mLocal values of the conserved variables on the inner face.
u_pLocal values of the conserved variables on the outer face.
normalOuter facing normal vector at the face quadrature point.
kernelUser-provided kernel defining how to compute the convective flux from the local solution values.
Returns
Convective flux contribution for the face integral, including both inner and outer face values.

The documentation for this struct was generated from the following file: