|
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.