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 62 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 188 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 226 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 240 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Array< RCP< LinearOpWithSolveFactoryBase< Scalar > > > Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) |
Definition at line 254 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
Array< RCP< const LinearOpWithSolveFactoryBase< Scalar > > > Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::getUnderlyingLOWSF | ( | ) | const |
Definition at line 265 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 277 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
void Thyra::BlockedTriangularLinearOpWithSolveFactory< Scalar >::setParameterList | ( | RCP< ParameterList > const & | paramList | ) |
Definition at line 298 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 308 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 315 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 326 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 333 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
returns false.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 342 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 349 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Returns null .
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 361 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Throws exception.
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 369 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 380 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 390 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 396 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 472 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Implements Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 481 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 508 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 522 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
virtual |
Reimplemented from Thyra::LinearOpWithSolveFactoryBase< Scalar >.
Definition at line 536 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
protected |
Overridden from Teuchos::VerboseObjectBase.
Definition at line 552 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
related |
Nonmember constructor.
Definition at line 202 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
related |
Nonmember constructor.
Definition at line 215 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.
|
private |
Definition at line 190 of file Thyra_BlockedTriangularLinearOpWithSolveFactory.hpp.