Advanced Multi-Physics (AMP)
On-Line Documentation
BandedSolver.h
Go to the documentation of this file.
1#ifndef included_AMP_BandedSolver
2#define included_AMP_BandedSolver
3
4#include "AMP/operators/Operator.h"
5#include "AMP/solvers/SolverStrategy.h"
6#include "AMP/vectors/Vector.h"
7
8
9namespace AMP::Solver {
10
18{
19public:
30 explicit BandedSolver( std::shared_ptr<SolverStrategyParameters> params );
31
37 static std::unique_ptr<SolverStrategy>
38 createSolver( std::shared_ptr<SolverStrategyParameters> params )
39 {
40 return std::make_unique<BandedSolver>( params );
41 }
42
46 virtual ~BandedSolver();
47
48 std::string type() const override { return "BandedSolver"; }
49
56 void apply( std::shared_ptr<const AMP::LinearAlgebra::Vector> f,
57 std::shared_ptr<AMP::LinearAlgebra::Vector> u ) override;
58
63 void resetOperator( std::shared_ptr<const AMP::Operator::OperatorParameters> params ) override;
64
69 void reset( std::shared_ptr<SolverStrategyParameters> params ) override;
70
71
72protected:
74
75
76private:
77 int N, M, KL, KU;
78 double *AB;
79 int *IPIV;
80 std::shared_ptr<AMP::Discretization::DOFManager> rightDOF;
81 std::shared_ptr<AMP::Discretization::DOFManager> leftDOF;
82};
83} // namespace AMP::Solver
84
85#endif
void apply(std::shared_ptr< const AMP::LinearAlgebra::Vector > f, std::shared_ptr< AMP::LinearAlgebra::Vector > u) override
BandedSolver(std::shared_ptr< SolverStrategyParameters > params)
void resetOperator(std::shared_ptr< const AMP::Operator::OperatorParameters > params) override
std::string type() const override
Return the name of the solver.
std::shared_ptr< AMP::Discretization::DOFManager > leftDOF
void reset(std::shared_ptr< SolverStrategyParameters > params) override
static std::unique_ptr< SolverStrategy > createSolver(std::shared_ptr< SolverStrategyParameters > params)
std::shared_ptr< AMP::Discretization::DOFManager > rightDOF
std::shared_ptr< AMP::Solver::SolverStrategy > shared_ptr



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:41.
Comments on this page