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

PHAL_LinComprNSResid.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_LINCOMPRNSRESID_HPP
00008 #define PHAL_LINCOMPRNSRESID_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 LinComprNSResid : public PHX::EvaluatorWithBaseImpl<Traits>,
00024             public PHX::EvaluatorDerived<EvalT, Traits>  {
00025 
00026 public:
00027 
00028   LinComprNSResid(const Teuchos::ParameterList& p);
00029 
00030   void postRegistrationSetup(typename Traits::SetupData d,
00031            PHX::FieldManager<Traits>& vm);
00032 
00033   void evaluateFields(typename Traits::EvalData d);
00034 
00035 private:
00036 
00037   typedef typename EvalT::ScalarT ScalarT;
00038   typedef typename EvalT::MeshScalarT MeshScalarT;
00039 
00040   // Input:
00041   PHX::MDField<MeshScalarT,Cell,Node,QuadPoint> wBF;
00042   PHX::MDField<MeshScalarT,Cell,Node,QuadPoint,Dim> wGradBF;
00043 
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   PHX::MDField<ScalarT,Cell,QuadPoint,VecDim> qFluctDot;
00047   PHX::MDField<ScalarT,Cell,QuadPoint,VecDim> force;
00048   
00049   Teuchos::Array<double> baseFlowData;  
00050   double gamma_gas; //1.4 typically 
00051   double Rgas; //Non-dimensional gas constant Rgas = R*Tref/(cref*cref), where R = nondimensional gas constant = 287.0 typically
00052   double Re;   //Reynolds number
00053   double Pr;   //Prandtl number, 0.72 typically 
00054   double mu; double lambda; //viscosity coefficients
00055   double kappa; //thermal diffusivity 
00056   bool IBP_convect_terms; //boolean specifying whether you want to integrate by parts the convective terms in the weak form 
00057   
00058   // Output:
00059   PHX::MDField<ScalarT,Cell,Node,VecDim> Residual;
00060 
00061 
00062   std::size_t numNodes;
00063   std::size_t numQPs;
00064   std::size_t numDims;
00065   std::size_t vecDim;
00066   bool enableTransient;
00067   enum EQNTYPE {EULER, NS}; 
00068   EQNTYPE eqn_type;  
00069 };
00070 }
00071 
00072 #endif

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