116 void setParameterList(Teuchos::RCP<Teuchos::ParameterList>
const& paramList);
128 void buildObjects(
const Teuchos::RCP<
const Teuchos::Comm<int> >& comm,
129 const Teuchos::RCP<panzer::GlobalData>& global_data,
130 const Teuchos::RCP<const panzer::EquationSetFactory>& eqset_factory,
133 bool meConstructionOn=
true);
140 void setNOXObserverFactory(
const Teuchos::RCP<const panzer_stk::NOXObserverFactory>& nox_observer_factory);
144#ifdef PANZER_HAVE_TEMPUS
145 void setTempusObserverFactory(
const Teuchos::RCP<const panzer_stk::TempusObserverFactory>& tempus_observer_factory);
148 template <
typename BuilderT>
149 int addResponse(
const std::string & responseName,
const std::vector<panzer::WorksetDescriptor> & wkstDesc,
const BuilderT & builder);
152 const bool write_graphviz_file=
false,
153 const std::string& graphviz_file_prefix=
"");
157 Teuchos::RCP<Thyra::ModelEvaluator<ScalarT> >
159 const Teuchos::RCP<panzer::GlobalData>& global_data,
161#ifdef PANZER_HAVE_TEMPUS
162 const Teuchos::RCP<Piro::TempusSolverForwardOnly<ScalarT> > tempusSolver = Teuchos::null,
164 const Teuchos::Ptr<const panzer_stk::NOXObserverFactory> & in_nox_observer_factory=Teuchos::null,
165 const Teuchos::Ptr<const panzer_stk::RythmosObserverFactory> & in_rythmos_observer_factory=Teuchos::null
166#ifdef PANZER_HAVE_TEMPUS
167 ,
const Teuchos::Ptr<const panzer_stk::TempusObserverFactory> & in_tempus_observer_factory=Teuchos::null
178 const std::vector<Teuchos::RCP<panzer::PhysicsBlock> > &
getPhysicsBlocks()
const;
181 Teuchos::RCP<panzer_stk::STK_Interface>
getMesh()
const
206 Teuchos::RCP<Thyra::ModelEvaluator<double> >
208 const Teuchos::RCP<Teuchos::ParameterList> & physics_block_plist,
209 const Teuchos::RCP<const panzer::EquationSetFactory>& eqset_factory,
212 bool is_transient,
bool is_explicit,
213 const Teuchos::Ptr<const Teuchos::ParameterList> & bc_list=Teuchos::null,
221 const std::vector<Teuchos::RCP<panzer::PhysicsBlock> >& physicsBlocks,
224 const Teuchos::ParameterList & closure_pl,
225 const Teuchos::ParameterList & initial_cond_pl,
226 const Teuchos::ParameterList & user_data_pl,
227 bool write_dot_files,
const std::string & dot_file_prefix)
const;
233 const std::vector<Teuchos::RCP<panzer::PhysicsBlock> >& physicsBlocks,
234 const Teuchos::RCP<panzer::WorksetContainer> & wc,
235 const Teuchos::RCP<const panzer::GlobalIndexer> & ugi,
237 const Teuchos::RCP<panzer_stk::STK_Interface> & mesh,
239 const Teuchos::ParameterList & closure_model_pl,
240 const Teuchos::ParameterList & user_data_pl,
241 int workset_size)
const;
245 Teuchos::RCP<Thyra::ModelEvaluatorDefaultBase<double> >
247 const Teuchos::RCP<panzer::FieldManagerBuilder> & fmb,
250 const std::vector<Teuchos::RCP<Teuchos::Array<std::string> > > & p_names,
251 const std::vector<Teuchos::RCP<Teuchos::Array<double> > > & p_values,
253 const Teuchos::RCP<panzer::GlobalData> & global_data,
254 bool is_transient,
double t_init)
const;
265 double getInitialTime(Teuchos::ParameterList& transient_ic_params,
268 Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> >
270 const Teuchos::RCP<const panzer::GlobalIndexer> & globalIndexer,
271 const Teuchos::RCP<panzer::ConnManager> & conn_manager,
272 const Teuchos::RCP<panzer_stk::STK_Interface> & mesh,
274 #ifdef PANZER_HAVE_TEKO
275 ,
const Teuchos::RCP<Teko::RequestHandler> & req_handler=Teuchos::null
287 Teuchos::RCP<STK_MeshFactory>
buildSTKMeshFactory(
const Teuchos::ParameterList & mesh_params)
const;
290 const std::vector<Teuchos::RCP<panzer::PhysicsBlock> > & physicsBlocks,
296 Teuchos::RCP<panzer::FieldManagerBuilder>
298 const std::vector<Teuchos::RCP<panzer::PhysicsBlock> >& physicsBlocks,
299 const std::vector<panzer::BC> & bcs,
304 const Teuchos::ParameterList& closure_models,
306 const Teuchos::ParameterList& user_data,
307 bool writeGraph,
const std::string & graphPrefix,
308 bool write_field_managers,
const std::string & field_manager_prefix)
const;
313 const Teuchos::RCP<panzer::WorksetContainer> & wc,
314 const Teuchos::RCP<const panzer::GlobalIndexer> & ugi,
316 const Teuchos::RCP<panzer_stk::STK_Interface> & mesh)
const;
321 const std::vector<Teuchos::RCP<panzer::PhysicsBlock> > & physicsBlocks,
323 const Teuchos::ParameterList & closure_models,
324 int workset_size, Teuchos::ParameterList & user_data)
const;
330 Teuchos::RCP<Thyra::ModelEvaluator<ScalarT> >
m_rome_me;
335 Teuchos::RCP<panzer_stk::STK_Interface>
m_mesh;
347#ifdef PANZER_HAVE_TEMPUS
348 Teuchos::RCP<const panzer_stk::TempusObserverFactory> m_tempus_observer_factory;