#include <NOX_SharedObjectTemplate.H>
Inheritance diagram for NOX::SharedObject< Object, Owner >:
Public Member Functions | |
| SharedObject (Object &newObject) | |
| Constructor. | |
| ~SharedObject () | |
| Destructor. | |
| Object & | getObject (const Owner *newOwner) |
| Get a non-const reference to the underlying matrix (an epetra operator). | |
| const Object & | getObject () const |
| Return a const reference to the Jacobian. | |
| bool | isOwner (const Owner *checkOwner) const |
| Return true if testOwner is the owner of the Jacobian. | |
| bool | setObject (Object &newObject) |
| Essentially, this function allows the underlying Epetra_Object to be changed. We need this if the operator is destroyed and a new one is created during the NOX::Epetra::Interface::computeJacobian() call. | |
Protected Attributes | |
| Object * | object |
| Pointer to Epetra Jacobian matrix. | |
| const Owner * | owner |
| Pointer to const group that owns Jacobian. | |
Due to the size of certain operators (i.e. the Jacobian and Preconditioning Matrices), we cannot afford to have multiple copies. Instead we implement a shared object class that that all groups use.
1.3.9.1