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 200 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 245 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 259 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Array< RCP< LinearOpWithSolveFactoryBase< Scalar > > > Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) |
Definition at line 274 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
Array< RCP< const LinearOpWithSolveFactoryBase< Scalar > > > Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) | const |
Definition at line 286 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 300 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
void Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::setParameterList | ( | RCP< ParameterList > const & | paramList | ) |
Definition at line 323 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 335 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 343 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 355 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 363 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
returns false.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 373 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 381 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Returns null .
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 393 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 400 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 412 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 423 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 431 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 511 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 522 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 550 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 565 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 579 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
protected |
Overridden from Teuchos::VerboseObjectBase.
Definition at line 595 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
related |
Nonmember constructor.
Definition at line 216 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
related |
Nonmember constructor.
Definition at line 232 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 202 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.