Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef THERMO_MECHANICAL_STRESS_HPP
00007 #define THERMO_MECHANICAL_STRESS_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 namespace LCM {
00022 template<typename EvalT, typename Traits>
00023 class ThermoMechanicalStress: public PHX::EvaluatorWithBaseImpl<Traits>,
00024 public PHX::EvaluatorDerived<EvalT, Traits> {
00025
00026 public:
00027
00028 ThermoMechanicalStress(const Teuchos::ParameterList& p);
00029
00030 void postRegistrationSetup(typename Traits::SetupData d,
00031 PHX::FieldManager<Traits>& vm);
00032
00033 void evaluateFields(typename Traits::EvalData d);
00034
00035 private:
00036
00037 typedef typename EvalT::ScalarT ScalarT;
00038
00039
00040 PHX::MDField<ScalarT, Cell, QuadPoint, Dim, Dim> F_array;
00041 PHX::MDField<ScalarT, Cell, QuadPoint> J_array;
00042 PHX::MDField<ScalarT, Cell, QuadPoint> shearModulus;
00043 PHX::MDField<ScalarT, Cell, QuadPoint> bulkModulus;
00044 PHX::MDField<ScalarT, Cell, QuadPoint> temperature;
00045 PHX::MDField<ScalarT, Cell, QuadPoint> yieldStrength;
00046 PHX::MDField<ScalarT, Cell, QuadPoint> hardeningModulus;
00047 PHX::MDField<ScalarT, Cell, QuadPoint> satMod;
00048 PHX::MDField<ScalarT, Cell, QuadPoint> satExp;
00049 PHX::MDField<ScalarT, Dummy> deltaTime;
00050
00051
00052 PHX::MDField<ScalarT, Cell, QuadPoint, Dim, Dim> stress;
00053 PHX::MDField<ScalarT, Cell, QuadPoint, Dim, Dim> Fp;
00054 PHX::MDField<ScalarT, Cell, QuadPoint> eqps;
00055 PHX::MDField<ScalarT, Cell, QuadPoint> mechSource;
00056
00057 std::string fpName, eqpsName;
00058 unsigned int numQPs;
00059 unsigned int numDims;
00060 RealType thermalExpansionCoeff;
00061 RealType refTemperature;
00062
00063 };
00064 }
00065
00066 #endif