Class template Dune::XT::Functions::TransformedGridFunction¶
Inherits from Dune::XT::Functions::GridFunctionInterface.
-
template<class GF, size_t r = GF::r, size_t rC = GF::rC, class R = typename GF::R>
class Dune::XT::Functions::TransformedGridFunction : public XT::Functions::GridFunctionInterface<typename GF::E, r, rC, R>¶ Can be used to apply a transformation to the evaluation of a given function.
const double gamma = 1.4; const auto to_primitive = [&](const auto& conservative_variables) { const auto& density = conservative_variables[0]; DomainType velocity; for (size_t ii = 0; ii < d; ++ii) velocity = conservative_variables[ii + 1] / density; const auto& energy = conservative_variables[m - 1]; FieldVector<R, d + 2> primitive_variables; primitive_variables[0] = density; for (size_t ii = 0; ii < d; ++ii) primitive_variables[ii + 1] = velocity[ii]; primitive_variables[m - 1] = (gamma - 1.) * (energy - 0.5 * density * velocity.two_norm2()); return primitive_variables; }; auto u_primitive = XT::Functions::make_transformed_function<d + 2, 1, R>(u_conservative, to_primitive);
Consider a given function u: R^d -> R^{d+2}, i.e. modeling the conservative variables [density (scalar), density*velocity (d-dimensional), energy (scalar)] in the context of the euler equations and one wishes to obtain a function modeling the primitive variables [density (scalar), velocity (d-dimensional), pressure (scalar)], the following code would achieve just that (with u_conservative already given):
Class Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction¶
Inherits from Dune::XT::Functions::ElementFunctionInterface.
-
class Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction : public XT::Functions::ElementFunctionInterface<typename GF::E, r, rC, R>¶
No documentation provided.
-
void Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::post_bind(const ElementType &element) final¶
No documentation provided.
-
int Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::order(const XT::Common::Parameter ¶m =
<recovery-expr>({})) const final¶ No documentation provided.
-
RangeReturnType Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::evaluate(const DomainType &xx, const XT::Common::Parameter ¶m =
<recovery-expr>({})) const final¶ No documentation provided.
-
DerivativeRangeReturnType Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::jacobian(const DomainType&, const XT::Common::Parameter& =
<recovery-expr>({})) const final¶ No documentation provided.
-
Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::TransformedLocalFunction(const GF &function, const Transformation &transformation)¶
No documentation provided.
-
int Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::function_¶
No documentation provided.
-
int Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::local_function_¶
No documentation provided.
-
const Transformation &Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::transformation_¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::BaseType¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::UntransformedLocalFunctionType¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::UntransformedRangeType¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::Transformation¶
No documentation provided.
-
ThisType *Dune::XT::Functions::TransformedGridFunction::copy_as_grid_function_impl() const override¶
No documentation provided.
-
int Dune::XT::Functions::TransformedGridFunction::copy_as_grid_function() const¶
No documentation provided.
-
std::string Dune::XT::Functions::TransformedGridFunction::name() const final¶
No documentation provided.
-
int Dune::XT::Functions::TransformedGridFunction::local_function() const final¶
No documentation provided.
-
template<>
Dune::XT::Functions::TransformedGridFunction::TransformedGridFunction<GF, r, rC, R>(const GF &func, std::function<TransformedRangeType(const UntransformedRangeType&)> transformation, const std::string &nm =<recovery-expr>(""))¶ No documentation provided.
-
template<>
Dune::XT::Functions::TransformedGridFunction::TransformedGridFunction<GF, r, rC, R>(const ThisType &other)¶ No documentation provided.
-
template<>
Dune::XT::Functions::TransformedGridFunction::TransformedGridFunction<GF, r, rC, R>(ThisType&&) noexcept = default¶ No documentation provided.
-
int Dune::XT::Functions::TransformedGridFunction::function_¶
No documentation provided.
-
const typename TransformedLocalFunction::Transformation Dune::XT::Functions::TransformedGridFunction::transformation_¶
No documentation provided.
-
const std::string Dune::XT::Functions::TransformedGridFunction::name_¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::ThisType¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::BaseType¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::UntransformedRangeType¶
No documentation provided.
-
type Dune::XT::Functions::TransformedGridFunction::TransformedRangeType¶
No documentation provided.