Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_GatherSolution_Input.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Panzer: A partial differential equation assembly
4// engine for strongly coupled complex multiphysics systems
5//
6// Copyright 2011 NTESS and the Panzer contributors.
7// SPDX-License-Identifier: BSD-3-Clause
8// *****************************************************************************
9// @HEADER
10
11#ifndef __Panzer_GatherSolution_Input_hpp__
12#define __Panzer_GatherSolution_Input_hpp__
13
14#include <vector>
15#include <string>
16
17#include "Teuchos_RCP.hpp"
18#include "Teuchos_ParameterList.hpp"
19#include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
20
21namespace panzer {
22
23// forward declaration
24class PureBasis;
25
30class GatherSolution_Input : Teuchos::ParameterListAcceptorDefaultBase {
31public:
33
37 void setParameterList(const Teuchos::ParameterList & pl);
38
42 void setParameterList(const Teuchos::RCP<Teuchos::ParameterList> & pl);
43
45 Teuchos::RCP<const Teuchos::ParameterList> getValidParameters() const;
46
47 // Accessor functions
48
50 const std::vector<std::string> & getDofNames() const { return dofNames_; }
51
55 const std::vector<std::string> & getIndexerNames() const { return indexerNames_; }
56
58 Teuchos::RCP<const PureBasis> getBasis() const { return basis_; }
59
62
64 std::string getGlobalDataKey() const { return globalDataKey_; }
65
66 // tangent
67
69 const std::vector<std::vector<std::string> > & getTangentNames() const { return tangentNames_; }
70
71 // jacobian
72
74 std::string getSensitivitiesName() const { return sensName_; }
75
77 int getGatherSeedIndex() const { return gatherSeedIndex_; }
78
81
82 // hessian
83
86
89
90private:
92
93 // residual
94 std::vector<std::string> dofNames_;
95 std::vector<std::string> indexerNames_;
96 Teuchos::RCP<const PureBasis> basis_;
98 std::string globalDataKey_;
99
100 // tangent
101 std::vector<std::vector<std::string> > tangentNames_;
102
103 // jacobian
104 std::string sensName_;
107
108 // hessian
111};
112
113}
114
115#endif
std::vector< std::vector< std::string > > tangentNames_
std::string getGlobalDataKey() const
Name of the global evaluation data container to use for the source vector (all types)
void setParameterList(const Teuchos::ParameterList &pl)
int getGatherSeedIndex() const
What index to use for initializing the seed (Jacobian and Hessian)
GatherSolution_Input(const GatherSolution_Input &)
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Get valid parameters.
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)
bool firstSensitivitiesAvailable()
Are first derivative sensitivities enabled or disabled? (Jacobian and Hessian)
Teuchos::RCP< const PureBasis > basis_
bool useTimeDerivativeSolutionVector() const
Gather a time derivative vector? (all types)
const std::vector< std::string > & getIndexerNames() const
std::string getSensitivitiesName() const
The name of the sensitivities. Enables sensitivities at "preEvaluate" time (Jacobian and Hessian)
bool secondSensitivitiesAvailable()
Are second derivative sensitivies enabled or disabled (Hessian only)
Teuchos::RCP< const PureBasis > getBasis() const
Basis definiting layout of dof names (all types)
const std::vector< std::string > & getDofNames() const
The names of the DOFs to be gathered (all types)