Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef J2DAMAGE_HPP
00007 #define J2SDAMAGE_HPP
00008
00009 #include <Intrepid_MiniTensor.h>
00010 #include "Phalanx_ConfigDefs.hpp"
00011 #include "Phalanx_Evaluator_WithBaseImpl.hpp"
00012 #include "Phalanx_Evaluator_Derived.hpp"
00013 #include "Phalanx_MDField.hpp"
00014
00015 namespace LCM {
00023 template<typename EvalT, typename Traits>
00024 class J2Damage: public PHX::EvaluatorWithBaseImpl<Traits>,
00025 public PHX::EvaluatorDerived<EvalT, Traits> {
00026
00027 public:
00028
00029 J2Damage(const Teuchos::ParameterList& p);
00030
00031 void postRegistrationSetup(typename Traits::SetupData d,
00032 PHX::FieldManager<Traits>& vm);
00033
00034 void evaluateFields(typename Traits::EvalData d);
00035
00036 private:
00037
00038 typedef typename EvalT::ScalarT ScalarT;
00039 typedef typename EvalT::MeshScalarT MeshScalarT;
00040
00041
00042 PHX::MDField<ScalarT, Cell, QuadPoint, Dim, Dim> defgrad;
00043 PHX::MDField<ScalarT, Cell, QuadPoint> J;
00044 PHX::MDField<ScalarT, Cell, QuadPoint> bulkModulus;
00045 PHX::MDField<ScalarT, Cell, QuadPoint> shearModulus;
00046 PHX::MDField<ScalarT, Cell, QuadPoint> yieldStrength;
00047 PHX::MDField<ScalarT, Cell, QuadPoint> hardeningModulus;
00048 PHX::MDField<ScalarT, Cell, QuadPoint> satMod;
00049 PHX::MDField<ScalarT, Cell, QuadPoint> satExp;
00050 PHX::MDField<ScalarT, Cell, QuadPoint> damage;
00051
00052
00053 PHX::MDField<ScalarT, Cell, QuadPoint, Dim, Dim> stress;
00054 PHX::MDField<ScalarT, Cell, QuadPoint> dp;
00055 PHX::MDField<ScalarT, Cell, QuadPoint> seff;
00056 PHX::MDField<ScalarT, Cell, QuadPoint> energy;
00057 PHX::MDField<ScalarT, Cell, QuadPoint, Dim, Dim> Fp;
00058 PHX::MDField<ScalarT, Cell, QuadPoint> eqps;
00059
00060 std::string fpName, eqpsName;
00061 unsigned int numQPs;
00062 unsigned int numDims;
00063
00064 Intrepid::FieldContainer<ScalarT> Fpinv;
00065 Intrepid::FieldContainer<ScalarT> FpinvT;
00066 Intrepid::FieldContainer<ScalarT> Cpinv;
00067
00068 };
00069 }
00070
00071 #endif