Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
19 namespace Thyra {
20  template <typename ScalarT> class VectorBase;
21  template <typename ScalarT> class LinearOpBase;
22 }
23 
24 namespace panzer {
25 
26 template <typename ScalarT>
28 public:
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;
36 
37  virtual void set_dxdt_th(const Teuchos::RCP<Thyra::VectorBase<ScalarT> > & in) = 0;
39 
40  virtual void set_f_th(const Teuchos::RCP<Thyra::VectorBase<ScalarT> > & in) = 0;
42 
43  virtual void set_A_th(const Teuchos::RCP<Thyra::LinearOpBase<ScalarT> > & in) = 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_x_th(const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &in)=0
virtual Teuchos::RCP< Thyra::VectorBase< ScalarT > > get_dxdt_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_f_th(const Teuchos::RCP< Thyra::VectorBase< ScalarT > > &in)=0
virtual Teuchos::RCP< Thyra::LinearOpBase< ScalarT > > get_A_th() const =0
virtual Teuchos::RCP< Thyra::VectorBase< ScalarT > > get_x_th() const =0
virtual void set_A_th(const Teuchos::RCP< Thyra::LinearOpBase< ScalarT > > &in)=0