LOCA::MultiContinuation::FiniteDifferenceGroup Class Reference

Concrete class that provides a concrete implementation of the computeDfDp() method of the LOCA::Continuation::AbstractGroup using first-order finite differencing. More...

#include <LOCA_MultiContinuation_FiniteDifferenceGroup.H>

Inheritance diagram for LOCA::MultiContinuation::FiniteDifferenceGroup:

Inheritance graph
[legend]
Collaboration diagram for LOCA::MultiContinuation::FiniteDifferenceGroup:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 FiniteDifferenceGroup ()
 Constructor.
 FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
virtual ~FiniteDifferenceGroup ()
 Destructor.
virtual void copy (const NOX::Abstract::Group &source)
 Copy.
virtual NOX::Abstract::Groupoperator= (const NOX::Abstract::Group &source)
 Assignment.
virtual void setDerivUtils (const Teuchos::RCP< LOCA::DerivUtils > &deriv)
 Set the LOCA::DerivUtils object.
virtual
NOX::Abstract::Group::ReturnType 
computeDfDpMulti (const vector< int > &paramIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF)

Protected Attributes

Teuchos::RCP< DerivUtilsderivPtr
 Pointer to current DerivUtils derivative computation object.

Private Member Functions

FiniteDifferenceGroupoperator= (const FiniteDifferenceGroup &)
 Prohibit generation and use of operator=().


Detailed Description

Concrete class that provides a concrete implementation of the computeDfDp() method of the LOCA::Continuation::AbstractGroup using first-order finite differencing.

The finite-differencing calculations are actually implemented by the LOCA::DerivUtils class, and a custom DerivUtils object can be set by the setDerivUtils() method. However, in the future the calculations encapsulated in the DerivUtils class may be incorporated directly into this class and other finite-differencing child classes.

Definition at line 65 of file LOCA_MultiContinuation_FiniteDifferenceGroup.H.


Constructor & Destructor Documentation

LOCA::MultiContinuation::FiniteDifferenceGroup::FiniteDifferenceGroup (  ) 

LOCA::MultiContinuation::FiniteDifferenceGroup::FiniteDifferenceGroup ( const FiniteDifferenceGroup source,
NOX::CopyType  type = NOX::DeepCopy 
)

Copy constructor.

Definition at line 48 of file LOCA_MultiContinuation_FiniteDifferenceGroup.C.

References derivPtr.

LOCA::MultiContinuation::FiniteDifferenceGroup::~FiniteDifferenceGroup (  )  [virtual]


Member Function Documentation

void LOCA::MultiContinuation::FiniteDifferenceGroup::copy ( const NOX::Abstract::Group source  )  [virtual]

NOX::Abstract::Group & LOCA::MultiContinuation::FiniteDifferenceGroup::operator= ( const NOX::Abstract::Group source  )  [virtual]

void LOCA::MultiContinuation::FiniteDifferenceGroup::setDerivUtils ( const Teuchos::RCP< LOCA::DerivUtils > &  deriv  )  [virtual]

Set the LOCA::DerivUtils object.

Definition at line 81 of file LOCA_MultiContinuation_FiniteDifferenceGroup.C.

References derivPtr.

Referenced by LOCA::Abstract::Group::Group().

NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::FiniteDifferenceGroup::computeDfDpMulti ( const vector< int > &  paramIDs,
NOX::Abstract::MultiVector dfdp,
bool  isValidF 
) [virtual]

Compute $\partial F/\partial p$ for each parameter $p$ indexed by paramIDs. The first column of dfdp holds F, which is valid if isValidF is true. Otherwise F must be computed.

The calculation is implemented by calling the corresponding LOCA::DerivUtils::computeDfDp() method of the passed LOCA::DerivUtils object.

Implements LOCA::MultiContinuation::AbstractGroup.

Reimplemented in LOCA::Thyra::Group.

Definition at line 88 of file LOCA_MultiContinuation_FiniteDifferenceGroup.C.

References derivPtr.

FiniteDifferenceGroup& LOCA::MultiContinuation::FiniteDifferenceGroup::operator= ( const FiniteDifferenceGroup  )  [private]

Prohibit generation and use of operator=().


Member Data Documentation


The documentation for this class was generated from the following files:

Generated on Thu Dec 17 11:02:57 2009 for Nonlinear Solver Project by  doxygen 1.5.9