NOX::SharedObject< Object, Owner > Class Template Reference

Holder for objects that are shared between NOX::Abstract::Groups. More...

#include <NOX_SharedObjectTemplate.H>

Inheritance diagram for NOX::SharedObject< Object, Owner >:

[legend]
Collaboration diagram for NOX::SharedObject< Object, Owner >:
[legend]
List of all members.

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.

Detailed Description

template<class Object, class Owner>
class NOX::SharedObject< Object, Owner >

Holder for objects that are shared between NOX::Abstract::Groups.

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.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:42:26 2008 for NOX by doxygen 1.3.9.1