Teko
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
NS
Teko_SIMPLEPreconditionerFactory.hpp
1
// @HEADER
2
// *****************************************************************************
3
// Teko: A package for block and physics based preconditioning
4
//
5
// Copyright 2010 NTESS and the Teko contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef __Teko_SIMPLEPreconditionerFactory_hpp__
11
#define __Teko_SIMPLEPreconditionerFactory_hpp__
12
13
#include "Teko_BlockPreconditionerFactory.hpp"
14
#include "Teko_InverseFactory.hpp"
15
16
namespace
Teko {
17
namespace
NS {
18
19
// Declaration of the preconditioner factory
36
class
SIMPLEPreconditionerFactory :
public
BlockPreconditionerFactory
{
37
public
:
38
// Constructor
39
SIMPLEPreconditionerFactory
(
const
Teuchos::RCP<InverseFactory>& inverse,
double
alpha);
40
41
// Constructor
42
SIMPLEPreconditionerFactory
(
const
Teuchos::RCP<InverseFactory>& invVelFactory,
43
const
Teuchos::RCP<InverseFactory>& invPrsFactory,
double
alpha);
44
46
SIMPLEPreconditionerFactory
();
47
48
// Function inherited from BlockPreconditionerFactory
49
LinearOp
buildPreconditionerOperator
(BlockedLinearOp& blo,
BlockPreconditionerState
& state)
const
;
50
52
virtual
void
setMassMatrix
(Teko::LinearOp& mass) { massMatrix_ = mass; }
53
55
virtual
Teuchos::RCP<Teuchos::ParameterList>
getRequestedParameters
()
const
;
56
58
virtual
bool
updateRequestedParameters
(
const
Teuchos::ParameterList& pl);
59
61
virtual
void
initializeFromParameterList
(
const
Teuchos::ParameterList& pl);
62
63
protected
:
64
using
BlockPreconditionerFactory::buildPreconditionerOperator
;
65
66
// class members
67
Teuchos::RCP<InverseFactory> customHFactory_;
68
Teuchos::RCP<InverseFactory> invVelFactory_;
69
Teuchos::RCP<InverseFactory> precVelFactory_;
70
Teuchos::RCP<InverseFactory> invPrsFactory_;
71
Teuchos::RCP<InverseFactory> precPrsFactory_;
72
double
alpha_;
73
DiagonalType
fInverseType_;
74
// enum FInverseType {Diagonal,Lumped,AbsRowSum,Custom} fInverseType_;
75
76
bool
useMass_;
77
Teko::LinearOp massMatrix_;
78
79
// Info for the block-diagonal approximation to H if used.
80
mutable
Teuchos::ParameterList BlkDiagList_;
81
};
82
83
}
// end namespace NS
84
}
// end namespace Teko
85
86
#endif
Teko::DiagonalType
DiagonalType
Definition
Teko_Utilities.hpp:809
Teko::BlockPreconditionerFactory
Abstract class which block preconditioner factories in Teko should be based on.
Definition
Teko_BlockPreconditionerFactory.hpp:63
Teko::BlockPreconditionerFactory::buildPreconditionerOperator
virtual LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const =0
Function that is called to build the preconditioner for the linear operator that is passed in.
Teko::BlockPreconditionerState
An implementation of a state object for block preconditioners.
Definition
Teko_BlockPreconditionerFactory.hpp:43
Teko::NS::SIMPLEPreconditionerFactory::SIMPLEPreconditionerFactory
SIMPLEPreconditionerFactory()
Default constructor.
Definition
Teko_SIMPLEPreconditionerFactory.cpp:46
Teko::NS::SIMPLEPreconditionerFactory::buildPreconditionerOperator
LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const
Function that is called to build the preconditioner for the linear operator that is passed in.
Definition
Teko_SIMPLEPreconditionerFactory.cpp:50
Teko::NS::SIMPLEPreconditionerFactory::updateRequestedParameters
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
For assisting in construction of the preconditioner.
Definition
Teko_SIMPLEPreconditionerFactory.cpp:371
Teko::NS::SIMPLEPreconditionerFactory::initializeFromParameterList
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl)
Initialize from a parameter list.
Definition
Teko_SIMPLEPreconditionerFactory.cpp:227
Teko::NS::SIMPLEPreconditionerFactory::setMassMatrix
virtual void setMassMatrix(Teko::LinearOp &mass)
Set the mass matrix for this factory.
Definition
Teko_SIMPLEPreconditionerFactory.hpp:52
Teko::NS::SIMPLEPreconditionerFactory::getRequestedParameters
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
For assisting in construction of the preconditioner.
Definition
Teko_SIMPLEPreconditionerFactory.cpp:315
Generated by
1.17.0