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

PHAL_DOFInterpolation.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_DOF_INTERPOLATION_HPP
00008 #define PHAL_DOF_INTERPOLATION_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 namespace PHAL {
00024 template<typename EvalT, typename Traits>
00025 class DOFInterpolation : public PHX::EvaluatorWithBaseImpl<Traits>,
00026        public PHX::EvaluatorDerived<EvalT, Traits>  {
00027 
00028 public:
00029 
00030   DOFInterpolation(const Teuchos::ParameterList& p,
00031                               const Teuchos::RCP<Albany::Layouts>& dl);
00032 
00033   void postRegistrationSetup(typename Traits::SetupData d,
00034                       PHX::FieldManager<Traits>& vm);
00035 
00036   void evaluateFields(typename Traits::EvalData d);
00037 
00038 private:
00039 
00040   typedef typename EvalT::ScalarT ScalarT;
00041 
00042   // Input:
00044   PHX::MDField<ScalarT,Cell,Node> val_node;
00046   PHX::MDField<RealType,Cell,Node,QuadPoint> BF;
00047 
00048   // Output:
00050   PHX::MDField<ScalarT,Cell,QuadPoint> val_qp;
00051 
00052   std::size_t numNodes;
00053   std::size_t numQPs;
00054 };
00055 
00057 template<typename Traits>
00058 class DOFInterpolation<PHAL::AlbanyTraits::Jacobian, Traits>
00059       : public PHX::EvaluatorWithBaseImpl<Traits>,
00060         public PHX::EvaluatorDerived<PHAL::AlbanyTraits::Jacobian, Traits>  {
00061 
00062 public:
00063 
00064   DOFInterpolation(const Teuchos::ParameterList& p,
00065                               const Teuchos::RCP<Albany::Layouts>& dl);
00066 
00067   void postRegistrationSetup(typename Traits::SetupData d,
00068                       PHX::FieldManager<Traits>& vm);
00069 
00070   void evaluateFields(typename Traits::EvalData d);
00071 
00072 private:
00073 
00074   typedef PHAL::AlbanyTraits::Jacobian::ScalarT ScalarT;
00075 
00076   // Input:
00078   PHX::MDField<ScalarT,Cell,Node> val_node;
00080   PHX::MDField<RealType,Cell,Node,QuadPoint> BF;
00081 
00082   // Output:
00084   PHX::MDField<ScalarT,Cell,QuadPoint> val_qp;
00085 
00086   std::size_t numNodes;
00087   std::size_t numQPs;
00088   std::size_t offset;
00089 };
00090 
00091 }
00092 
00093 #endif

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