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].