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

PHAL_SaveStateField.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_SAVESTATEFIELD_HPP
00008 #define PHAL_SAVESTATEFIELD_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 "Teuchos_ParameterList.hpp"
00016 #include "Epetra_Vector.h"
00017 
00018 namespace PHAL {
00023 template<typename EvalT, typename Traits> 
00024 class SaveStateField : public PHX::EvaluatorWithBaseImpl<Traits>,
00025                        public PHX::EvaluatorDerived<EvalT, Traits>  {
00026   
00027 public:
00028   
00029   SaveStateField(const Teuchos::ParameterList& p);
00030   
00031   void postRegistrationSetup(typename Traits::SetupData d,
00032                       PHX::FieldManager<Traits>& vm);
00033   
00034   void evaluateFields(typename Traits::EvalData d);
00035   
00036 private:
00037 
00038   typedef typename EvalT::ScalarT ScalarT;
00039   typedef typename EvalT::MeshScalarT MeshScalarT;
00040 };
00041 
00042 
00043 template<typename Traits> 
00044 class SaveStateField<PHAL::AlbanyTraits::Residual, Traits> 
00045                     : public PHX::EvaluatorWithBaseImpl<Traits>,
00046                       public PHX::EvaluatorDerived<PHAL::AlbanyTraits::Residual, Traits>  {
00047   
00048 public:
00049   
00050   SaveStateField(const Teuchos::ParameterList& p);
00051   
00052   void postRegistrationSetup(typename Traits::SetupData d,
00053                       PHX::FieldManager<Traits>& vm);
00054   
00055   void evaluateFields(typename Traits::EvalData d);
00056   
00057 private:
00058 
00059   typedef typename PHAL::AlbanyTraits::Residual::ScalarT ScalarT;
00060   typedef typename PHAL::AlbanyTraits::Residual::MeshScalarT MeshScalarT;
00061 
00062   Teuchos::RCP<PHX::FieldTag> savestate_operation;
00063   PHX::MDField<ScalarT> field;
00064   std::string fieldName;
00065   std::string stateName;
00066 };
00067 }
00068 
00069 #endif

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