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

Albany_MORFacadeImpl.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 ALBANY_MORFACADEIMPL_HPP
00007 #define ALBANY_MORFACADEIMPL_HPP
00008 
00009 #include "Albany_MORFacade.hpp"
00010 
00011 #include "MOR_ReducedBasisFactory.hpp"
00012 #include "MOR_ReducedSpaceFactory.hpp"
00013 #include "MOR_SampleDofListFactory.hpp"
00014 
00015 #include "MOR_ReducedOrderModelFactory.hpp"
00016 #include "MOR_ObserverFactory.hpp"
00017 
00018 #include "Albany_STKDiscretization.hpp"
00019 
00020 namespace Albany {
00021 
00022 class MORFacadeImpl : public MORFacade {
00023 public:
00024   MORFacadeImpl(
00025       const Teuchos::RCP<STKDiscretization> &disc,
00026       const Teuchos::RCP<Teuchos::ParameterList> &params);
00027 
00028   virtual Teuchos::RCP<MOR::ReducedOrderModelFactory> modelFactory() const;
00029   virtual Teuchos::RCP<MOR::ObserverFactory> observerFactory() const;
00030 
00031   MOR::ReducedBasisFactory &basisFactory();
00032   MOR::SampleDofListFactory &samplingFactory();
00033   MOR::ReducedSpaceFactory &spaceFactory();
00034 
00035 private:
00036   Teuchos::RCP<MOR::ReducedBasisFactory> basisFactory_;
00037   Teuchos::RCP<MOR::SampleDofListFactory> samplingFactory_;
00038   Teuchos::RCP<MOR::ReducedSpaceFactory> spaceFactory_;
00039 
00040   Teuchos::RCP<MOR::ReducedOrderModelFactory> modelFactory_;
00041   Teuchos::RCP<MOR::ObserverFactory> observerFactory_;
00042 };
00043 
00044 inline
00045 MOR::ReducedBasisFactory &
00046 MORFacadeImpl::basisFactory()
00047 {
00048   return *basisFactory_;
00049 }
00050 
00051 inline
00052 MOR::SampleDofListFactory &
00053 MORFacadeImpl::samplingFactory()
00054 {
00055   return *samplingFactory_;
00056 }
00057 
00058 inline
00059 MOR::ReducedSpaceFactory &
00060 MORFacadeImpl::spaceFactory()
00061 {
00062   return *spaceFactory_;
00063 }
00064 
00065 
00066 // Entry point also declared with base class Albany::MORFacade
00067 Teuchos::RCP<MORFacade> createMORFacade(
00068     const Teuchos::RCP<AbstractDiscretization> &disc,
00069     const Teuchos::RCP<Teuchos::ParameterList> &params);
00070 
00071 } // end namespace Albany
00072 
00073 #endif /* ALBANY_MORFACADEIMPL_HPP */

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