Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef MOR_RYTHMOSSNAPSHOTCOLLECTIONOBSERVER_HPP
00007 #define MOR_RYTHMOSSNAPSHOTCOLLECTIONOBSERVER_HPP
00008
00009 #include "Rythmos_IntegrationObserverBase.hpp"
00010
00011 #include "MOR_SnapshotCollection.hpp"
00012
00013 namespace MOR {
00014
00015 class MultiVectorOutputFile;
00016
00017 class RythmosSnapshotCollectionObserver : public Rythmos::IntegrationObserverBase<double> {
00018 public:
00019 RythmosSnapshotCollectionObserver(
00020 int period,
00021 Teuchos::RCP<MultiVectorOutputFile> snapshotFile);
00022
00023
00024 virtual Teuchos::RCP<Rythmos::IntegrationObserverBase<double> > cloneIntegrationObserver() const;
00025
00026 virtual void resetIntegrationObserver(const Rythmos::TimeRange<double> &integrationTimeDomain);
00027
00028 virtual void observeStartTimeIntegration(
00029 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 SnapshotCollection snapshotCollector_;
00038
00039 virtual void observeTimeStep(const Rythmos::StepperBase<double> &stepper);
00040 };
00041
00042 }
00043
00044 #endif