Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra_PhysicallyBlockedLinearOpWithSolveBase.hpp
1// @HEADER
2// *****************************************************************************
3// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4//
5// Copyright 2004 NTESS and the Thyra contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef THYRA_PHYSICALLY_BLOCKED_LINEAR_OP_WITH_SOLVE_BASE_HPP
11#define THYRA_PHYSICALLY_BLOCKED_LINEAR_OP_WITH_SOLVE_BASE_HPP
12
13#include "Thyra_BlockedLinearOpWithSolveBase.hpp"
14#include "Thyra_PhysicallyBlockedLinearOpBase.hpp"
15
16
17namespace Thyra {
18
19
27template<class Scalar>
29 : virtual public BlockedLinearOpWithSolveBase<Scalar>,
30 virtual public PhysicallyBlockedLinearOpBase<Scalar>
31{
32public:
33
49 virtual bool acceptsLOWSBlock(const int i, const int j) const = 0;
50
53 const int i, const int j,
55 ) = 0;
56
58 virtual void setLOWSBlock(
59 const int i, const int j,
61 ) = 0;
62
63private:
64
65 // Not defined and not to be called
68
69};
70
71
72} // namespace Thyra
73
74
75#endif // THYRA_PHYSICALLY_BLOCKED_LINEAR_OP_WITH_SOLVE_BASE_HPP
Base interface for linear operators with a solve that can be accessed as sub-blocks.
Base class for all linear operators that can support a high-level solve operation.
Base interface for physically blocked linear operators.
Base interface for linear operators with a solve that are composed out of individual LOB and LOWSB ob...
virtual void setNonconstLOWSBlock(const int i, const int j, const Teuchos::RCP< LinearOpWithSolveBase< Scalar > > &block)=0
virtual void setLOWSBlock(const int i, const int j, const Teuchos::RCP< const LinearOpWithSolveBase< Scalar > > &block)=0
virtual bool acceptsLOWSBlock(const int i, const int j) const =0
Determines if the block (i,j) can be filled with a LOWDB object or not.