| 
    NOX
    Development
    
   | 
 
Moore-Spence turning point solver strategy based on "Salinger" bordering. This is the classic 4-solve bordering method. More...
#include <LOCA_TurningPoint_MooreSpence_SalingerBordering.H>


Protected Member Functions | |
| NOX::Abstract::Group::ReturnType | solveContiguous (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input_x, const NOX::Abstract::MultiVector &input_null, const NOX::Abstract::MultiVector::DenseMatrix &input_param, NOX::Abstract::MultiVector &result_x, NOX::Abstract::MultiVector &result_null, NOX::Abstract::MultiVector::DenseMatrix &result_param) const | 
| Solves equations with contiguous arguments.  | |
| NOX::Abstract::Group::ReturnType | solveTransposeContiguous (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input_x, const NOX::Abstract::MultiVector &input_null, const NOX::Abstract::MultiVector::DenseMatrix &input_param, NOX::Abstract::MultiVector &result_x, NOX::Abstract::MultiVector &result_null, NOX::Abstract::MultiVector::DenseMatrix &result_param) const | 
| Solves equations with contiguous arguments.  | |
Protected Attributes | |
| Teuchos::RCP< LOCA::GlobalData > | globalData | 
| Global data object.  | |
| 
Teuchos::RCP < Teuchos::ParameterList >  | solverParams | 
| Solver parameters.  | |
| 
Teuchos::RCP < LOCA::TurningPoint::MooreSpence::AbstractGroup >  | group | 
| Underlying group.  | |
| 
Teuchos::RCP < LOCA::TurningPoint::MooreSpence::ExtendedGroup >  | tpGroup | 
| Turning point group.  | |
| 
Teuchos::RCP< const  NOX::Abstract::Vector >  | nullVector | 
| Null vector.  | |
| 
Teuchos::RCP< const  NOX::Abstract::Vector >  | JnVector | 
| Jacobian times null vector.  | |
| 
Teuchos::RCP< const  NOX::Abstract::MultiVector >  | dfdp | 
| df/dp  | |
| 
Teuchos::RCP< const  NOX::Abstract::MultiVector >  | dJndp | 
| d(Jn)/dp  | |
Moore-Spence turning point solver strategy based on "Salinger" bordering. This is the classic 4-solve bordering method.
This class solves the Moore-Spence turning point Newton equations:
via the following block elimination scheme:
| LOCA::TurningPoint::MooreSpence::SalingerBordering::SalingerBordering | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | 
| const Teuchos::RCP< LOCA::Parameter::SublistParser > & | topParams, | ||
| const Teuchos::RCP< Teuchos::ParameterList > & | solverParams | ||
| ) | 
Constructor.
| global_data | [in] Global data object | 
| topParams | [in] Parsed top-level parameter list | 
| solverParams | [in] Bordered solver parameters. Currently none are referenced. | 
      
  | 
  virtual | 
Set blocks in extended linear system.
| group | [in] Underlying group representing J | 
| tpGroup | [in] Turning point group representing the turning point equations. | 
| nullVector | [in] Vector representing v | 
| JnVector | [in] Vector representing Jv | 
| dfdp | [in] Vector representing df/dp | 
| dJndp | [in] Vector representing d(Jv)/dp | 
Implements LOCA::TurningPoint::MooreSpence::SolverStrategy.
      
  | 
  virtual | 
Solves the extended system as defined above.
The params argument is the linear solver parameters.
Implements LOCA::TurningPoint::MooreSpence::SolverStrategy.
References NOX::Abstract::MultiVector::clone(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::getNullMultiVec(), LOCA::Extended::MultiVector::getScalars(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::getXMultiVec(), NOX::Abstract::MultiVector::init(), LOCA::Extended::MultiVector::numVectors(), NOX::Abstract::MultiVector::setBlock(), and NOX::Abstract::MultiVector::subView().
      
  | 
  virtual | 
Solves the transpose of the extended system as defined above.
The params argument is the linear solver parameters.
Reimplemented from LOCA::TurningPoint::MooreSpence::SolverStrategy.
References NOX::Abstract::MultiVector::clone(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::getNullMultiVec(), LOCA::Extended::MultiVector::getScalars(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::getXMultiVec(), NOX::Abstract::MultiVector::init(), LOCA::Extended::MultiVector::numVectors(), NOX::Abstract::MultiVector::setBlock(), NOX::Abstract::MultiVector::subView(), and NOX::Abstract::Vector::update().
 1.8.5