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

FELIX_ViscosityL1L2.hpp

Go to the documentation of this file.
00001 /********************************************************************\
00002 *            Albany, Copyright (2010) Sandia Corporation             *
00003 *                                                                    *
00004 * Notice: This computer software was prepared by Sandia Corporation, *
00005 * hereinafter the Contractor, under Contract DE-AC04-94AL85000 with  *
00006 * the Department of Energy (DOE). All rights in the computer software*
00007 * are reserved by DOE on behalf of the United States Government and  *
00008 * the Contractor as provided in the Contract. You are authorized to  *
00009 * use this computer software for Governmental purposes but it is not *
00010 * to be released or distributed to the public. NEITHER THE GOVERNMENT*
00011 * NOR THE CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR      *
00012 * ASSUMES ANY LIABILITY L1L2R THE USE OF THIS SOFTWARE. This notice    *
00013 * including this sentence must appear on any copies of this software.*
00014 *    Questions to Andy Salinger, agsalin@sandia.gov                  *
00015 \********************************************************************/
00016 
00017 
00018 #ifndef FELIX_VISCOSITYL1L2_HPP
00019 #define FELIX_VISCOSITYL1L2_HPP
00020 
00021 #include "Phalanx_ConfigDefs.hpp"
00022 #include "Phalanx_Evaluator_WithBaseImpl.hpp"
00023 #include "Phalanx_Evaluator_Derived.hpp"
00024 #include "Phalanx_MDField.hpp"
00025 #include "Sacado_ParameterAccessor.hpp" 
00026 #include "Albany_Layouts.hpp"
00027 
00028 namespace FELIX {
00035 template<typename EvalT, typename Traits>
00036 class ViscosityL1L2 : public PHX::EvaluatorWithBaseImpl<Traits>,
00037         public PHX::EvaluatorDerived<EvalT, Traits>,
00038         public Sacado::ParameterAccessor<EvalT, SPL_Traits> {
00039 
00040 public:
00041 
00042   typedef typename EvalT::ScalarT ScalarT;
00043 
00044   ViscosityL1L2(const Teuchos::ParameterList& p,
00045                 const Teuchos::RCP<Albany::Layouts>& dl);
00046 
00047   void postRegistrationSetup(typename Traits::SetupData d,
00048                       PHX::FieldManager<Traits>& vm);
00049 
00050   void evaluateFields(typename Traits::EvalData d);
00051 
00052   ScalarT& getValue(const std::string &n); 
00053 
00054 private:
00055  
00056   typedef typename EvalT::MeshScalarT MeshScalarT;
00057 
00058   ScalarT homotopyParam;
00059 
00060   //coefficients for Glen's law
00061   double A; 
00062   double n;
00063 
00064   //coefficients for ISMIP-HOM test cases
00065   double L; 
00066   double alpha;
00067 
00068   std::size_t numQPsZ; //number of quadrature points for z-integral 
00069   std::string surfType; //type of surface, e.g., Test A 
00070 
00071   // Input:
00072   PHX::MDField<MeshScalarT,Cell,QuadPoint, Dim> coordVec;
00073   PHX::MDField<ScalarT,Cell,QuadPoint> epsilonB;
00074 
00075   // Output:
00076   PHX::MDField<ScalarT,Cell,QuadPoint> mu;
00077 
00078   unsigned int numQPs, numDims, numNodes;
00079   
00080   enum VISCTYPE {CONSTANT, GLENSLAW};
00081   VISCTYPE visc_type;
00082   enum SURFTYPE {BOX, TESTA};
00083   SURFTYPE surf_type;
00084  
00085 };
00086 }
00087 
00088 #endif

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