Teko
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Teko_JacobiPreconditionerFactory.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_JacobiPreconditionerFactory_hpp__
11
#define __Teko_JacobiPreconditionerFactory_hpp__
12
13
#include "Teuchos_RCP.hpp"
14
15
#include "Teko_BlockPreconditionerFactory.hpp"
16
#include "Teko_BlockInvDiagonalStrategy.hpp"
17
18
namespace
Teko {
19
35
class
JacobiPreconditionerFactory
:
public
BlockPreconditionerFactory
{
36
public
:
38
39
43
JacobiPreconditionerFactory
(
const
LinearOp& invD0,
const
LinearOp& invD1);
44
49
JacobiPreconditionerFactory
(
const
RCP<const BlockInvDiagonalStrategy>& strategy);
50
53
JacobiPreconditionerFactory
();
54
56
63
LinearOp
buildPreconditionerOperator
(BlockedLinearOp& blo,
BlockPreconditionerState
& state)
const
;
64
66
Teuchos::RCP<const BlockInvDiagonalStrategy>
getInvDiagStrategy
()
const
{
67
return
invOpsStrategy_
;
68
}
69
70
protected
:
71
using
Teko::BlockPreconditionerFactory::buildPreconditionerOperator
;
72
74
Teuchos::RCP<const BlockInvDiagonalStrategy>
invOpsStrategy_
;
75
77
virtual
void
initializeFromParameterList
(
const
Teuchos::ParameterList& pl);
78
};
79
80
}
// end namespace Teko
81
82
#endif
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::JacobiPreconditionerFactory::initializeFromParameterList
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl)
Initialize from a parameter list.
Definition
Teko_JacobiPreconditionerFactory.cpp:45
Teko::JacobiPreconditionerFactory::buildPreconditionerOperator
LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const
Create the Jacobi preconditioner operator.
Definition
Teko_JacobiPreconditionerFactory.cpp:29
Teko::JacobiPreconditionerFactory::JacobiPreconditionerFactory
JacobiPreconditionerFactory()
Definition
Teko_JacobiPreconditionerFactory.cpp:27
Teko::JacobiPreconditionerFactory::getInvDiagStrategy
Teuchos::RCP< const BlockInvDiagonalStrategy > getInvDiagStrategy() const
Get inv diagonal strategy.
Definition
Teko_JacobiPreconditionerFactory.hpp:66
Teko::JacobiPreconditionerFactory::JacobiPreconditionerFactory
JacobiPreconditionerFactory(const LinearOp &invD0, const LinearOp &invD1)
Definition
Teko_JacobiPreconditionerFactory.cpp:17
Teko::JacobiPreconditionerFactory::invOpsStrategy_
Teuchos::RCP< const BlockInvDiagonalStrategy > invOpsStrategy_
some members
Definition
Teko_JacobiPreconditionerFactory.hpp:74
Generated by
1.17.0