Thyra
Version of the Day
|
Implicit subclass that takes a blocked triangular LOWB object and turns it into a LOWSB object. More...
#include <Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_decl.hpp>
Overridden from Constructors/Initializers/Accessors | |
DefaultBlockedTriangularLinearOpWithSolveFactory (const RCP< LinearOpWithSolveFactoryBase< Scalar > > &lowsf) | |
Create given a single non-const LOWSFB object. More... | |
DefaultBlockedTriangularLinearOpWithSolveFactory (const RCP< const LinearOpWithSolveFactoryBase< Scalar > > &lowsf) | |
Create given a single const LOWSFB object. More... | |
RCP < LinearOpWithSolveFactoryBase < Scalar > > | getUnderlyingLOWSF () |
RCP< const LinearOpWithSolveFactoryBase < Scalar > > | getUnderlyingLOWSF () const |
Overridden from Teuchos::Describable. | |
std::string | description () const |
Overridden from ParameterListAcceptor (simple forwarding functions) | |
void | setParameterList (RCP< ParameterList > const ¶mList) |
RCP< ParameterList > | getNonconstParameterList () |
RCP< ParameterList > | unsetParameterList () |
RCP< const ParameterList > | getParameterList () const |
RCP< const ParameterList > | getValidParameters () const |
Overridden from LinearOpWithSolveFactoyBase | |
virtual bool | acceptsPreconditionerFactory () const |
returns false. More... | |
virtual void | setPreconditionerFactory (const RCP< PreconditionerFactoryBase< Scalar > > &precFactory, const std::string &precFactoryName) |
Throws exception. More... | |
virtual RCP < PreconditionerFactoryBase < Scalar > > | getPreconditionerFactory () const |
Returns null . More... | |
virtual void | unsetPreconditionerFactory (RCP< PreconditionerFactoryBase< Scalar > > *precFactory, std::string *precFactoryName) |
Throws exception. More... | |
virtual bool | isCompatible (const LinearOpSourceBase< Scalar > &fwdOpSrc) const |
virtual RCP < LinearOpWithSolveBase < Scalar > > | createOp () const |
virtual void | initializeOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const |
virtual void | initializeAndReuseOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op) const |
virtual void | uninitializeOp (LinearOpWithSolveBase< Scalar > *Op, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc, RCP< const PreconditionerBase< Scalar > > *prec, RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const |
virtual bool | supportsPreconditionerInputType (const EPreconditionerInputType precOpType) const |
virtual void | initializePreconditionedOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const PreconditionerBase< Scalar > > &prec, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const |
virtual void | initializeApproxPreconditionedOp (const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const |
void | informUpdatedVerbosityState () const |
Overridden from Teuchos::VerboseObjectBase. More... | |
Additional Inherited Members | |
Public Member Functions inherited from Thyra::LinearOpWithSolveFactoryBase< Scalar > | |
Related Functions inherited from Thyra::LinearOpWithSolveFactoryBase< Scalar > | |
template<class Scalar > | |
bool | isCompatible (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const LinearOpBase< Scalar > &fwdOp) |
Return if the forward operator is a compatible source for a LOWSFB object. More... | |
template<class Scalar > | |
void | setDefaultObjectLabel (const LinearOpBase< Scalar > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op) |
Set default label on a LOWSB object. More... | |
template<class Scalar > | |
void | initializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) |
Initialize a pre-created LOWSB object given a forward operator. More... | |
template<class Scalar > | |
void | initializeAndReuseOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op) |
Reinitialize a pre-created LOWSB object given a forward operator, reusing a much as possible from the prior LOWSB object. More... | |
template<class Scalar > | |
void | initializePreconditionedOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const RCP< const PreconditionerBase< Scalar > > &prec, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) |
Initialize a preconditioned LOWSB object given an external preconditioner. More... | |
template<class Scalar > | |
void | initializeApproxPreconditionedOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const RCP< const LinearOpBase< Scalar > > &approxFwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) |
Initialize a preconditioned LOWSB object given an external operator to be used to generate the preconditioner internally. More... | |
template<class Scalar > | |
RCP< LinearOpWithSolveBase < Scalar > > | linearOpWithSolve (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) |
Create and initialize a LinearOpWithSolveBase object from a LinearOpBase object using a LinearOpWithSolveFactoryBase strategy object. More... | |
template<class Scalar > | |
RCP< LinearOpBase< Scalar > > | inverse (const LinearOpWithSolveFactoryBase< Scalar > &LOWSF, const RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED, const Ptr< const SolveCriteria< Scalar > > &fwdSolveCriteria=Teuchos::null, const EThrowOnSolveFailure throwOnFwdSolveFailure=THROW_ON_SOLVE_FAILURE, const Ptr< const SolveCriteria< Scalar > > &adjSolveCriteria=Teuchos::null, const EThrowOnSolveFailure throwOnAdjSolveFailure=THROW_ON_SOLVE_FAILURE) |
Form a const implicit inverse operator M = inv(A) given a factory. More... | |
template<class Scalar > | |
void | uninitializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const Ptr< RCP< const LinearOpBase< Scalar > > > &fwdOp=Teuchos::null, const Ptr< RCP< const PreconditionerBase< Scalar > > > &prec=Teuchos::null, const Ptr< RCP< const LinearOpBase< Scalar > > > &approxFwdOp=Teuchos::null, const Ptr< ESupportSolveUse > &supportSolveUse=Teuchos::null) |
Uninitialized a pre-created LOWSB object, returning input objects used to initialize it. More... | |
Implicit subclass that takes a blocked triangular LOWB object and turns it into a LOWSB object.
This class takes any upper or lower triangular PhysicallyBlockedLinearOpBase
object and compatible LinearOpWithSolveFactoryBase
object(s) and creates a LOWSB version by creating LOWSB objects along the diagonal.
For example, consider the lower block triangular linear operator:
[ M(0,0) ] M = [ M(1,0) M(1,1) ] [ M(2,0) M(2,1) M(2,2) ]
This class object will then create a new LOWSB object (of type DefaultBlockedTriangularLinearOpWithSolve
) that looks like:
[ invM(0,0) ] invM = [ M(1,0) invM(1,1) ] [ M(2,0) M(2,1) invM(2,2) ]
where invM(k,k)
are LOWSB objects created from the LOB objects M(k,k)
given a LOWSFB object.
This class is not very compliciated, see the function initializeOp()
see what this class actually does!
ToDo: Finish Documentation!
Definition at line 61 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_decl.hpp.
Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::DefaultBlockedTriangularLinearOpWithSolveFactory | ( | const RCP< LinearOpWithSolveFactoryBase< Scalar > > & | lowsf | ) |
Create given a single non-const LOWSFB object.
lowsf | [in,persisting] The LOWSFB object that will be used to create the LOWSB object for the diagonal blocks. |
Preconditions:
!is_null(lowsf)
Definition at line 30 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::DefaultBlockedTriangularLinearOpWithSolveFactory | ( | const RCP< const LinearOpWithSolveFactoryBase< Scalar > > & | lowsf | ) |
Create given a single const LOWSFB object.
lowsf | [in,persisting] The LOWSFB object that will be used to create the LOWSB object for the diagonal blocks. |
Preconditions:
!is_null(lowsf)
Definition at line 42 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
RCP< LinearOpWithSolveFactoryBase< Scalar > > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) |
Definition at line 55 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
RCP< const LinearOpWithSolveFactoryBase< Scalar > > Thyra::DefaultBlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) | const |
Definition at line 63 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 74 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 94 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 104 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 112 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 120 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 128 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
returns false.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 139 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 147 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Returns null .
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 159 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 166 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 178 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 189 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 197 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 276 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 287 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 315 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 330 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 344 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.
|
protectedvirtual |
Overridden from Teuchos::VerboseObjectBase.
Reimplemented from Teuchos::VerboseObjectBase.
Definition at line 361 of file Thyra_DefaultBlockedTriangularLinearOpWithSolveFactory_def.hpp.