• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

MOR_ObserverFactory.hpp

Go to the documentation of this file.
00001 //*****************************************************************//
00002 //    Albany 2.0:  Copyright 2012 Sandia Corporation               //
00003 //    This Software is released under the BSD license detailed     //
00004 //    in the file "license.txt" in the top-level Albany directory  //
00005 //*****************************************************************//
00006 #ifndef MOR_MOROBSERVERFACTORY_HPP
00007 #define MOR_MOROBSERVERFACTORY_HPP
00008 
00009 #include "NOX_Epetra_Observer.H"
00010 #include "Rythmos_IntegrationObserverBase.hpp"
00011 
00012 #include "Teuchos_RCP.hpp"
00013 #include "Teuchos_ParameterList.hpp"
00014 
00015 #include "Epetra_Map.h"
00016 
00017 namespace MOR {
00018 
00019 class ReducedSpaceFactory;
00020 
00021 class ObserverFactory {
00022 public:
00023   ObserverFactory(
00024       const Teuchos::RCP<ReducedSpaceFactory> &spaceFactory,
00025       const Teuchos::RCP<Teuchos::ParameterList> &parentParams);
00026 
00027   Teuchos::RCP<NOX::Epetra::Observer> create(const Teuchos::RCP<NOX::Epetra::Observer> &child);
00028   Teuchos::RCP<Rythmos::IntegrationObserverBase<double> > create(const Teuchos::RCP<Rythmos::IntegrationObserverBase<double> > &child);
00029 
00030 private:
00031   bool collectSnapshots() const;
00032   bool computeProjectionError() const;
00033   bool useReducedOrderModel() const;
00034   bool observeGeneralizedCoordinates() const;
00035 
00036   Teuchos::RCP<Teuchos::ParameterList> getSnapParameters() const;
00037   Teuchos::RCP<Teuchos::ParameterList> getErrorParameters() const;
00038   Teuchos::RCP<Teuchos::ParameterList> getReducedOrderModelParameters() const;
00039   Teuchos::RCP<Teuchos::ParameterList> getGeneralizedCoordinatesParameters() const;
00040 
00041   Teuchos::RCP<ReducedSpaceFactory> spaceFactory_;
00042   Teuchos::RCP<Teuchos::ParameterList> params_;
00043 
00044   // Disallow copy & assignment
00045   ObserverFactory(const ObserverFactory &);
00046   ObserverFactory &operator=(const ObserverFactory &);
00047 };
00048 
00049 } // namespace MOR
00050 
00051 #endif /* MOR_MOROBSERVERFACTORY_HPP */

Generated on Wed Mar 26 2014 18:36:40 for Albany: a Trilinos-based PDE code by  doxygen 1.7.1