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

PHAL_GatherEigenvectors.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 
00007 #ifndef PHAL_GATHER_EIGENVECTORS_HPP
00008 #define PHAL_GATHER_EIGENVECTORS_HPP
00009 
00010 #include "Phalanx_ConfigDefs.hpp"
00011 #include "Phalanx_Evaluator_WithBaseImpl.hpp"
00012 #include "Phalanx_Evaluator_Derived.hpp"
00013 #include "Phalanx_MDField.hpp"
00014 
00015 #include "Albany_Layouts.hpp"
00016 
00017 #include "Teuchos_ParameterList.hpp"
00018 #include "Epetra_Vector.h"
00019 
00020 namespace PHAL {
00029 // **************************************************************
00030 // Base Class with Generic Implementations: Specializations for
00031 // Automatic Differentiation Below 
00032 // **************************************************************
00033 
00034 template<typename EvalT, typename Traits>
00035 class GatherEigenvectors
00036   : public PHX::EvaluatorWithBaseImpl<Traits>,
00037     public PHX::EvaluatorDerived<EvalT, Traits>  {
00038   
00039 public:
00040   
00041   GatherEigenvectors(const Teuchos::ParameterList& p,
00042                      const Teuchos::RCP<Albany::Layouts>& dl);
00043   
00044   void postRegistrationSetup(typename Traits::SetupData d,
00045                       PHX::FieldManager<Traits>& vm);
00046   
00047   void evaluateFields(typename Traits::EvalData d);  
00048 protected:
00049 
00050   typedef typename EvalT::ScalarT ScalarT;
00051   std::vector< PHX::MDField<ScalarT,Cell,Node> > eigenvector_Re;
00052   std::vector< PHX::MDField<ScalarT,Cell,Node> > eigenvector_Im;
00053   std::size_t numNodes;
00054   std::size_t nEigenvectors;
00055 };
00056 
00057 // **************************************************************
00058 }
00059 
00060 #endif

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