DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType > Struct Template Reference

Developer Documentation: MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType > Struct Template Reference
Developer Documentation
MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType > Struct Template Reference

#include <dg_generic_convection_diffusion_worker.hpp>

Classes

struct  FaceFlux
 

Public Types

using ConvectionOperator = DGConvectionOperator< dim, number, ConvectiveKernel, VectorizedArrayType >
 
using DiffusionOperator = DGDiffusionOperator< dim, number, DiffusiveKernel, VectorizedArrayType >
 
using ValueType = typename DiffusionOperator::ValueType
 
using GradientType = typename DiffusionOperator::GradientType
 

Static Public Member Functions

static GradientType cell (const ValueType &u, const GradientType &grad_u, const ConvectiveKernel &convective_kernel, const DiffusiveKernel &diffusion_kernel)
 
static FaceFlux face (const ValueType &u_m, const ValueType &u_p, const GradientType &grad_u_m, const GradientType &grad_u_p, const dealii::Tensor< 1, dim, VectorizedArrayType > &normal, const VectorizedArrayType penalty_parameter, const ConvectiveKernel &convective_kernel, const DiffusiveKernel &diffusion_kernel)
 

Detailed Description

template<int dim, typename number, ConvectionKernelType ConvectiveKernel, DiffusionKernelType DiffusiveKernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
struct MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >

Generic discontinuous Galerkin operator for convection-diffusion problems, combining the DGConvectionOperator and DGDiffusionOperator. The physical convective and diffusive fluxes are defined by user-provided kernels, which specify how the fluxes are computed from local solution values and gradients.

Member Typedef Documentation

◆ ConvectionOperator

template<int dim, typename number , ConvectionKernelType ConvectiveKernel, DiffusionKernelType DiffusiveKernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
using MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >::ConvectionOperator = DGConvectionOperator<dim, number, ConvectiveKernel, VectorizedArrayType>

◆ DiffusionOperator

template<int dim, typename number , ConvectionKernelType ConvectiveKernel, DiffusionKernelType DiffusiveKernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
using MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >::DiffusionOperator = DGDiffusionOperator<dim, number, DiffusiveKernel, VectorizedArrayType>

◆ GradientType

template<int dim, typename number , ConvectionKernelType ConvectiveKernel, DiffusionKernelType DiffusiveKernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
using MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >::GradientType = typename DiffusionOperator::GradientType

◆ ValueType

template<int dim, typename number , ConvectionKernelType ConvectiveKernel, DiffusionKernelType DiffusiveKernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
using MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >::ValueType = typename DiffusionOperator::ValueType

Member Function Documentation

◆ cell()

template<int dim, typename number , ConvectionKernelType ConvectiveKernel, DiffusionKernelType DiffusiveKernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
static GradientType MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >::cell ( const ValueType u,
const GradientType grad_u,
const ConvectiveKernel &  convective_kernel,
const DiffusiveKernel &  diffusion_kernel 
)
inlinestatic

Compute the combined convective and diffusive flux contribution at a cell quadrature point using the provided kernels for computing the physical convective and diffusive fluxes.

Parameters
uLocal values of the conserved variables at the quadrature point.
grad_uLocal gradients of the conserved variables at the quadrature point.
convective_kernelUser-provided kernel defining how to compute the convective flux from the local solution values.
diffusion_kernelUser-provided kernel defining how to compute the diffusive flux from the local solution values and gradients.
Returns
Combined convective and diffusive flux contribution for the cell integral.

◆ face()

template<int dim, typename number , ConvectionKernelType ConvectiveKernel, DiffusionKernelType DiffusiveKernel, typename VectorizedArrayType = dealii::VectorizedArray<number>>
static FaceFlux MeltPoolDG::Utils::DGConvectionDiffusionOperator< dim, number, ConvectiveKernel, DiffusiveKernel, VectorizedArrayType >::face ( const ValueType u_m,
const ValueType u_p,
const GradientType grad_u_m,
const GradientType grad_u_p,
const dealii::Tensor< 1, dim, VectorizedArrayType > &  normal,
const VectorizedArrayType  penalty_parameter,
const ConvectiveKernel &  convective_kernel,
const DiffusiveKernel &  diffusion_kernel 
)
inlinestatic

Compute the combined convective and diffusive face flux contribution at a cell face.

Parameters
u_mLocal values of the conserved variables on the inner side of the face.
u_pLocal values of the conserved variables on the outer side of the face.
grad_u_mLocal gradients of the conserved variables on the inner side of the face.
grad_u_pLocal gradients of the conserved variables on the outer side of the face.
normalOuter facing normal vector at the face quadrature point.
penalty_parameterPenalty parameter for numerical flux computation.
convective_kernelUser-provided kernel defining how to compute the convective flux from local solution values.
diffusion_kernelUser-provided kernel defining how to compute the diffusive flux from local solution values and gradients.
Returns
Combined convective and diffusive face flux contribution for the face integral, including both inner and outer face values and gradients.

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