43 #ifndef PANZER_MODEL_EVALUATOR_FACTORY_IMPL_HPP 44 #define PANZER_MODEL_EVALUATOR_FACTORY_IMPL_HPP 46 #include "Thyra_ModelEvaluator.hpp" 47 #include "Thyra_EpetraModelEvaluator.hpp" 48 #include "Teuchos_StandardParameterEntryValidators.hpp" 53 template <
typename ScalarT,
typename LO,
typename GO>
54 Teuchos::RCP<Thyra::ModelEvaluator<ScalarT> >
57 Teuchos::RCP<Thyra::ModelEvaluator<ScalarT> > me;
59 std::string type = getMyParamList.get<std::string>(
"Model Evaluator Type");
61 if (type ==
"Epetra") {
63 Teuchos::RCP<EpetraExt::ModelEvaluator> epetraModel =
66 Teuchos::RCP<Thyra::EpetraModelEvaluator>
67 epetraThyraModel = rcp(new ::Thyra::EpetraModelEvaluator());
68 epetraThyraModel->initialize(epetraModel,lowsFactory);
69 Teuchos::RCP< ::Thyra::ModelEvaluator<double> > thyraModel =
73 else if (type ==
"Tpetra") {
74 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
75 "Tpetra version not supported yet, use Epetra!");
Teuchos::RCP< Thyra::ModelEvaluator< ScalarT > > buildModelEvaluator(const RCP< panzer::FieldManagerBuilder &fmb, const RCP< panzer::EpetraLinearObjFactory< panzer::Traits, int > > &lof)