include/meltpooldg/compressible_flow/kernels_multi_species.hpp Source File

Developer Documentation: include/meltpooldg/compressible_flow/kernels_multi_species.hpp Source File
Developer Documentation
kernels_multi_species.hpp
Go to the documentation of this file.
1#pragma once
2
8
10{
11 template <int dim, int n_species, typename number, typename ValueTypeIn, typename FluxTypeIn>
13 {
14 using ValueType = ValueTypeIn;
15 using PhysicalFluxType = FluxTypeIn;
16
20
24
31 flux(const ValueType &conserved_variables) const
32 {
34 if (n_species > 1)
35 {
36 SpeciesTransport::
37 compute_convective_flux<n_species, DofStateView, SpeciesWritableFluxView>(
38 DofStateView(conserved_variables, material), SpeciesWritableFluxView(flux));
39 }
40 CompressibleFlow::convective_flux<dim, DofStateView, FlowWritableFluxView>(
41 DofStateView(conserved_variables, material), FlowWritableFluxView(flux));
42 return flux;
43 }
44
51 dealii::VectorizedArray<number>
52 local_maximum_wave_speed(const ValueType &u_m, const ValueType &u_p) const
53 {
54 return maximum_local_wave_speed<DofStateView, dealii::VectorizedArray<number>>(
56 }
57
58 private:
60 };
61
62 template <int dim,
63 int n_species,
64 typename number,
67 typename FluxTypeIn = CompressibleFlow::FluxType<dim, number>>
69 {
70 using ValueType = ValueTypeIn;
71 using GradientType = GradientTypeIn;
72 using PhysicalFluxType = FluxTypeIn;
73
76 n_species,
77 number,
78 const ValueType,
79 const GradientType>;
80
83
91
99 flux(const ValueType &u, const GradientType &grad_u) const
100 {
102 diffusive_flux<dim, typename ValueType::value_type, DofStateViewType, WritableFluxViewType>(
104
105 if (n_species > 1)
106 {
107 SpeciesTransport::
108 compute_diffusive_flux<n_species, DofStateViewType, SpeciesWritableFluxView>(
111 typename ValueType::value_type,
115 }
116 return flux;
117 }
118
119 private:
121 };
122} // namespace MeltPoolDG::CompressibleFlow
This file contains various functions that can be used to set and evaluate boundary conditions for the...
Definition boundary_condition_functions.hpp:17
dealii::Tensor< 1, n_conserved_variables< dim, n_species >, dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > > FluxType
Definition data_types.hpp:51
dealii::Tensor< 1, n_conserved_variables< dim, n_species >, dealii::Tensor< 1, dim, VectorizedArrayType > > ConservedVariablesGradientType
Definition data_types.hpp:44
dealii::Tensor< 1, n_conserved_variables< dim, n_species >, VectorizedArrayType > ConservedVariablesType
Definition data_types.hpp:35
void interdiffusional_enthalpy_flux(const ConservedVariablesView &conserved_variables, const WritableFluxView &flux)
Definition kernels.hpp:97
This file provides a collection of view types for the compressible Navier–Stokes solver....
Definition state_views.hpp:278
Collection of material parameters for a specific fluid phase.
Definition material.hpp:119
Definition state_views_multi_species.hpp:122
Definition state_views_multi_species.hpp:278
FluxTypeIn PhysicalFluxType
Definition kernels_multi_species.hpp:15
MultiSpeciesFluxView< dim, n_species, PhysicalFluxType > SpeciesWritableFluxView
Definition kernels_multi_species.hpp:18
const MaterialPhaseData< number > & material
Definition kernels_multi_species.hpp:59
PhysicalFluxType flux(const ValueType &conserved_variables) const
Definition kernels_multi_species.hpp:31
ValueTypeIn ValueType
Definition kernels_multi_species.hpp:14
SpeciesTransportConvectiveFlux(const MaterialPhaseData< number > &material)
Definition kernels_multi_species.hpp:21
FluxView< dim, PhysicalFluxType > FlowWritableFluxView
Definition kernels_multi_species.hpp:19
MultiSpeciesDofStateView< dim, n_species, number, const ValueType > DofStateView
Definition kernels_multi_species.hpp:17
dealii::VectorizedArray< number > local_maximum_wave_speed(const ValueType &u_m, const ValueType &u_p) const
Definition kernels_multi_species.hpp:52
SpeciesTransportDiffusiveFlux(const MaterialPhaseData< number > &material)
Definition kernels_multi_species.hpp:88
PhysicalFluxType flux(const ValueType &u, const GradientType &grad_u) const
Definition kernels_multi_species.hpp:99
CompressibleFlow::MultiSpeciesDofValueAndGradientStateView< dim, n_species, number, const ValueType, const GradientType > DofStateViewType
Definition kernels_multi_species.hpp:79
ValueTypeIn ValueType
Definition kernels_multi_species.hpp:70
GradientTypeIn GradientType
Definition kernels_multi_species.hpp:71
FluxTypeIn PhysicalFluxType
Definition kernels_multi_species.hpp:72
CompressibleFlow::FluxView< dim, PhysicalFluxType > WritableFluxViewType
Definition kernels_multi_species.hpp:81
MultiSpeciesFluxView< dim, n_species, PhysicalFluxType > SpeciesWritableFluxView
Definition kernels_multi_species.hpp:82
const MaterialPhaseData< number > & material
Definition kernels_multi_species.hpp:120