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 >
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>>
|
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
-
u Local values of the conserved variables at the quadrature point. grad_u Local gradients of the conserved variables at the quadrature point. convective_kernel User-provided kernel defining how to compute the convective flux from the local solution values. diffusion_kernel User-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>>
|
inlinestatic |
Compute the combined convective and diffusive face flux contribution at a cell face.
- Parameters
-
u_m Local values of the conserved variables on the inner side of the face. u_p Local values of the conserved variables on the outer side of the face. grad_u_m Local gradients of the conserved variables on the inner side of the face. grad_u_p Local gradients of the conserved variables on the outer side of the face. normal Outer facing normal vector at the face quadrature point. penalty_parameter Penalty parameter for numerical flux computation. convective_kernel User-provided kernel defining how to compute the convective flux from local solution values. diffusion_kernel User-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:
- include/meltpooldg/utilities/dg_generic_convection_diffusion_worker.hpp
Generated by