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

FELIX_StokesL1L2BodyForce.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_STOKESL1L2BODYL1L2RCE_HPP
00019 #define FELIX_STOKESL1L2BODYL1L2RCE_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 "Albany_Layouts.hpp"
00026 
00027 namespace FELIX {
00034 template<typename EvalT, typename Traits>
00035 class StokesL1L2BodyForce : public PHX::EvaluatorWithBaseImpl<Traits>,
00036         public PHX::EvaluatorDerived<EvalT, Traits> {
00037 
00038 public:
00039 
00040   typedef typename EvalT::ScalarT ScalarT;
00041 
00042   StokesL1L2BodyForce(const Teuchos::ParameterList& p,
00043                       const Teuchos::RCP<Albany::Layouts>& dl);
00044 
00045   void postRegistrationSetup(typename Traits::SetupData d,
00046                       PHX::FieldManager<Traits>& vm);
00047 
00048   void evaluateFields(typename Traits::EvalData d);
00049 
00050 
00051 private:
00052  
00053   typedef typename EvalT::MeshScalarT MeshScalarT;
00054 
00055   // Input:  
00056   PHX::MDField<ScalarT,Cell,QuadPoint> muFELIX;
00057   PHX::MDField<MeshScalarT,Cell,QuadPoint, Dim> coordVec;
00058   Teuchos::Array<double> gravity;
00059   
00060   // Output:
00061   PHX::MDField<ScalarT,Cell,QuadPoint,VecDim> force;
00062 
00063    //Radom field types
00064   enum BFTYPE {NONE, L1L2_SINCOS};
00065   BFTYPE bf_type;
00066 
00067   std::size_t numQPs;
00068   std::size_t numDims;
00069   std::size_t vecDim;
00070 
00071   //Glen's law parameters
00072   double n; 
00073   double A;
00074   //ISMIP-HOM parameter
00075   double alpha; 
00076 };
00077 }
00078 
00079 #endif

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