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

PHAL_HelmholtzResid.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_HELMHOLTZRESID_HPP
00008 #define PHAL_HELMHOLTZRESID_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 #include "Sacado_ParameterAccessor.hpp"
00015 #include "Sacado_ParameterRegistration.hpp"
00016 
00017 namespace PHAL {
00024 template<typename EvalT, typename Traits>
00025 class HelmholtzResid : public PHX::EvaluatorWithBaseImpl<Traits>,
00026            public PHX::EvaluatorDerived<EvalT, Traits>,
00027                        public Sacado::ParameterAccessor<EvalT, SPL_Traits>  {
00028 
00029 
00030 public:
00031   typedef typename EvalT::ScalarT ScalarT;
00032   typedef typename EvalT::MeshScalarT MeshScalarT;
00033 
00034   HelmholtzResid(const Teuchos::ParameterList& p);
00035 
00036   void postRegistrationSetup(typename Traits::SetupData d,
00037                       PHX::FieldManager<Traits>& vm);
00038 
00039   void evaluateFields(typename Traits::EvalData d);
00040 
00041   virtual ScalarT& getValue(const std::string &n) {return ksqr;};
00042 
00043 private:
00044 
00045   // Input:
00046   PHX::MDField<MeshScalarT,Cell,Node,QuadPoint> wBF;
00047   PHX::MDField<ScalarT,Cell,QuadPoint> U;
00048   PHX::MDField<ScalarT,Cell,QuadPoint> V;
00049   PHX::MDField<MeshScalarT,Cell,Node,QuadPoint,Dim> wGradBF;
00050   PHX::MDField<ScalarT,Cell,QuadPoint,Dim> UGrad;
00051   PHX::MDField<ScalarT,Cell,QuadPoint,Dim> VGrad;
00052 
00053   PHX::MDField<ScalarT,Cell,QuadPoint> USource;
00054   PHX::MDField<ScalarT,Cell,QuadPoint> VSource;
00055 
00056   bool haveSource;
00057 
00058   ScalarT ksqr;
00059 
00060   // Output:
00061   PHX::MDField<ScalarT,Cell,Node> UResidual;
00062   PHX::MDField<ScalarT,Cell,Node> VResidual;
00063 };
00064 }
00065 
00066 #endif

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