%File: ~/OOP/material/Material.tex
%What: "@(#) Material.tex, revA"

PRESENTLY LITTLE IN THE INTERFACE .. THIS MAY CHANGE IF MAKE GENERAL
i.e 1D, 2D and 3d PROBLEMS RETURN MATRICES AND VECTORS .. IF CHANGE,
INTERFACE FOR UniaxialMaterial MAY THEN CHANGE. \\ 

\noindent {\bf Files}   \\
\indent \#include $<\tilde{ }$/material/Material.h$>$  \\

\noindent {\bf Class Declaration}  \\
\indent class Material: public TaggedObject, public MovableObject \\

\noindent {\bf Class Hierarchy} \\
\indent TaggedObject \\
\indent MovableObject \\
\indent\indent {\bf Material} \\

\noindent {\bf Description}  \\
\indent Material is an abstract class. The Material class
provides the interface that all Material writers must provide
when introducing new Material subclasses. A Material object
is responsible for keeping track of stress, strain and the
constitution for a particular point in the domain. \\ 

\noindent {\bf Class Interface} \\
\indent // Constructor \\
\indent {\em Material (int tag, int classTag);}  \\ \\
\indent // Destructor \\
\indent {\em virtual~ $\tilde{}$Material ();}\\ \\

\noindent {\bf Constructor}  \\
\indent {\em Material (int tag, int classTag);}  \\
To construct a Material whose unique integer among Materials in the
domain is given by {\em tag}, and whose class identifier is given
by {\em classTag}. These integers are passed to the TaggedObject and
MovableObject class constructors. \\

\noindent {\bf Destructor} \\
\indent {\em virtual~ $\tilde{}$Material ();}\\ 



