LSPG: Steady#

Header: <pressio/rom_lspg_steady.hpp>

API#

// -------------------------------------------------------------
template<
  class TrialSubspaceType,
  class FomSystemType>
auto create_steady_problem(const TrialSubspaceType & trialSpace,   /*(1)*/
			   const FomSystemType & fomSystem)

{

  using reduced_state_type = typename TrialSubspaceType::reduced_state_type;
namespace pressio{ namespace rom{ namespace lspg{
auto create_steady_problem(const TrialSubspaceType & trialSpace,  /*(2)*/
			   const FomSystemType & fomSystem,
			   const MaskerType & masker)
{

  using reduced_state_type = typename TrialSubspaceType::reduced_state_type;
  using scaler_type = impl::NoOperation<void>;
  using system_type = impl::LspgSteadyMaskedSystem<
    reduced_state_type, TrialSubspaceType, FomSystemType, MaskerType, scaler_type>;
  return system_type(trialSpace, fomSystem, masker, scaler_type{});
}

namespace pressio{ namespace rom{ namespace lspg{
  using reduced_state_type = typename TrialSubspaceType::reduced_state_type;
  using scaler_type = std::reference_wrapper<const ScalingOperatorType>;
  using system_type = impl::LspgSteadyDefaultSystem<
    reduced_state_type, TrialSubspaceType, FomSystemType, scaler_type>;
  return system_type(trialSpace, fomSystem, scaler);
}

// -------------------------------------------------------------
// masked with scaling
// -------------------------------------------------------------
template<
  class TrialSubspaceType,
namespace pressio{ namespace rom{ namespace lspg{
    reduced_state_type, TrialSubspaceType, FomSystemType, MaskerType, scaler_type>;
  return system_type(trialSpace, fomSystem, masker, scaler);
}

} // end experimental

}}} // end pressio::rom::lspg
#endif  // PRESSIO_ROM_LSPG_STEADY_HPP_