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

QCAD_ResponseSaveField.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 QCAD_RESPONSESAVEFIELD_HPP
00008 #define QCAD_RESPONSESAVEFIELD_HPP
00009 
00010 #include "Phalanx_Evaluator_WithBaseImpl.hpp"
00011 #include "Phalanx_Evaluator_Derived.hpp"
00012 #include "Phalanx_MDField.hpp"
00013 #include "Phalanx_DataLayout.hpp"
00014 #include "Teuchos_ParameterList.hpp"
00015 #include "Albany_ProblemUtils.hpp"
00016 
00017 namespace QCAD {
00021   template<typename EvalT, typename Traits>
00022   class ResponseSaveField : 
00023     public PHX::EvaluatorWithBaseImpl<Traits>,
00024     public PHX::EvaluatorDerived<EvalT, Traits>
00025   {
00026   public:
00027     typedef typename EvalT::ScalarT ScalarT;
00028     typedef typename EvalT::MeshScalarT MeshScalarT;
00029     ResponseSaveField(Teuchos::ParameterList& p,
00030           const Teuchos::RCP<Albany::Layouts>& dl);
00031   
00032     void postRegistrationSetup(typename Traits::SetupData d,
00033              PHX::FieldManager<Traits>& vm);
00034     
00035     void evaluateFields(typename Traits::EvalData d);
00036 
00037     Teuchos::RCP<const PHX::FieldTag> getEvaluatedFieldTag() const {
00038       return response_field_tag;
00039     }
00040 
00041     Teuchos::RCP<const PHX::FieldTag> getResponseFieldTag() const {
00042       return response_field_tag;
00043     }
00044     
00045   private:
00046     Teuchos::RCP<const Teuchos::ParameterList> getValidResponseParameters() const;
00047 
00048     std::string fieldName;
00049     std::string stateName;
00050     
00051     std::size_t numQPs;
00052     std::size_t numDims;
00053     
00054     PHX::MDField<MeshScalarT,Cell,QuadPoint> weights;
00055     PHX::MDField<ScalarT> field;
00056 
00057     bool outputToExodus;
00058     bool outputCellAverage;
00059     bool memoryHolderOnly;
00060     bool isVectorField;
00061 
00062     std::string vectorOp;
00063 
00064     Teuchos::RCP< PHX::Tag<ScalarT> > response_field_tag;
00065   };
00066 
00067   
00068 }
00069 
00070 #endif

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