23 auto const stabilization_config =
26 if (!stabilization_config)
33 stabilization_config->getConfigParameter<std::string>(
"type");
35 INFO(
"Using {:s} numerical stabilization.", type);
36 if (type ==
"IsotropicDiffusion")
38 auto const cutoff_velocity =
40 stabilization_config->getConfigParameter<
double>(
"cutoff_velocity");
42 auto const tuning_parameter =
44 stabilization_config->getConfigParameter<
double>(
48 cutoff_velocity, tuning_parameter,
51 if (type ==
"FullUpwind")
53 auto const cutoff_velocity =
55 stabilization_config->getConfigParameter<
double>(
"cutoff_velocity");
59 if (type ==
"FluxCorrectedTransport")
64 OGS_FATAL(
"The stabilization type {:s} is not available.", type);
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition of the Mesh class.
std::optional< ConfigTree > getConfigSubtreeOptional(std::string const &root) const
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.
std::vector< double > getMaxiumElementEdgeLengths(std::vector< Element * > const &elements)
Returns the maximum lengths of the edges for each element.
std::variant< NoStabilization, IsotropicDiffusionStabilization, FullUpwind, FluxCorrectedTransport > NumericalStabilization
NumericalStabilization createNumericalStabilization(MeshLib::Mesh const &mesh, BaseLib::ConfigTree const &config)