11#ifndef PANZER_EVALUATOR_SCATTER_DIRICHLET_RESIDUAL_EPETRA_DECL_HPP
12#define PANZER_EVALUATOR_SCATTER_DIRICHLET_RESIDUAL_EPETRA_DECL_HPP
14#include "Phalanx_config.hpp"
15#include "Phalanx_Evaluator_Macros.hpp"
16#include "Phalanx_MDField.hpp"
18#include "Teuchos_ParameterList.hpp"
20#include "PanzerDiscFE_config.hpp"
31class EpetraLinearObjContainer;
54template<
typename TRAITS,
typename LO,
typename GO>
57 public PHX::EvaluatorDerived<panzer::Traits::Residual, TRAITS>,
62 const Teuchos::RCP<const panzer::GlobalIndexer> & )
63 : globalIndexer_(indexer) {}
66 const Teuchos::RCP<const panzer::GlobalIndexer> & cIndexer,
67 const Teuchos::ParameterList& p);
69 void postRegistrationSetup(
typename TRAITS::SetupData d,
72 void preEvaluate(
typename TRAITS::PreEvalData d);
74 void evaluateFields(
typename TRAITS::EvalData workset);
76 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const
97 Teuchos::RCP<const std::map<std::string,std::string> >
fieldMap_;
118 std::vector< PHX::MDField<const bool,Cell,NODE> >
applyBC_;
124template<
typename TRAITS,
typename LO,
typename GO>
127 public PHX::EvaluatorDerived<panzer::Traits::Tangent, TRAITS>,
132 const Teuchos::RCP<const panzer::GlobalIndexer> & )
133 : globalIndexer_(indexer) {}
136 const Teuchos::RCP<const panzer::GlobalIndexer> & cIndexer,
137 const Teuchos::ParameterList& p);
139 void postRegistrationSetup(
typename TRAITS::SetupData d,
142 void preEvaluate(
typename TRAITS::PreEvalData d);
144 void evaluateFields(
typename TRAITS::EvalData workset);
146 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const
167 Teuchos::RCP<const std::map<std::string,std::string> >
fieldMap_;
190 std::vector< PHX::MDField<const bool,Cell,NODE> >
applyBC_;
196template<
typename TRAITS,
typename LO,
typename GO>
199 public PHX::EvaluatorDerived<panzer::Traits::Jacobian, TRAITS>,
204 const Teuchos::RCP<const panzer::GlobalIndexer> & cIndexer=Teuchos::null)
205 : globalIndexer_(indexer), colGlobalIndexer_(cIndexer) {}
208 const Teuchos::RCP<const panzer::GlobalIndexer> & cIndexer,
209 const Teuchos::ParameterList& p);
211 void preEvaluate(
typename TRAITS::PreEvalData d);
213 void postRegistrationSetup(
typename TRAITS::SetupData d,
216 void evaluateFields(
typename TRAITS::EvalData workset);
218 virtual Teuchos::RCP<CloneableEvaluator>
clone(
const Teuchos::ParameterList & pl)
const
240 Teuchos::RCP<const std::map<std::string,std::string> >
fieldMap_;
259 std::vector< PHX::MDField<const bool,Cell,NODE> >
applyBC_;
267#ifdef Panzer_BUILD_HESSIAN_SUPPORT
Non-templated empty base class for template managers.
Wrapper to PHX::EvaluatorWithBaseImpl that implements Panzer-specific helpers.
bool checkApplyBC_
If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis.
Teuchos::RCP< const panzer::GlobalIndexer > colGlobalIndexer_
ScatterDirichletResidual_Epetra()
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
panzer::Traits::Jacobian::ScalarT ScalarT
std::size_t local_side_id_
ScatterDirichletResidual_Epetra(const Teuchos::RCP< const GlobalIndexer > &indexer, const Teuchos::RCP< const panzer::GlobalIndexer > &cIndexer=Teuchos::null)
std::vector< PHX::MDField< const bool, Cell, NODE > > applyBC_
Teuchos::RCP< const std::map< std::string, std::string > > fieldMap_
Teuchos::RCP< PHX::FieldTag > scatterHolder_
std::string globalDataKey_
std::vector< PHX::MDField< const ScalarT, Cell, NODE > > scatterFields_
Teuchos::RCP< Epetra_Vector > dirichletCounter_
std::size_t side_subcell_dim_
std::vector< int > fieldIds_
Teuchos::RCP< const EpetraLinearObjContainer > epetraContainer_
std::size_t local_side_id_
Teuchos::RCP< PHX::FieldTag > scatterHolder_
std::vector< PHX::MDField< const ScalarT, Cell, NODE > > scatterFields_
Teuchos::RCP< const EpetraLinearObjContainer > epetraContainer_
Teuchos::RCP< const std::map< std::string, std::string > > fieldMap_
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
ScatterDirichletResidual_Epetra()
Teuchos::RCP< Epetra_Vector > dirichletCounter_
std::size_t side_subcell_dim_
std::vector< PHX::MDField< const bool, Cell, NODE > > applyBC_
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
bool checkApplyBC_
If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis.
ScatterDirichletResidual_Epetra(const Teuchos::RCP< const GlobalIndexer > &indexer, const Teuchos::RCP< const panzer::GlobalIndexer > &)
std::vector< int > fieldIds_
std::string globalDataKey_
panzer::Traits::Residual::ScalarT ScalarT
std::vector< int > fieldIds_
std::size_t side_subcell_dim_
ScatterDirichletResidual_Epetra(const Teuchos::RCP< const GlobalIndexer > &indexer, const Teuchos::RCP< const panzer::GlobalIndexer > &)
ScatterDirichletResidual_Epetra()
std::string globalDataKey_
std::vector< PHX::MDField< const ScalarT, Cell, NODE > > scatterFields_
Teuchos::RCP< Epetra_Vector > dirichletCounter_
virtual Teuchos::RCP< CloneableEvaluator > clone(const Teuchos::ParameterList &pl) const
Teuchos::RCP< const panzer::GlobalIndexer > globalIndexer_
Teuchos::RCP< const EpetraLinearObjContainer > epetraContainer_
std::size_t local_side_id_
Teuchos::RCP< PHX::FieldTag > scatterHolder_
std::vector< PHX::MDField< const bool, Cell, NODE > > applyBC_
panzer::Traits::Tangent::ScalarT ScalarT
Teuchos::RCP< const std::map< std::string, std::string > > fieldMap_
bool checkApplyBC_
If set to true, allows runtime disabling of dirichlet BCs on node-by-node basis.
std::vector< Teuchos::RCP< Epetra_Vector > > dfdp_vectors_
Pushes residual values into the residual vector for a Newton-based solve.
Evaluation type for computing the residual and its Jacobian, using FadType as the scalar type.
Evaluation type for computing the residual only, using RealType as the scalar type.
Evaluation type for computing directional derivatives (e.g. parameter sensitivities),...