Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef MOR_RYTHMOSPROJECTIONERROROBSERVER_HPP
00007 #define MOR_RYTHMOSPROJECTIONERROROBSERVER_HPP
00008
00009 #include "Rythmos_IntegrationObserverBase.hpp"
00010
00011 #include "MOR_ProjectionError.hpp"
00012
00013 namespace MOR {
00014
00015 class ReducedSpace;
00016 class MultiVectorOutputFile;
00017
00018 class RythmosProjectionErrorObserver : public Rythmos::IntegrationObserverBase<double> {
00019 public:
00020 RythmosProjectionErrorObserver(
00021 const Teuchos::RCP<ReducedSpace> &projectionSpace,
00022 const Teuchos::RCP<MultiVectorOutputFile> &errorFile);
00023
00024
00025 virtual Teuchos::RCP<Rythmos::IntegrationObserverBase<double> > cloneIntegrationObserver() const;
00026
00027 virtual void resetIntegrationObserver(const Rythmos::TimeRange<double> &integrationTimeDomain);
00028
00029 virtual void observeStartTimeIntegration(const Rythmos::StepperBase<double> &stepper);
00030
00031 virtual void observeCompletedTimeStep(
00032 const Rythmos::StepperBase<double> &stepper,
00033 const Rythmos::StepControlInfo<double> &stepCtrlInfo,
00034 const int timeStepIter);
00035
00036 private:
00037 ProjectionError projectionError_;
00038
00039 virtual void observeTimeStep(const Rythmos::StepperBase<double> &stepper);
00040 };
00041
00042 }
00043
00044 #endif