Teko
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Teko_AddPreconditionerFactory.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_AddPreconditionerFactory_hpp__
11
#define __Teko_AddPreconditionerFactory_hpp__
12
13
#include "Teko_BlockPreconditionerFactory.hpp"
14
#include "
Teko_Utilities.hpp
"
15
16
namespace
Teko {
17
22
class
AddPrecondState :
public
Teko::BlockPreconditionerState
{
23
public
:
24
AddPrecondState() {}
25
26
Teuchos::RCP<BlockPreconditionerState> StateOne_;
27
Teuchos::RCP<BlockPreconditionerState> StateTwo_;
28
};
29
34
class
AddPreconditionerFactory
:
public
Teko::BlockPreconditionerFactory
{
35
public
:
37
AddPreconditionerFactory
(
38
const
Teuchos::RCP<const Teko::BlockPreconditionerFactory>& FirstFactory,
39
const
Teuchos::RCP<const Teko::BlockPreconditionerFactory>& SecondFactory);
40
41
AddPreconditionerFactory
();
42
44
Teko::LinearOp
buildPreconditionerOperator
(Teko::BlockedLinearOp& blo,
45
Teko::BlockPreconditionerState
& state)
const
;
46
48
virtual
Teuchos::RCP<Teko::PreconditionerState>
buildPreconditionerState
()
const
;
49
50
protected
:
51
using
Teko::BlockPreconditionerFactory::buildPreconditionerOperator
;
52
53
// class members
54
Teuchos::RCP<const Teko::BlockPreconditionerFactory> FirstFactory_;
55
Teuchos::RCP<const Teko::BlockPreconditionerFactory> SecondFactory_;
56
58
virtual
void
initializeFromParameterList
(
const
Teuchos::ParameterList& pl);
59
};
60
61
}
// end namespace Teko
62
63
#endif
Teko_Utilities.hpp
Teko::AddPreconditionerFactory::buildPreconditionerState
virtual Teuchos::RCP< Teko::PreconditionerState > buildPreconditionerState() const
Build the AddPrecondState object.
Definition
Teko_AddPreconditionerFactory.cpp:24
Teko::AddPreconditionerFactory::AddPreconditionerFactory
AddPreconditionerFactory(const Teuchos::RCP< const Teko::BlockPreconditionerFactory > &FirstFactory, const Teuchos::RCP< const Teko::BlockPreconditionerFactory > &SecondFactory)
Constructor.
Teko::AddPreconditionerFactory::buildPreconditionerOperator
Teko::LinearOp buildPreconditionerOperator(Teko::BlockedLinearOp &blo, Teko::BlockPreconditionerState &state) const
Function inherited from Teko::BlockPreconditionerFactory.
Definition
Teko_AddPreconditionerFactory.cpp:34
Teko::AddPreconditionerFactory::initializeFromParameterList
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl)
Initialize from a parameter list.
Definition
Teko_AddPreconditionerFactory.cpp:54
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
Generated by
1.17.0