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

MOR_ReducedOrderModelFactory.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_REDUCEDORDERMODELFACTORY_HPP
00007 #define MOR_REDUCEDORDERMODELFACTORY_HPP
00008 
00009 #include "EpetraExt_ModelEvaluator.h"
00010 
00011 #include "Teuchos_RCP.hpp"
00012 #include "Teuchos_ParameterList.hpp"
00013 
00014 class Epetra_MultiVector;
00015 class Epetra_Map;
00016 
00017 namespace MOR {
00018 
00019 class ReducedSpaceFactory;
00020 
00021 class ReducedOrderModelFactory {
00022 public:
00023   ReducedOrderModelFactory(
00024       const Teuchos::RCP<ReducedSpaceFactory> &spaceFactory,
00025       const Teuchos::RCP<Teuchos::ParameterList> &parentParams);
00026 
00027   Teuchos::RCP<EpetraExt::ModelEvaluator> create(const Teuchos::RCP<EpetraExt::ModelEvaluator> &child);
00028 
00029 private:
00030   Teuchos::RCP<ReducedSpaceFactory> spaceFactory_;
00031   Teuchos::RCP<Teuchos::ParameterList> params_;
00032 
00033   static Teuchos::RCP<Teuchos::ParameterList> extractModelOrderReductionParams(const Teuchos::RCP<Teuchos::ParameterList> &source);
00034   static Teuchos::RCP<Teuchos::ParameterList> extractReducedOrderModelParams(const Teuchos::RCP<Teuchos::ParameterList> &source);
00035 
00036   bool useReducedOrderModel() const;
00037 
00038   // Disallow copy & assignment
00039   ReducedOrderModelFactory(const ReducedOrderModelFactory &);
00040   ReducedOrderModelFactory &operator=(const ReducedOrderModelFactory &);
00041 };
00042 
00043 } // namespace MOR
00044 
00045 #endif /* MOR_REDUCEDORDERMODELFACTORY_HPP */

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