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_