| 
    NOX
    Development
    
   | 
 
This class computes the solution to 
 using the Nic-Day method.  
 More...
#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.  More... | |
| 
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.  | |
  Public Member Functions inherited from LOCA::SingularJacobianSolve::Generic | |
| Generic () | |
| Constructor.  More... | |
| Generic (const Generic &source) | |
| Copy constructor.  | |
| virtual | ~Generic () | 
| Destructor.  | |
This class computes the solution to 
 using the Nic-Day method. 
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 
 when 
 is nearly singular will have a large component in the direction of the null vector 
. The idea then is to deflate 
 out of the right hand side 
. The complete algorithm used here is: 
 The solve 
 uses the underlying group's applyJacobianInverse() method and therefore this is a generic technique for computing solutions to nearly singular system since it uses any supplied linear solver.
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 | 
Reset parameters.
There are no additional parameters for the NicDay calculation.
Implements LOCA::SingularJacobianSolve::Generic.
References NOX::Abstract::Group::Ok.
Referenced by NicDay().
 1.8.5