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 &param = <recovery-expr>({})) const final

No documentation provided.

RangeReturnType Dune::XT::Functions::TransformedGridFunction::TransformedLocalFunction::evaluate(const DomainType &xx, const XT::Common::Parameter &param = <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.