NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
NOX::Petsc::SharedJacobian Class Reference

Shared Jacobian for NOX::Petsc::Group objects. More...

#include <NOX_Petsc_SharedJacobian.H>

Collaboration diagram for NOX::Petsc::SharedJacobian:
Collaboration graph
[legend]

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 Groupowner
 Pointer to const group that owns Jacobian.
 

Detailed Description

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.


The documentation for this class was generated from the following files: