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

HydFractionResid.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 HYDFRACTIONRESID_HPP
00008 #define HYDFRACTIONRESID_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 #include "Teuchos_Array.hpp"
00018 
00019 #include "Albany_Layouts.hpp"
00020 
00021 #include "QCAD_MaterialDatabase.hpp"
00022 
00023 namespace PHAL {
00024 
00031 template<typename EvalT, typename Traits>
00032 class HydFractionResid : public PHX::EvaluatorWithBaseImpl<Traits>,
00033         public PHX::EvaluatorDerived<EvalT, Traits>  {
00034 
00035 public:
00036 
00037   HydFractionResid(Teuchos::ParameterList& p,
00038                    const Teuchos::RCP<Albany::Layouts>& dl);
00039 
00040   void postRegistrationSetup(typename Traits::SetupData d,
00041                       PHX::FieldManager<Traits>& vm);
00042 
00043   void evaluateFields(typename Traits::EvalData d);
00044 
00045 private:
00046 
00047   typedef typename EvalT::ScalarT ScalarT;
00048   typedef typename EvalT::MeshScalarT MeshScalarT;
00049 
00050   // Input:
00051   PHX::MDField<MeshScalarT,Cell,Node,QuadPoint> wBF;
00052   PHX::MDField<ScalarT,Cell,QuadPoint> Temperature;
00053   PHX::MDField<ScalarT,Cell,QuadPoint> Tdot;
00054   PHX::MDField<ScalarT,Cell,QuadPoint> Fhdot;
00055   PHX::MDField<ScalarT,Cell,QuadPoint> Fh;
00056   PHX::MDField<ScalarT,Cell,QuadPoint> JThermCond;
00057   PHX::MDField<MeshScalarT,Cell,Node,QuadPoint,Dim> wGradBF;
00058   PHX::MDField<ScalarT,Cell,QuadPoint,Dim> TGrad;
00059 
00060   // Output:
00061   PHX::MDField<ScalarT,Cell,Node> FhResidual;
00062 
00063   unsigned int numQPs, numDims, numNodes, worksetSize;
00064   Intrepid::FieldContainer<ScalarT> JGrad;
00065   Intrepid::FieldContainer<ScalarT> fh_coef;
00066   Intrepid::FieldContainer<ScalarT> fh_time_term;
00067   Intrepid::FieldContainer<ScalarT> CHZr_coef;
00068   Intrepid::FieldContainer<ScalarT> CH_time_term;
00069 
00071   std::string type; 
00072 
00074   ScalarT C_HHyd;
00075   ScalarT R;
00076   ScalarT CTSo;
00077   ScalarT delQ;
00078   ScalarT delWm;
00079   ScalarT stoi;
00080   ScalarT Vh;
00081   ScalarT delG;
00082 
00084   Teuchos::RCP<const Teuchos::ParameterList>
00085                getValidHydFractionParameters() const;
00086 
00088   Teuchos::RCP<QCAD::MaterialDatabase> materialDB;
00089 
00091   const Teuchos::RCP<Albany::Layouts>& dl_;
00092 
00093 };
00094 }
00095 
00096 #endif

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