Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_ThyraObjFactory.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_ThyraObjFactory_hpp__
12#define __Panzer_ThyraObjFactory_hpp__
13
14#include "PanzerDiscFE_config.hpp"
15
16#include "Teuchos_RCP.hpp"
17#include "Teuchos_dyn_cast.hpp"
18
19namespace Thyra {
20 template <typename ScalarT> class VectorSpaceBase;
21 template <typename ScalarT> class LinearOpBase;
22}
23
24namespace panzer {
25
26template <typename ScalarT>
28public:
29 virtual ~ThyraObjFactory() {}
30
32 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<ScalarT> > getThyraDomainSpace() const = 0;
33
35 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<ScalarT> > getThyraRangeSpace() const = 0;
36
38 virtual Teuchos::RCP<Thyra::LinearOpBase<ScalarT> > getThyraMatrix() const = 0;
39
40};
41
42}
43
44#endif
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getThyraDomainSpace() const =0
Get the domain space.
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< ScalarT > > getThyraRangeSpace() const =0
Get the range space.
virtual Teuchos::RCP< Thyra::LinearOpBase< ScalarT > > getThyraMatrix() const =0
Get a matrix operator.