Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_MassMatrixModelEvaluator.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_MASS_MATRIX_MODEL_EVALUATOR_DECL_HPP
12 #define PANZER_MASS_MATRIX_MODEL_EVALUATOR_DECL_HPP
13 
14 #include "PanzerDiscFE_config.hpp"
15 
16 #include "Panzer_Traits.hpp"
22 
23 #include "Teuchos_RCP.hpp"
24 #include "Teuchos_AbstractFactory.hpp"
25 
26 #include "Thyra_VectorBase.hpp"
27 #include "Thyra_VectorSpaceBase.hpp"
28 #include "Thyra_StateFuncModelEvaluatorBase.hpp"
29 #include "Thyra_LinearOpWithSolveFactoryBase.hpp"
30 
31 #include <Panzer_NodeType.hpp>
32 
33 namespace panzer {
34 
35 // Class for explicit model evaluators that construct a mass matrix
36 // A mass matrix inverse may or may not be required within the explicit evaluator at different parts of an IMEX algorithm
37 // This class allows this option to be switched on and off
38 
39 template<typename Scalar>
41  : public Thyra::ModelEvaluatorBase
42 {
43 public:
44 
45 void setApplyMassInverse(const bool applyMassInverse) const
46 {
47  applyMassInverse_ = applyMassInverse;
48 }
49 
52 
53 protected:
54 
56 mutable bool applyMassInverse_;
57 
58 private:
59 
60 };
61 
62 
63 }
64 
65 
66 #endif
void setApplyMassInverse(const bool applyMassInverse) const
bool applyMassInverse_
Apply mass matrix inverse within the evaluator.
virtual void applyInverseMassMatrix(const Teuchos::RCP< Thyra::MultiVectorBase< Scalar > > input, const Teuchos::RCP< Thyra::MultiVectorBase< Scalar > > output) const =0
virtual void applyMassMatrix(const Teuchos::RCP< Thyra::MultiVectorBase< Scalar > > input, const Teuchos::RCP< Thyra::MultiVectorBase< Scalar > > output) const =0