Teko
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
NS
Teko_ALOperator.hpp
1
/*
2
* Author: Zhen Wang
3
* Email: wangz@ornl.gov
4
* zhen.wang@alum.emory.edu
5
*/
6
7
#ifndef __Teko_ALOperator_hpp__
8
#define __Teko_ALOperator_hpp__
9
10
#include "Teko_BlockedEpetraOperator.hpp"
11
#include "
Teko_Utilities.hpp
"
12
13
namespace
Teko
14
{
15
16
namespace
NS
17
{
18
82
83
class
ALOperator
:
public
Teko::Epetra::BlockedEpetraOperator
84
{
85
public
:
86
102
ALOperator
(
const
std::vector<std::vector<int> > & vars,
103
const
Teuchos::RCP<Epetra_Operator> & content,
104
LinearOp pressureMassMatrix,
105
double
gamma = 0.05,
const
std::string & label =
"<ANYM>"
);
106
120
ALOperator
(
const
std::vector<std::vector<int> > & vars,
121
const
Teuchos::RCP<Epetra_Operator> & content,
122
double
gamma = 0.05,
const
std::string & label =
"<ANYM>"
);
123
124
// Destructor
125
virtual
126
~ALOperator
()
127
{
128
}
129
136
void
137
setPressureMassMatrix
(LinearOp pressureMassMatrix);
138
142
const
LinearOp &
143
getPressureMassMatrix
()
const
144
{
145
return
pressureMassMatrix_
;
146
}
147
153
void
154
setGamma
(
double
gamma);
155
160
const
double
&
161
getGamma
()
const
162
{
163
return
gamma_
;
164
}
165
172
void
173
augmentRHS
(
const
Epetra_MultiVector & b, Epetra_MultiVector & bAugmented);
174
178
int
179
getNumberOfBlockRows
()
const
180
{
181
return
numBlockRows_
;
182
}
183
188
virtual
void
189
RebuildOps
()
190
{
191
BuildALOperator
();
192
}
193
201
const
Teuchos::RCP<const Epetra_Operator>
202
GetBlock
(
int
i,
int
j)
const
;
203
204
protected
:
205
209
Teuchos::RCP<Thyra::LinearOpBase<double> >
alOperator_
;
210
214
Teuchos::RCP<Thyra::LinearOpBase<double> >
alOperatorRhs_
;
215
219
LinearOp
pressureMassMatrix_
;
220
224
LinearOp
invPressureMassMatrix_
;
225
229
double
gamma_
;
230
234
int
dim_
;
235
239
int
numBlockRows_
;
240
244
void
245
checkDim
(
const
std::vector<std::vector<int> > & vars);
246
250
void
251
BuildALOperator
();
252
};
253
254
}
// end namespace NS
255
256
}
// end namespace Teko
257
258
#endif
/* __Teko_ALOperator_hpp__ */
Teko_Utilities.hpp
Teko::Epetra::BlockedEpetraOperator
Tear about a user specified Epetra_Operator (CrsMatrix) using a vector of vectors of GIDs for each bl...
Definition
Teko_BlockedEpetraOperator.hpp:69
Teko::NS::ALOperator::setPressureMassMatrix
void setPressureMassMatrix(LinearOp pressureMassMatrix)
Definition
Teko_ALOperator.cpp:58
Teko::NS::ALOperator::alOperatorRhs_
Teuchos::RCP< Thyra::LinearOpBase< double > > alOperatorRhs_
Definition
Teko_ALOperator.hpp:214
Teko::NS::ALOperator::getNumberOfBlockRows
int getNumberOfBlockRows() const
Definition
Teko_ALOperator.hpp:179
Teko::NS::ALOperator::getGamma
const double & getGamma() const
Definition
Teko_ALOperator.hpp:161
Teko::NS::ALOperator::pressureMassMatrix_
LinearOp pressureMassMatrix_
Definition
Teko_ALOperator.hpp:219
Teko::NS::ALOperator::invPressureMassMatrix_
LinearOp invPressureMassMatrix_
Definition
Teko_ALOperator.hpp:224
Teko::NS::ALOperator::BuildALOperator
void BuildALOperator()
Definition
Teko_ALOperator.cpp:91
Teko::NS::ALOperator::alOperator_
Teuchos::RCP< Thyra::LinearOpBase< double > > alOperator_
Definition
Teko_ALOperator.hpp:209
Teko::NS::ALOperator::RebuildOps
virtual void RebuildOps()
Definition
Teko_ALOperator.hpp:189
Teko::NS::ALOperator::GetBlock
const Teuchos::RCP< const Epetra_Operator > GetBlock(int i, int j) const
Definition
Teko_ALOperator.cpp:74
Teko::NS::ALOperator::dim_
int dim_
Definition
Teko_ALOperator.hpp:234
Teko::NS::ALOperator::numBlockRows_
int numBlockRows_
Definition
Teko_ALOperator.hpp:239
Teko::NS::ALOperator::setGamma
void setGamma(double gamma)
Definition
Teko_ALOperator.cpp:67
Teko::NS::ALOperator::getPressureMassMatrix
const LinearOp & getPressureMassMatrix() const
Definition
Teko_ALOperator.hpp:143
Teko::NS::ALOperator::checkDim
void checkDim(const std::vector< std::vector< int > > &vars)
Definition
Teko_ALOperator.cpp:84
Teko::NS::ALOperator::augmentRHS
void augmentRHS(const Epetra_MultiVector &b, Epetra_MultiVector &bAugmented)
Definition
Teko_ALOperator.cpp:215
Teko::NS::ALOperator::ALOperator
ALOperator(const std::vector< std::vector< int > > &vars, const Teuchos::RCP< Epetra_Operator > &content, LinearOp pressureMassMatrix, double gamma=0.05, const std::string &label="<ANYM>")
Definition
Teko_ALOperator.cpp:34
Teko::NS::ALOperator::gamma_
double gamma_
Definition
Teko_ALOperator.hpp:229
Generated by
1.17.0