1 #include "parameters/all_parameters.h" 2 #include "parameters/parameters_artificial_dissipation.h" 3 #include <deal.II/base/tensor.h> 4 #include "artificial_dissipation_factory.h" 5 #include "artificial_dissipation.h" 9 template <
int dim,
int nstate>
10 std::shared_ptr < ArtificialDissipationBase<dim,nstate> >
16 switch (arti_dissipation_type)
18 case artificial_dissipation_enum::laplacian:
20 return std::make_shared<LaplacianArtificialDissipation<dim,nstate>>(parameters_input);
24 case artificial_dissipation_enum::physical:
26 if constexpr(dim+2==nstate)
28 std::cout<<
"Physical Artifical Dissipation pointer created"<<std::endl;
29 return std::make_shared<PhysicalArtificialDissipation<dim,nstate>>(parameters_input);
34 case artificial_dissipation_enum::enthalpy_conserving_laplacian:
36 if constexpr(dim+2==nstate)
38 std::cout<<
"Enthalpy Conserving Laplacian Artifical Dissipation pointer created"<<std::endl;
39 return std::make_shared<EnthalpyConservingArtificialDissipation<dim,nstate>>(parameters_input);
46 assert(0==1 &&
"Cannot create artificial dissipation due to an invalid artificial dissipation type specified for the problem");
Files for the baseline physics.
Main parameter class that contains the various other sub-parameter classes.
static std::shared_ptr< ArtificialDissipationBase< dim, nstate > > create_artificial_dissipation(const Parameters::AllParameters *const parameters_input)
Creates artificial dissipation type depending on input parameters.
ArtificialDissipationType
Specified choices of artificial dissipation type.
ArtificialDissipationType artificial_dissipation_type
Selected artificial dissipation type specified in the input.
Creates artificial dissipation pointer.
ArtificialDissipationParam artificial_dissipation_param
Contains parameters for artificial dissipation.