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

PHAL_ComprNSViscosity.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_COMPRNSVISCOSITY_HPP
00008 #define PHAL_COMPRNSVISCOSITY_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 namespace PHAL {
00022 template<typename EvalT, typename Traits>
00023 class ComprNSViscosity : public PHX::EvaluatorWithBaseImpl<Traits>,
00024         public PHX::EvaluatorDerived<EvalT, Traits> {
00025 
00026 public:
00027 
00028   typedef typename EvalT::ScalarT ScalarT;
00029 
00030   ComprNSViscosity(const Teuchos::ParameterList& p);
00031 
00032   void postRegistrationSetup(typename Traits::SetupData d,
00033                       PHX::FieldManager<Traits>& vm);
00034 
00035   void evaluateFields(typename Traits::EvalData d);
00036 
00037 
00038 private:
00039  
00040   typedef typename EvalT::MeshScalarT MeshScalarT;
00041 
00042   // Input:  
00043   PHX::MDField<MeshScalarT,Cell,QuadPoint, Dim> coordVec;
00044   PHX::MDField<ScalarT,Cell,QuadPoint,VecDim> qFluct; //vector q' containing fluid fluctuations in primitive variables
00045   PHX::MDField<ScalarT,Cell,QuadPoint,VecDim,Dim> qFluctGrad;
00046   //reference values for viscosities
00047   double muref; 
00048   double kapparef; 
00049   double Tref; //reference temperature -- needed for Sutherland's viscosity law   
00050   double Pr; //Prandtl number
00051   double Cp; //specific heat at constant pressure 
00052  
00053   // Output:
00054   PHX::MDField<ScalarT,Cell,QuadPoint> mu;
00055   PHX::MDField<ScalarT,Cell,QuadPoint> kappa;
00056   PHX::MDField<ScalarT,Cell,QuadPoint> lambda;
00057   PHX::MDField<ScalarT,Cell,QuadPoint> tau11;
00058   PHX::MDField<ScalarT,Cell,QuadPoint> tau12;
00059   PHX::MDField<ScalarT,Cell,QuadPoint> tau13;
00060   PHX::MDField<ScalarT,Cell,QuadPoint> tau22;
00061   PHX::MDField<ScalarT,Cell,QuadPoint> tau23;
00062   PHX::MDField<ScalarT,Cell,QuadPoint> tau33;
00063 
00064    //Force types
00065   enum VISCTYPE {CONSTANT, SUTHERLAND};
00066   VISCTYPE visc_type;
00067   
00068   std::size_t numQPs;
00069   std::size_t numDims;
00070   std::size_t vecDim;
00071 
00072 };
00073 }
00074 
00075 #endif

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