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

Kinematics.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 KINEMATICS_HPP
00008 #define KINEMATICS_HPP
00009 //#ifndef DEFGRAD_HPP
00010 //#define DEFGRAD_HPP
00011 
00012 #include "Phalanx_ConfigDefs.hpp"
00013 #include "Phalanx_Evaluator_WithBaseImpl.hpp"
00014 #include "Phalanx_Evaluator_Derived.hpp"
00015 #include "Phalanx_MDField.hpp"
00016 #include "Albany_Layouts.hpp"
00017 
00018 namespace LCM {
00026   template<typename EvalT, typename Traits>
00027   class Kinematics : public PHX::EvaluatorWithBaseImpl<Traits>,
00028                      public PHX::EvaluatorDerived<EvalT, Traits>  {
00029 
00030   public:
00031 
00035     Kinematics(Teuchos::ParameterList& p,
00036                const Teuchos::RCP<Albany::Layouts>& dl);
00037 
00041     void postRegistrationSetup(typename Traits::SetupData d,
00042                                PHX::FieldManager<Traits>& vm);
00043 
00047     void evaluateFields(typename Traits::EvalData d);
00048 
00049   private:
00050 
00051     typedef typename EvalT::ScalarT ScalarT;
00052     typedef typename EvalT::MeshScalarT MeshScalarT;
00053 
00055     PHX::MDField<ScalarT,Cell,QuadPoint,Dim,Dim> grad_u_;
00056 
00058     PHX::MDField<MeshScalarT,Cell,QuadPoint> weights_;
00059   
00061     PHX::MDField<ScalarT,Cell,QuadPoint,Dim,Dim> def_grad_;
00062 
00064     PHX::MDField<ScalarT,Cell,QuadPoint> j_;
00065 
00067     PHX::MDField<ScalarT,Cell,QuadPoint,Dim,Dim> vel_grad_;
00068 
00070     PHX::MDField<ScalarT,Cell,QuadPoint,Dim,Dim> strain_;
00071 
00073     std::size_t num_pts_;
00074 
00076     std::size_t num_dims_;
00077 
00079     bool weighted_average_;
00080 
00082     ScalarT alpha_;
00083   
00085     bool needs_vel_grad_;
00086 
00088     bool needs_strain_;
00089 
00090   };
00091 
00092 }
00093 #endif

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