Panzer  Version of the Day
Panzer_GatherSolution_Input.hpp
Go to the documentation of this file.
1 #ifndef __Panzer_GatherSolution_Input_hpp__
2 #define __Panzer_GatherSolution_Input_hpp__
3 
4 #include <vector>
5 #include <string>
6 
7 #include "Teuchos_RCP.hpp"
8 #include "Teuchos_ParameterList.hpp"
9 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
10 
11 namespace panzer {
12 
13 // forward declaration
14 class PureBasis;
15 
20 class GatherSolution_Input : Teuchos::ParameterListAcceptorDefaultBase {
21 public:
23 
27  void setParameterList(const Teuchos::ParameterList & pl);
28 
32  void setParameterList(const Teuchos::RCP<Teuchos::ParameterList> & pl);
33 
35  Teuchos::RCP<const Teuchos::ParameterList> getValidParameters() const;
36 
37  // Accessor functions
38 
40  const std::vector<std::string> & getDofNames() const { return dofNames_; }
41 
45  const std::vector<std::string> & getIndexerNames() const { return indexerNames_; }
46 
48  Teuchos::RCP<const PureBasis> getBasis() const { return basis_; }
49 
52 
54  std::string getGlobalDataKey() const { return globalDataKey_; }
55 
56  // tangent
57 
59  const std::vector<std::vector<std::string> > & getTangentNames() const { return tangentNames_; }
60 
61  // jacobian
62 
64  std::string getSensitivitiesName() const { return sensName_; }
65 
67  int getGatherSeedIndex() const { return gatherSeedIndex_; }
68 
71 
72  // hessian
73 
76 
79 
80 private:
81  GatherSolution_Input(const GatherSolution_Input &); // hide me
82 
83  // residual
84  std::vector<std::string> dofNames_;
85  std::vector<std::string> indexerNames_;
86  Teuchos::RCP<const PureBasis> basis_;
88  std::string globalDataKey_;
89 
90  // tangent
91  std::vector<std::vector<std::string> > tangentNames_;
92 
93  // jacobian
94  std::string sensName_;
97 
98  // hessian
101 };
102 
103 }
104 
105 #endif
Teuchos::RCP< const PureBasis > basis_
std::string getGlobalDataKey() const
Name of the global evaluation data container to use for the source vector (all types) ...
Teuchos::RCP< const PureBasis > getBasis() const
Basis definiting layout of dof names (all types)
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Get valid parameters.
void setParameterList(const Teuchos::ParameterList &pl)
const std::vector< std::string > & getDofNames() const
The names of the DOFs to be gathered (all types)
std::vector< std::vector< std::string > > tangentNames_
std::vector< std::string > indexerNames_
int getGatherSeedIndex() const
What index to use for initializing the seed (Jacobian and Hessian)
bool useTimeDerivativeSolutionVector() const
Gather a time derivative vector? (all types)
bool firstSensitivitiesAvailable()
Are first derivative sensitivities enabled or disabled? (Jacobian and Hessian)
bool secondSensitivitiesAvailable()
Are second derivative sensitivies enabled or disabled (Hessian only)
std::string getSensitivitiesName() const
The name of the sensitivities. Enables sensitivities at "preEvaluate" time (Jacobian and Hessian) ...
const std::vector< std::string > & getIndexerNames() const
const std::vector< std::vector< std::string > > & getTangentNames() const
Get the name of the tangent fields (tangent only)
std::string getSecondSensitivityDataKeyPrefix()
What prefix to use for the GEDC for second derivative sensitivity direction (Hessian only) ...