Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_ThyraObjContainer.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_ThyraObjContainer_hpp__
12#define __Panzer_ThyraObjContainer_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 VectorBase;
21 template <typename ScalarT> class LinearOpBase;
22}
23
24namespace panzer {
25
26template <typename ScalarT>
28public:
29 virtual ~ThyraObjContainer() {}
30
32 virtual void initializeMatrix(ScalarT value) = 0;
33
34 virtual void set_x_th(const Teuchos::RCP<Thyra::VectorBase<ScalarT> > & in) = 0;
35 virtual Teuchos::RCP<Thyra::VectorBase<ScalarT> > get_x_th() const = 0;
36
37 virtual void set_dxdt_th(const Teuchos::RCP<Thyra::VectorBase<ScalarT> > & in) = 0;
38 virtual Teuchos::RCP<Thyra::VectorBase<ScalarT> > get_dxdt_th() const = 0;
39
40 virtual void set_f_th(const Teuchos::RCP<Thyra::VectorBase<ScalarT> > & in) = 0;
41 virtual Teuchos::RCP<Thyra::VectorBase<ScalarT> > get_f_th() const = 0;
42
43 virtual void set_A_th(const Teuchos::RCP<Thyra::LinearOpBase<ScalarT> > & in) = 0;
44 virtual Teuchos::RCP<Thyra::LinearOpBase<ScalarT> > get_A_th() const = 0;
45
46 void clear()
47 {
48 set_x_th(Teuchos::null);
49 set_dxdt_th(Teuchos::null);
50 set_f_th(Teuchos::null);
51 set_A_th(Teuchos::null);
52 }
53};
54
55}
56
57#endif
virtual void set_f_th(const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &in)=0
virtual void set_A_th(const Teuchos::RCP< Thyra::LinearOpBase< ScalarT > > &in)=0
virtual Teuchos::RCP< Thyra::VectorBase< ScalarT > > get_dxdt_th() const =0
virtual Teuchos::RCP< Thyra::VectorBase< ScalarT > > get_x_th() const =0
virtual Teuchos::RCP< Thyra::VectorBase< ScalarT > > get_f_th() const =0
virtual void set_dxdt_th(const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &in)=0
virtual void initializeMatrix(ScalarT value)=0
Put a particular scalar in the matrix.
virtual void set_x_th(const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &in)=0
virtual Teuchos::RCP< Thyra::LinearOpBase< ScalarT > > get_A_th() const =0