LSPG: Unsteady#

Header: <pressio/rom_lspg_unsteady.hpp>

API#

namespace pressio{ namespace rom{ namespace lspg{

template<
  class TrialSubspaceType,
  class FomSystemType>
#ifdef PRESSIO_ENABLE_CXX20
requires PossiblyAffineRealValuedTrialColumnSubspace<TrialSubspaceType>
&& RealValuedSemiDiscreteFomWithJacobianAction<FomSystemType, typename TrialSubspaceType::basis_matrix_type>
&& std::same_as<typename TrialSubspaceType::full_state_type, typename FomSystemType::state_type>
#endif
auto create_unsteady_problem(::pressio::ode::StepScheme schemeName,    /*(1)*/
			     const TrialSubspaceType & trialSpace,
			     const FomSystemType & fomSystem)

#ifdef PRESSIO_ENABLE_CXX20
template<class TrialSubspaceType, class FomSystemType, class MaskerType>
  requires PossiblyAffineRealValuedTrialColumnSubspace<TrialSubspaceType>
  && RealValuedSemiDiscreteFomWithJacobianAction<FomSystemType, typename TrialSubspaceType::basis_matrix_type>
  && std::same_as<typename TrialSubspaceType::full_state_type, typename FomSystemType::state_type>
  && MaskableWith<typename FomSystemType::rhs_type, MaskerType>
  && MaskableWith<impl::fom_jac_action_on_trial_space_t<FomSystemType, TrialSubspaceType>, MaskerType>
#endif
auto create_unsteady_problem(::pressio::ode::StepScheme schemeName,    /*(2)*/
			     const TrialSubspaceType & trialSpace,
			     const FomSystemType & fomSystem,
			     const MaskerType & masker)

#ifdef PRESSIO_ENABLE_CXX20
template<class TrialSubspaceType, class FomSystemType, class HypRedUpdaterType>
  requires PossiblyAffineRealValuedTrialColumnSubspace<TrialSubspaceType>
  && RealValuedSemiDiscreteFomWithJacobianAction<FomSystemType, typename TrialSubspaceType::basis_matrix_type>
  && std::same_as<typename TrialSubspaceType::full_state_type, typename FomSystemType::state_type>
#endif
auto create_unsteady_problem(::pressio::ode::StepScheme schemeName,    /*(3)*/
			     const TrialSubspaceType & trialSpace,
			     const FomSystemType & fomSystem,

namespace experimental{

template<
  class TrialSubspaceType,
  class FomSystemType,
  class ScalingOperatorType>
#ifdef PRESSIO_ENABLE_CXX20
requires PossiblyAffineRealValuedTrialColumnSubspace<TrialSubspaceType>
&& RealValuedSemiDiscreteFomWithJacobianAction<FomSystemType, typename TrialSubspaceType::basis_matrix_type>
&& std::same_as<typename TrialSubspaceType::full_state_type, typename FomSystemType::state_type>
#endif
auto create_unsteady_problem(::pressio::ode::StepScheme schemeName,    /*(4)*/
			     const TrialSubspaceType & trialSpace,
			     const FomSystemType & fomSystem,
			     const ScalingOperatorType & scaler)
template<
  class TrialSubspaceType,
  class FomSystemType,
  class HypRedUpdaterType,
  class ScalingOperatorType>
#ifdef PRESSIO_ENABLE_CXX20
requires PossiblyAffineRealValuedTrialColumnSubspace<TrialSubspaceType>
&& RealValuedSemiDiscreteFomWithJacobianAction<FomSystemType, typename TrialSubspaceType::basis_matrix_type>
&& std::same_as<typename TrialSubspaceType::full_state_type, typename FomSystemType::state_type>
#endif
auto create_unsteady_problem(::pressio::ode::StepScheme schemeName,    /*(5)*/
			     const TrialSubspaceType & trialSpace,
			     const FomSystemType & fomSystem,
			     const HypRedUpdaterType & hypRedUpdater,
			     const ScalingOperatorType & scaler)

} //end namespace experimental

template<
  std::size_t TotalNumberOfDesiredStates,
  class TrialSubspaceType,
  class FomSystemType>
#ifdef PRESSIO_ENABLE_CXX20
requires PossiblyAffineRealValuedTrialColumnSubspace<TrialSubspaceType>
&& RealValuedFullyDiscreteSystemWithJacobianAction<
     FomSystemType, TotalNumberOfDesiredStates, typename TrialSubspaceType::basis_matrix_type>
#endif
auto create_unsteady_problem(const TrialSubspaceType & trialSpace,     /*(6)*/
			     const FomSystemType & fomSystem)

}}} // end pressio::rom::lspg