7#ifndef __ASSCHURDRIVER_HPP__
8#define __ASSCHURDRIVER_HPP__
55 return pcalc_->data_A();
65 return pcalc_->data_A_nonconst();
This is the base class for all algorithm strategy objects.
This class stores a list of user set options.
This class is the interface for any class that deals with the Schur matrix from the point when it is ...
virtual SmartPtr< const SchurData > data_B() const
SmartPtr< PCalculator > pcalc_
virtual bool SchurBuild()=0
Creates the SchurMatrix from B and P.
virtual bool SchurSolve(SmartPtr< IteratesVector > lhs, SmartPtr< const IteratesVector > rhs, SmartPtr< Vector > delta_u, SmartPtr< IteratesVector > sol=NULL)=0
Performs a backsolve on S and K.
SmartPtr< SchurData > data_B_
virtual SmartPtr< const SchurData > data_A() const
Const accessor methods to the SchurData for for the derived classes.
virtual SmartPtr< PCalculator > pcalc_nonconst()
virtual SmartPtr< const PCalculator > pcalc() const
virtual SmartPtr< SchurData > data_A_nonconst()
SchurDriver(SmartPtr< PCalculator > pcalc, SmartPtr< SchurData > data_B)
virtual bool SchurFactorize()=0
Calls the factorization routine for the SchurMatrix.
virtual bool InitializeImpl(const OptionsList &, const std::string &)
Implementation of the initialization method that has to be overloaded by for each derived class.
virtual SmartPtr< SchurData > data_B_nonconst()
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
SmartPtr< const U > ConstPtr(const SmartPtr< U > &smart_ptr)