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

SurfaceVectorGradient.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 SURFACEVECTORGRADIENT_HPP
00008 #define SURFACEVECTORGRADIENT_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 #include "Intrepid_CellTools.hpp"
00015 #include "Intrepid_Cubature.hpp"
00016 
00017 #include "Albany_Layouts.hpp"
00018 
00019 namespace LCM {
00026 template<typename EvalT, typename Traits>
00027 class SurfaceVectorGradient : public PHX::EvaluatorWithBaseImpl<Traits>,
00028                           public PHX::EvaluatorDerived<EvalT, Traits>  {
00029 
00030 public:
00031 
00032   SurfaceVectorGradient(Teuchos::ParameterList& p,
00033                         const Teuchos::RCP<Albany::Layouts>& dl);
00034 
00035   void postRegistrationSetup(typename Traits::SetupData d,
00036            PHX::FieldManager<Traits>& vm);
00037 
00038   void evaluateFields(typename Traits::EvalData d);
00039 
00040 private:
00041 
00042   typedef typename EvalT::ScalarT ScalarT;
00043   typedef typename EvalT::MeshScalarT MeshScalarT;
00044 
00045   // Input:
00047   ScalarT thickness;
00049   Teuchos::RCP<Intrepid::Cubature<RealType> > cubature;
00051   PHX::MDField<MeshScalarT,Cell,Vertex,Dim> vector;
00052   PHX::MDField<ScalarT,Cell,QuadPoint,Dim> jump;
00053 
00054   PHX::MDField<ScalarT,Cell,QuadPoint,Dim, Dim> currentBasis;
00055   PHX::MDField<MeshScalarT,Cell,QuadPoint,Dim, Dim> refDualBasis;
00056   PHX::MDField<MeshScalarT,Cell,QuadPoint,Dim> refNormal;
00057   PHX::MDField<MeshScalarT,Cell,QuadPoint> weights;
00058 
00059   // Output:
00060   PHX::MDField<ScalarT,Cell,QuadPoint,Dim, Dim> defGrad;
00061   PHX::MDField<ScalarT,Cell,QuadPoint> J;
00062 
00063   unsigned int worksetSize;
00064   unsigned int numNodes;
00065   unsigned int numQPs;
00066   unsigned int numDims;
00067   unsigned int numPlaneNodes;
00068   unsigned int numPlaneDims;
00069 
00071   bool weightedAverage;
00072 
00074   ScalarT alpha;
00075 
00076 };
00077 }
00078 
00079 #endif

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