Tempus
Version of the Day
Time Integration
|
Implicit subclass that takes a blocked triangular LOWB object and turns it into a LOWSB object. More...
#include <Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp>
Private Types | |
typedef Teuchos::ConstNonconstObjectContainer < LinearOpWithSolveFactoryBase < Scalar > > | LOWSF_t |
Private Member Functions | |
BlockedTriangularLinearOpWithSolveFactory () | |
Private Attributes | |
Array< LOWSF_t > | lowsf_ |
Related Functions | |
(Note that these are not member functions.) | |
template<class Scalar > | |
RCP < BlockedTriangularLinearOpWithSolveFactory < Scalar > > | blockedTriangularLinearOpWithSolveFactory (const Array< RCP< LinearOpWithSolveFactoryBase< Scalar > > > &lowsf) |
Nonmember constructor. More... | |
template<class Scalar > | |
RCP < BlockedTriangularLinearOpWithSolveFactory < Scalar > > | blockedTriangularLinearOpWithSolveFactory (const Array< RCP< const LinearOpWithSolveFactoryBase< Scalar > > > &lowsf) |
Nonmember constructor. More... | |
Overridden from Constructors/Initializers/Accessors | |
BlockedTriangularLinearOpWithSolveFactory (const Array< RCP< LinearOpWithSolveFactoryBase< Scalar > > > &lowsf) | |
Create given an array of non-const LOWSFB objects. More... | |
BlockedTriangularLinearOpWithSolveFactory (const Array< RCP< const LinearOpWithSolveFactoryBase< Scalar > > > &lowsf) | |
Create given an array of const LOWSFB objects. More... | |
Array< RCP < LinearOpWithSolveFactoryBase < Scalar > > > | getUnderlyingLOWSF () |
Array< 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 > | |
bool | isCompatible (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const LinearOpBase< Scalar > &fwdOp) |
void | setDefaultObjectLabel (const LinearOpBase< Scalar > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op) |
void | initializeOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) |
void | initializeAndReuseOp (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const Ptr< LinearOpWithSolveBase< Scalar > > &Op) |
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) |
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) |
RCP< LinearOpWithSolveBase < Scalar > > | linearOpWithSolve (const LinearOpWithSolveFactoryBase< Scalar > &lowsFactory, const RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) |
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) |
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) |
Public Member Functions inherited from Teuchos::Describable | |
virtual void | describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
virtual | ~Describable () |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Public Member Functions inherited from Teuchos::ParameterListAcceptor | |
virtual void | setParameterList (const RCP< ParameterList > ¶mList)=0 |
Static Public Attributes inherited from Teuchos::Describable | |
static const EVerbosityLevel | verbLevel_default |
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!
Note, this is basically the same as DefaultBlockedTriangularLinearOpWithSolveFactory except this version allows you to set a different LOWSF for each diagonal block.
Definition at line 61 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 187 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::BlockedTriangularLinearOpWithSolveFactory | ( | const Array< RCP< LinearOpWithSolveFactoryBase< Scalar > > > & | lowsf | ) |
Create given an array of non-const LOWSFB objects.
lowsf | [in,persisting] The LOWSFB objects that will be used to create the LOWSB objects for the diagonal blocks. |
Preconditions:
!is_null(lowsf)
Definition at line 225 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::BlockedTriangularLinearOpWithSolveFactory | ( | const Array< RCP< const LinearOpWithSolveFactoryBase< Scalar > > > & | lowsf | ) |
Create given an array of const LOWSFB objects.
lowsf | [in,persisting] The LOWSFB objects that will be used to create the LOWSB objects for the diagonal blocks. |
Preconditions:
!is_null(lowsf)
Definition at line 239 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Array< RCP< LinearOpWithSolveFactoryBase< Scalar > > > Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) |
Definition at line 253 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
Array< RCP< const LinearOpWithSolveFactoryBase< Scalar > > > Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) | const |
Definition at line 264 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 276 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
void Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::setParameterList | ( | RCP< ParameterList > const & | paramList | ) |
Definition at line 297 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 307 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 314 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 325 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 332 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
returns false.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 341 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 348 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Returns null .
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 360 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 368 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 379 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 389 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 395 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 471 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 480 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 507 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 521 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 535 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
protected |
Overridden from Teuchos::VerboseObjectBase.
Definition at line 551 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
related |
Nonmember constructor.
Definition at line 201 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
related |
Nonmember constructor.
Definition at line 214 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 189 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.