1 #ifndef __Panzer_STK_ResponseEvaluatorFactory_SolutionWriter_hpp__ 
    2 #define __Panzer_STK_ResponseEvaluatorFactory_SolutionWriter_hpp__ 
    6 #include "PanzerAdaptersSTK_config.hpp" 
   17 #include <unordered_map> 
   18 #include <unordered_set> 
   20 namespace panzer_stk {
 
   24 template <
typename EvalT> 
 
   45                                                           const std::vector<panzer::WorksetDescriptor>& )
 const  
   77                                  std::map<std::string,std::vector<std::string> > & basisBucket);
 
   88    void scaleField(
const std::string & fieldName,
double fieldScalar);
 
  114                                  Kokkos::DynRankView<double,PHX::Device> & centroid) 
const;
 
  145   void scaleField(
const std::string & fieldName,
double fieldScalar)
 
  158   template <
typename T>
 
  178     for(std::unordered_map<std::string,double>::const_iterator itr=
fieldToScalar_.begin();
 
  180       ref->scaleField(itr->first,itr->second);
 
void deleteRemovedFields(const std::vector< std::string > &removedFields, std::vector< std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > > &fields) const 
Delete from the argument all the fields that are in the removedFields array. 
 
void removeField(const std::string &fieldName)
 
Object that contains information on the physics and discretization of a block of elements with the SA...
 
std::vector< std::string > removedFields_
 
void scaleField(const std::string &fieldName, double fieldScalar)
 
std::unordered_set< std::string > scaledFieldsHash_
 
void addAdditionalField(const std::string &fieldName, const Teuchos::RCP< const panzer::PureBasis > &basis)
 
virtual Teuchos::RCP< panzer::ResponseBase > buildResponseObject(const std::string &responseName) const 
 
RespFactorySolnWriter_Builder()
 
bool operator()(const std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > &field)
 
std::unordered_map< std::string, double > fieldToScalar_
 
std::vector< std::string > removedFields_
 
Teuchos::RCP< panzer_stk::STK_Interface > mesh
 
virtual bool typeSupported() const 
 
std::vector< std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > > additionalFields_
 
void addAdditionalField(const std::string &fieldName, const Teuchos::RCP< const panzer::PureBasis > &basis)
 
void setAddSolutionFields(bool asf)
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
virtual Teuchos::RCP< panzer::ResponseBase > buildResponseObject(const std::string &responseName, const std::vector< panzer::WorksetDescriptor > &) const 
 
void scaleField(const std::string &fieldName, double fieldScalar)
 
void setAddCoordinateFields(bool acf)
 
std::unordered_map< std::string, double > fieldToScalar_
 
void removeField(const std::string &fieldName)
 
static void bucketByBasisType(const std::vector< std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > > &providedDofs, std::map< std::string, std::vector< std::string > > &basisBucket)
 
Teuchos::RCP< panzer::ResponseEvaluatorFactoryBase > build() const 
 
bool addCoordinateFields_
 
virtual ~ResponseEvaluatorFactory_SolutionWriter()
 
PHX::MDField< ScalarT, panzer::Cell, panzer::BASIS > field
A field to which we'll contribute, or in which we'll store, the result of computing this integral...
 
virtual void buildAndRegisterEvaluators(const std::string &responseName, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &physicsBlock, const Teuchos::ParameterList &user_data) const 
 
Teuchos::RCP< STK_Interface > mesh_
 
void setAddCoordinateFields(bool acf)
 
ResponseEvaluatorFactory_SolutionWriter(const Teuchos::RCP< STK_Interface > &mesh)
 
void setAddSolutionFields(bool asf)
 
bool addCoordinateFields_
 
std::vector< std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > > additionalFields_
 
std::vector< std::string > removedFields_
 
void computeReferenceCentroid(const std::map< std::string, Teuchos::RCP< const panzer::PureBasis > > &bases, int baseDimension, Kokkos::DynRankView< double, PHX::Device > ¢roid) const