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

FaceFractureCriteria.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 #ifndef FACE_FRACTURE_CRITERIA_HPP
00007 #define FACE_FRACTURE_CRITERIA_HPP
00008 
00009 #include "Phalanx_ConfigDefs.hpp"
00010 #include "Phalanx_Evaluator_WithBaseImpl.hpp"
00011 #include "Phalanx_Evaluator_Derived.hpp"
00012 #include "Phalanx_MDField.hpp"
00013 
00014 #include "Intrepid_CellTools.hpp"
00015 #include "Intrepid_Cubature.hpp"
00016 
00017 namespace LCM {
00022   template<typename EvalT, typename Traits>
00023   class FaceFractureCriteria : public PHX::EvaluatorWithBaseImpl<Traits>,
00024                                public PHX::EvaluatorDerived<EvalT, Traits>  {
00025 
00026 
00027   private:
00028     typedef typename EvalT::ScalarT ScalarT;
00029     typedef typename EvalT::MeshScalarT MeshScalarT;
00030 
00031   public:
00032 
00033     FaceFractureCriteria(const Teuchos::ParameterList& p);
00034 
00035     void postRegistrationSetup(typename Traits::SetupData d,
00036                                PHX::FieldManager<Traits>& vm);
00037 
00038     void evaluateFields(typename Traits::EvalData d);
00039 
00043     void testFracture();
00044 
00048     void tractionCriterion();
00049 
00050   private:
00051     unsigned int numDims;
00052     unsigned int numFaces;
00053     unsigned int numComp; // length of the vector
00054     unsigned int worksetSize;
00055 
00056     std::string criterion; // The criterion to be used
00057 
00058     // Input:
00059     PHX::MDField<ScalarT,Cell,Vertex,Dim> coord;
00060     PHX::MDField<ScalarT,Cell,Face,VecDim> faceAve;
00061     RealType yieldStrength;
00062     RealType fractureLimit;  // Fracture face if traction > this value
00063 
00064     Teuchos::RCP<shards::CellTopology> cellType;
00065 
00066     //Output:
00067     // As we can't define a boolean field on a face, define as a scalar
00068     PHX::MDField<ScalarT,Cell,Face> criteriaMet;
00069 
00070     // This is in here to trick the code to run the evaluator - does absolutely nothing
00071     PHX::MDField<ScalarT,Cell> temp;
00072 
00073     // Face topology object
00074     const struct CellTopologyData_Subcell * sides;
00075 
00076 
00077   };
00078 
00079 } // namespace LCM
00080 
00081 #endif /* FACE_FRACTURE_CRITERIA_HPP */

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