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

SurfaceCohesiveResidual.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 SURFACE_COHESIVE_RESIDUAL_HPP
00008 #define SURFACE_COHESIVE_RESIDUALHPP
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 SurfaceCohesiveResidual : public PHX::EvaluatorWithBaseImpl<Traits>,
00028                               public PHX::EvaluatorDerived<EvalT, Traits>  {
00029 
00030 public:
00031 
00032   SurfaceCohesiveResidual(const 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:
00046   // Numerical integration rule
00047   Teuchos::RCP<Intrepid::Cubature<RealType> > cubature;
00048   // Finite element basis for the midplane
00049   Teuchos::RCP<Intrepid::Basis<RealType, Intrepid::FieldContainer<RealType> > > intrepidBasis;
00050   // Reference area
00051   PHX::MDField<ScalarT,Cell,QuadPoint> refArea;
00052   // Traction vector based on cohesive-separation law
00053   PHX::MDField<ScalarT,Cell,QuadPoint,Dim> cohesiveTraction;
00054 
00055 
00057   Intrepid::FieldContainer<RealType> refValues;
00058   Intrepid::FieldContainer<RealType> refGrads;
00059   Intrepid::FieldContainer<RealType> refPoints;
00060   Intrepid::FieldContainer<RealType> refWeights;
00061 
00062   // Output:
00063   PHX::MDField<ScalarT,Cell,Node,Dim> force;
00064 
00065   unsigned int worksetSize;
00066   unsigned int numNodes;
00067   unsigned int numQPs;
00068   unsigned int numDims;
00069   unsigned int numPlaneNodes;
00070   unsigned int numPlaneDims;
00071 };
00072 }
00073 
00074 #endif

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