Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_STK_TempusObserverFactory.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_STK_TEMPUS_OBSERVER_FACTORY_HPP
12#define PANZER_STK_TEMPUS_OBSERVER_FACTORY_HPP
13
14#include "Tempus_IntegratorObserver.hpp"
15
16#include "Teuchos_RCP.hpp"
17#include "Teuchos_Assert.hpp"
18
22
24
25namespace panzer_stk {
26
33
34 public:
35
37
39 virtual bool useNOXObserver() const = 0;
40
47 virtual Teuchos::RCP<Tempus::IntegratorObserver<double> >
48 buildTempusObserver(const Teuchos::RCP<panzer_stk::STK_Interface>& mesh,
49 const Teuchos::RCP<const panzer::GlobalIndexer> & dof_manager,
50 const Teuchos::RCP<const panzer::LinearObjFactory<panzer::Traits> >& lof) const = 0;
51 };
52
53}
54
55#endif
Abstract factory for building a Tempus integrator observer that has access to the STK mesh,...
virtual Teuchos::RCP< Tempus::IntegratorObserver< double > > buildTempusObserver(const Teuchos::RCP< panzer_stk::STK_Interface > &mesh, const Teuchos::RCP< const panzer::GlobalIndexer > &dof_manager, const Teuchos::RCP< const panzer::LinearObjFactory< panzer::Traits > > &lof) const =0
Builds a Tempus integrator observer configured with the given mesh, DOF manager, and linear object fa...
virtual bool useNOXObserver() const =0
Returns true if a NOX observer should also be attached alongside the Tempus observer.