Function Dune::GDT::prolong

Function template Dune::GDT::prolong

template<class SGV, class V, size_t r, size_t rC, class SR, class TGV, class TR>
std::enable_if_t<!XT::LA::is_vector<SGV>::value, DiscreteFunction<V, TGV, r, rC, TR>> Dune::GDT::prolong(const ConstDiscreteFunction<V, SGV, r, rC, SR> &source, const SpaceInterface<TGV, r, rC, TR> &target_space)

Prolongs a DiscreteFunction from one (usually coarser) GridView onto another (usually finer) one [creates suitable target_function with same VectorType as source, uses target.space().grid_view() as prolongation_grid_view].

Function template Dune::GDT::prolong

template<class SV, class SGV, size_t r, size_t rC, class R, class TV, class TGV, class PGV>
void Dune::GDT::prolong(const DiscreteBochnerFunction<SV, SGV, r, rC, R> &source, DiscreteBochnerFunction<TV, TGV, r, rC, R> &target, const GridView<PGV> &spatial_prolongation_grid_view)

Prolongs a DiscreteBochnerFunction from one (usually coarser) time grid onto another (usually finer) one [most general variant].

Note

Uses prolong() in space.

See also: prolong, interpolate, reinterpret

Function template Dune::GDT::prolong

template<class SV, class SGV, size_t r, size_t rC, class R, class TV, class TGV>
void Dune::GDT::prolong(const DiscreteBochnerFunction<SV, SGV, r, rC, R> &source, DiscreteBochnerFunction<TV, TGV, r, rC, R> &target)

Prolongs a DiscreteBochnerFunction from one (usually coarser) time grid onto another (usually finer) one [uses target.space().spatial_space().grid_view() as spatial_prolongation_grid_view].

Note

Uses prolong() in space.

See also: prolong, interpolate, reinterpret

Function template Dune::GDT::prolong

template<class SV, class SGV, size_t r, size_t rC, class SR, class TV, class TGV, class TR, class PGV>
std::enable_if_t<std::is_same<XT::Grid::extract_entity_t<TGV>, typename PGV::Grid::template Codim<0>::Entity>::value, void> Dune::GDT::prolong(const ConstDiscreteFunction<SV, SGV, r, rC, SR> &source, DiscreteFunction<TV, TGV, r, rC, TR> &target, const GridView<PGV> &prolongation_grid_view)

Prolongs a DiscreteFunction from one (usually coarser) GridView onto another (usually finer) one [most general variant].

Note

This does not clear target.dofs().vector(). Thus, if prolongation_grid_view only covers a part of the domain of target.space().grid_view(), other contributions in target remain (which is on purpose).

See also: interpolate, reinterpret

Function template Dune::GDT::prolong

template<class SV, class SGV, size_t r, size_t rC, class SR, class TV, class TGV, class TR>
void Dune::GDT::prolong(const ConstDiscreteFunction<SV, SGV, r, rC, SR> &source, DiscreteFunction<TV, TGV, r, rC, TR> &target)

Prolongs a DiscreteFunction from one (usually coarser) GridView onto another (usually finer) one [uses target.space().grid_view() as prolongation_grid_view].

Function template Dune::GDT::prolong

template<class TargetVectorType, class SV, class SGV, size_t r, size_t rC, class R, class TGV, class PGV>
std::enable_if_t<XT::LA::is_vector<TargetVectorType>::value && std::is_same<XT::Grid::extract_entity_t<TGV>, typename PGV::Grid::template Codim<0>::Entity>::value, DiscreteBochnerFunction<TargetVectorType, TGV, r, rC, R>> Dune::GDT::prolong(const DiscreteBochnerFunction<SV, SGV, r, rC, R> &source, const BochnerSpace<TGV, r, rC, R> &target_space, const GridView<PGV> &spatial_prolongation_grid_view)

Prolongs a DiscreteBochnerFunction from one (usually coarser) time grid onto another (usually finer) one [creates suitable target_function, TargetVectorType has to be provided].

Use as in

auto target_function = prolong<TargetVectorType>(source, target_space, spatial_prolongation_grid_view);

Function template Dune::GDT::prolong

template<class TargetVectorType, class SV, class SGV, size_t r, size_t rC, class R, class TGV>
std::enable_if_t<XT::LA::is_vector<TargetVectorType>::value, DiscreteBochnerFunction<TargetVectorType, TGV, r, rC, R>> Dune::GDT::prolong(const DiscreteBochnerFunction<SV, SGV, r, rC, R> &source, const BochnerSpace<TGV, r, rC, R> &target_space)

Prolongs a DiscreteBochnerFunction onto target_space, creating a target function of TargetVectorType and using target_space.spatial_space().grid_view() as the spatial prolongation grid view.

Function template Dune::GDT::prolong

template<class TargetVectorType, class SV, class SGV, size_t r, size_t rC, class SR, class TGV, class TR, class PGV>
std::enable_if_t<XT::LA::is_vector<TargetVectorType>::value && std::is_same<XT::Grid::extract_entity_t<TGV>, typename PGV::Grid::template Codim<0>::Entity>::value, DiscreteFunction<TargetVectorType, TGV, r, rC, TR>> Dune::GDT::prolong(const ConstDiscreteFunction<SV, SGV, r, rC, SR> &source, const SpaceInterface<TGV, r, rC, TR> &target_space, const GridView<PGV> &prolongation_grid_view)

Prolongs a DiscreteFunction from one (usually coarser) GridView onto another (usually finer) one [creates suitable target_function, TargetVectorType has to be provided].

Use as in

auto target_function = prolong<TargetVectorType>(source, target_space, prolongation_grid_view);

Function template Dune::GDT::prolong

template<class TargetVectorType, class SV, class SGV, size_t r, size_t rC, class SR, class TGV, class TR>
std::enable_if_t<XT::LA::is_vector<TargetVectorType>::value, DiscreteFunction<TargetVectorType, TGV, r, rC, TR>> Dune::GDT::prolong(const ConstDiscreteFunction<SV, SGV, r, rC, SR> &source, const SpaceInterface<TGV, r, rC, TR> &target_space)

Prolongs a DiscreteFunction from one (usually coarser) GridView onto another (usually finer) one [creates suitable target_function, TargetVectorType has to be provided, uses target.space().grid_view() as prolongation_grid_view].

Use as in

auto target_function = prolong<TargetVectorType>(source, target_space);

Function template Dune::GDT::prolong

template<class V, class SGV, size_t r, size_t rC, class SR, class TGV, class TR, class PGV>
std::enable_if_t<std::is_same<XT::Grid::extract_entity_t<TGV>, typename PGV::Grid::template Codim<0>::Entity>::value, DiscreteFunction<V, TGV, r, rC, TR>> Dune::GDT::prolong(const ConstDiscreteFunction<V, SGV, r, rC, SR> &source, const SpaceInterface<TGV, r, rC, TR> &target_space, const GridView<PGV> &prolongation_grid_view)

Prolongs a DiscreteFunction from one (usually coarser) GridView onto another (usually finer) one [creates suitable target_function with same VectorType as source].