NOX Development
|
This class computes the solution to
#include <LOCA_SingularJacobianSolve_NicDay.H>
Public Member Functions | |
NicDay (Teuchos::ParameterList ¶ms) | |
Constructor. | |
NicDay (const NicDay &source) | |
Copy constructor. | |
virtual | ~NicDay () |
Destructor. | |
virtual LOCA::SingularJacobianSolve::Generic * | clone () const |
Clone function. | |
virtual LOCA::SingularJacobianSolve::Generic & | operator= (const LOCA::SingularJacobianSolve::Generic &source) |
Assignment operator. | |
virtual NicDay & | operator= (const NicDay &source) |
Assignment operator. | |
virtual NOX::Abstract::Group::ReturnType | reset (Teuchos::ParameterList ¶ms) |
Reset parameters. | |
virtual NOX::Abstract::Group::ReturnType | compute (Teuchos::ParameterList ¶ms, LOCA::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector &input, const NOX::Abstract::Vector &approxNullVec, const NOX::Abstract::Vector &jacApproxNullVec, NOX::Abstract::Vector &result) |
Computes the solution as described above. | |
virtual NOX::Abstract::Group::ReturnType | computeMulti (Teuchos::ParameterList ¶ms, LOCA::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector *const *inputs, const NOX::Abstract::Vector &approxNullVec, const NOX::Abstract::Vector &jacApproxNullVec, NOX::Abstract::Vector **results, int nVecs) |
Computes solution for multiple RHS. | |
![]() | |
Generic () | |
Constructor. | |
Generic (const Generic &source) | |
Copy constructor. | |
virtual | ~Generic () |
Destructor. | |
virtual Generic * | clone () const =0 |
Clone function. | |
virtual Generic & | operator= (const Generic &source)=0 |
Assignment operator. | |
virtual NOX::Abstract::Group::ReturnType | reset (Teuchos::ParameterList ¶ms)=0 |
Reset parameters. | |
virtual NOX::Abstract::Group::ReturnType | compute (Teuchos::ParameterList ¶ms, LOCA::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector &input, const NOX::Abstract::Vector &approxNullVec, const NOX::Abstract::Vector &jacApproxNullVec, NOX::Abstract::Vector &result)=0 |
Compute solution to singular system. | |
virtual NOX::Abstract::Group::ReturnType | computeMulti (Teuchos::ParameterList ¶ms, LOCA::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector *const *inputs, const NOX::Abstract::Vector &approxNullVec, const NOX::Abstract::Vector &jacApproxNullVec, NOX::Abstract::Vector **results, int nVecs)=0 |
Compute solution to singular system with multiple RHS. | |
This class computes the solution to
This singular solve method is a modification of the deflation idea implemented in LOCA::SingularJacobianSolve::Nic where deflation of the right hand side is used to improve the conditioning of the linear system. Typically a solution to
The solve
This algorithm is selected by setting the "Method" parameter of the "Singular Solve" sublist of the NOX linear solver parameter list to "Nic-Day". The idea for this algorithm is taken from: R. A. Nicolaides, "Deflation of Conjugate Gradients With Applications to Boundary Value Problems," SIAM J. Numer. Anal., 24(2), 1987.
|
virtual |
Clone function.
Implements LOCA::SingularJacobianSolve::Generic.
|
virtual |
Computes the solution as described above.
Implements LOCA::SingularJacobianSolve::Generic.
References LOCA::ErrorCheck::checkReturnType(), NOX::Abstract::Vector::clone(), NOX::DeepCopy, NOX::Abstract::Vector::innerProduct(), and NOX::Abstract::Vector::update().
|
virtual |
Computes solution for multiple RHS.
Implements LOCA::SingularJacobianSolve::Generic.
References NOX::Abstract::Vector::clone(), LOCA::ErrorCheck::combineAndCheckReturnTypes(), NOX::DeepCopy, NOX::Abstract::Vector::innerProduct(), NOX::Abstract::Group::Ok, and NOX::Abstract::Vector::update().
|
virtual |
Assignment operator.
Implements LOCA::SingularJacobianSolve::Generic.
|
virtual |
Reset parameters.
There are no additional parameters for the NicDay calculation.
Implements LOCA::SingularJacobianSolve::Generic.
References NOX::Abstract::Group::Ok.
Referenced by NicDay().