Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef SETFIELD_HPP
00008 #define SETFIELD_HPP
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 "PHAL_Dimension.hpp"
00015
00016 namespace LCM {
00020 template<typename EvalT, typename Traits>
00021 class SetField : public PHX::EvaluatorWithBaseImpl<Traits>,
00022 public PHX::EvaluatorDerived<EvalT, Traits> {
00023
00024 public:
00025
00026 SetField(const Teuchos::ParameterList& p);
00027
00028 void postRegistrationSetup(typename Traits::SetupData d,
00029 PHX::FieldManager<Traits>& vm);
00030
00031 void evaluateFields(typename Traits::EvalData d);
00032
00033 private:
00034
00035 typedef typename EvalT::ScalarT ScalarT;
00036
00038 std::string evaluatedFieldName;
00039
00041 PHX::MDField<ScalarT, Cell, QuadPoint, Dim, Dim> evaluatedField;
00042
00044 std::vector<PHX::DataLayout::size_type> evaluatedFieldDimensions;
00045
00047 Teuchos::ArrayRCP<ScalarT> fieldValues;
00048 };
00049 }
00050
00051 #endif