NOX Development

Shared Jacobian for NOX::Petsc::Group objects. More...
#include <NOX_Petsc_SharedJacobian.H>
Public Member Functions  
SharedJacobian (Mat &j)  
Constructor.  
SharedJacobian (Mat &j, Mat &p)  
Constructor with separate Matrices for the Jacobian and preconditioner.  
~SharedJacobian ()  
Destructor.  
Mat &  getJacobian (const Group *newowner) 
Get a reference to the Jacobian AND take ownership.  
const Mat &  getJacobian () const 
Return a const pointer to the Jacobian.  
bool  isOwner (const Group *grp) const 
Return true if grp is the owner of the Jacobian.  
Mat &  getPrec (const Group *newowner) 
Get a reference to the Jacobian AND take ownership.  
const Mat &  getPrec () const 
Return a const pointer to the Jacobian.  
Protected Attributes  
Mat *  jacobian 
Pointer to Petsc Jacobian matrix.  
Mat *  prec 
Pointer to Petsc Preconditioning Matrix.  
const Group *  owner 
Pointer to const group that owns Jacobian. 
Shared Jacobian for NOX::Petsc::Group objects.
Due to the size of the Jacobian, we cannot afford to have multiple copies. Instead we implement a shared Jacobian that all groups use.
NOTE: An additional matrix is included with the SharedJacobian in anticipation of having a separate Matrix for the Jacobian and the Preconditioner. This option will be available in the future.