NOX
Development
|
Moore-Spence pitchfork solver strategy based on "Phipps" bordering which is the 7-solve modified pitchfork bordering algorithm that uses bordered linear solves. More...
#include <LOCA_Pitchfork_MooreSpence_PhippsBordering.H>
Public Member Functions | |
PhippsBordering (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams) | |
Constructor. More... | |
virtual | ~PhippsBordering () |
Destructor. | |
virtual void | setBlocks (const Teuchos::RCP< LOCA::Pitchfork::MooreSpence::AbstractGroup > &group, const Teuchos::RCP< LOCA::Pitchfork::MooreSpence::ExtendedGroup > &pfGroup, const Teuchos::RCP< const NOX::Abstract::MultiVector > &asymMultiVector, const Teuchos::RCP< const NOX::Abstract::Vector > &nullVector, const Teuchos::RCP< const NOX::Abstract::Vector > &JnVector, const Teuchos::RCP< const NOX::Abstract::Vector > &dfdp, const Teuchos::RCP< const NOX::Abstract::Vector > &dJndp) |
Set blocks in extended linear system. More... | |
virtual NOX::Abstract::Group::ReturnType | solve (Teuchos::ParameterList ¶ms, const LOCA::Pitchfork::MooreSpence::ExtendedMultiVector &input, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector &result) const |
Solves the extended system as defined above. More... | |
![]() | |
SolverStrategy () | |
Constructor. | |
virtual | ~SolverStrategy () |
Destructor. | |
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_slack, const NOX::Abstract::MultiVector::DenseMatrix &input_param, NOX::Abstract::MultiVector &result_x, NOX::Abstract::MultiVector &result_null, NOX::Abstract::MultiVector::DenseMatrix &result_slack, 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::Pitchfork::MooreSpence::AbstractGroup > | group |
Underlying group. | |
Teuchos::RCP< LOCA::Pitchfork::MooreSpence::ExtendedGroup > | pfGroup |
Turning point group. | |
Teuchos::RCP< const NOX::Abstract::MultiVector > | asymMultiVector |
Antisymmetric vector (psi) | |
Teuchos::RCP< const NOX::Abstract::Vector > | asymVector |
Antisymmetric vector (psi) | |
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::Vector > | dfdp |
df/dp | |
Teuchos::RCP< const NOX::Abstract::Vector > | dJndp |
d(Jn)/dp | |
Teuchos::RCP< LOCA::BorderedSolver::AbstractStrategy > | borderedSolver |
Bordered solver for solving (n+1)x(n+1) sets of equations. | |
Teuchos::RCP< NOX::Abstract::MultiVector > | nullMultiVector |
Null vector as a multivector. | |
Teuchos::RCP< NOX::Abstract::MultiVector > | JnMultiVector |
Jacobian times null vector as a multivector. | |
double | sigma |
Norm of JnVector. | |
Moore-Spence pitchfork solver strategy based on "Phipps" bordering which is the 7-solve modified pitchfork bordering algorithm that uses bordered linear solves.
This class solves the Moore-Spence pitchfork Newton equations:
via the following modified block elimination scheme:
where and
. Each bordered solve is implemented by a LOCA::BorderedSolver::AbstractStrategy strategy object.
LOCA::Pitchfork::MooreSpence::PhippsBordering::PhippsBordering | ( | 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. Instantiates a bordered solver for solving the bordeded systems described above. See LOCA::BorderedSolver::Factory for a description of available solvers. |
References borderedSolver, globalData, and solverParams.
|
virtual |
Set blocks in extended linear system.
group | [in] Underlying group representing J |
pfGroup | [in] Pitchfork group representing the pitchfork equations. |
asymMultiVector | [in] Multivector representing the asymmetric vector |
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::Pitchfork::MooreSpence::SolverStrategy.
References NOX::DeepCopy, and NOX::Abstract::Vector::TwoNorm.
|
virtual |
Solves the extended system as defined above.
The params argument is the linear solver parameters.
Implements LOCA::Pitchfork::MooreSpence::SolverStrategy.
References LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getBifParams(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getNullMultiVec(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getSlacks(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getXMultiVec(), and LOCA::Extended::MultiVector::numVectors().