Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members
AnalysisModel Class Reference#include <AnalysisModel.h>
Inheritance diagram for AnalysisModel::
List of all members.
Detailed Description
AnalysisModel is a container class. This class is responsible for holding and providing access to the FE\_Element and DOF\_Group objects that the ConstraintHandler creates. It is also responsible for updating the response quantities at the DOF\_Groups and for triggering methods in the associated Domain. It provides operations for the following: \begin{itemize} \item Population: methods so that the ConstraintHandler can add the FE\_Element and DOF\_Group objects to the analysis model. \item Access: methods so that other classes in the analysis aggregation can access the components of the AnalysisModel. \item Connectivity: methods such that the SysOfEqn can determine the connectivity of the dof, which is needed for storage, sparsity, etc. \item Update: methods for updating the individual DOFs with the response quantities given by the AnalysisMethod. \item Trigger: methods which trigger events in the domain. \end{itemize} Each subclass of AnalysisModel must have its own subclasses of FE\_ELEIter and DOF\_GrpIter. NOTE at the moment FE\_Element and DOF\_Group objects are not TaggedObjects and for this reason TaggedObjectStorage classes cannot be used for storage. This may change to allow efficient storage classes to be used.\
Definition at line 90 of file AnalysisModel.h.
Constructor & Destructor Documentation
AnalysisModel::AnalysisModel (
|
)
|
|
|
Constructs an empty AnalysisModel. The constructor allocates space for two arrays of 256 pointers to FE\_Elements and DOF\_Groups. If not enough memory is available for these arrays, an error message is printed and the program is terminated. Note these arrays grow automatically if the problem needs it.
Definition at line 66 of file AnalysisModel.cpp. |
AnalysisModel::AnalysisModel (
|
int classTag )
|
|
|
Provided for subclasses to be used. The storage of the FE\_Elements and DOF\_Groups and iters to access them must be provided by the subclass.
Definition at line 56 of file AnalysisModel.cpp. |
AnalysisModel::~AnalysisModel (
|
) [virtual]
|
|
|
Is responsible for returning to memory the arrays used for storing pointers to the FE\_Element and DOF\_Groups which have been added to the AnalysisModel. It is not responsible for deleting the individual DOF\_Group and FE\_Element objects, that is the responsibility of the ConstraintHandler. If the Graphs have been requested their destructor is invoked.
Definition at line 95 of file AnalysisModel.cpp. |
Member Function Documentation
bool AnalysisModel::addDOF_Group (
|
DOF_Group * theDOF_Grp ) [virtual]
|
|
bool AnalysisModel::addFE_Element (
|
FE_Element * theFE_Ele ) [virtual]
|
|
void AnalysisModel::applyLoadDomain (
|
double pseudoTime ) [virtual]
|
|
|
Definition at line 420 of file AnalysisModel.cpp.
Referenced by MinUnbalDispNorm::domainChanged(), DisplacementControl::domainChanged(), ArcLength::domainChanged(), Newmark::newStep(), MinUnbalDispNorm::newStep(), LoadControl::newStep(), HHT::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), MinUnbalDispNorm::update(), DisplacementControl::update(), and ArcLength::update().
|
void AnalysisModel::clearAll (
|
void ) [virtual]
|
|
int AnalysisModel::commitDomain (
|
void ) [virtual]
|
|
double AnalysisModel::getCurrentDomainTime (
|
void ) [virtual]
|
|
|
Definition at line 487 of file AnalysisModel.cpp.
Referenced by Newmark::Print(), MinUnbalDispNorm::Print(), LoadControl::Print(), HHT::Print(), ArcLength::Print(), MinUnbalDispNorm::domainChanged(), DisplacementControl::domainChanged(), ArcLength::domainChanged(), Newmark::newStep(), MinUnbalDispNorm::newStep(), LoadControl::newStep(), HHT::newStep(), DisplacementControl::newStep(), and ArcLength::newStep().
|
Graph & AnalysisModel::getDOFGraph (
|
void ) [virtual]
|
|
Graph & AnalysisModel::getDOFGroupGraph (
|
void ) [virtual]
|
|
DOF_Group * AnalysisModel::getDOF_GroupPtr (
|
int tag ) [virtual]
|
|
DOF_GrpIter & AnalysisModel::getDOFs (
|
) [virtual]
|
|
|
Definition at line 278 of file AnalysisModel.cpp.
Referenced by Newmark::domainChanged(), HHT::domainChanged(), EigenIntegrator::formM(), IncrementalIntegrator::formNodalUnbalance(), TransientIntegrator::formTangent(), incrAccel(), incrDisp(), incrVel(), PlainNumberer::numberDOF(), DOF_Numberer::numberDOF(), setAccel(), setDisp(), setEigenvector(), setResponse(), and setVel().
|
FE_EleIter & AnalysisModel::getFEs (
|
) [virtual]
|
|
int AnalysisModel::getNumDOF_Groups (
|
void ) const [virtual]
|
|
int AnalysisModel::getNumEqn (
|
void ) const [virtual]
|
|
void AnalysisModel::incrAccel (
|
const Vector & vel ) [virtual]
|
|
void AnalysisModel::incrDisp (
|
const Vector & disp ) [virtual]
|
|
void AnalysisModel::incrVel (
|
const Vector & vel ) [virtual]
|
|
|
This is a pure virtual method, one must be written for each instantiable subclass of MovableObject. Each object has to receive the data needed to be able to recreate itself in the new process after it has been sent through {theChannel}. If the object is an aggregation containing other objects, new objects of the correct type can be constructed using {theBroker}. To return
if successful or a
if not.
Reimplemented from MovableObject.
Definition at line 532 of file AnalysisModel.cpp.
Referenced by DomainDecompositionAnalysis::recvSelf().
|
int AnalysisModel::revertDomainToLastCommit (
|
void ) [virtual]
|
|
int AnalysisModel::sendSelf (
|
int commitTag,
|
|
Channel & theChannel ) [virtual]
|
|
|
This is a pure virtual method, one must be written for each instantiable subclass of MovableObject. Each object has to send the data needed to be able to reproduce that object in a remote process. The object uses the methods provided by {theChannel} object to send the data to another channel at the remote actor, the address of the channel is set before this method is called. An object of similar type at the remote actor is invoked with a {receiveSelf()} to receive the data. Returns
if successful (successful in that the data got to the channel), or a
if no data was sent.
Reimplemented from MovableObject.
Definition at line 525 of file AnalysisModel.cpp.
Referenced by DomainDecompositionAnalysis::sendSelf().
|
void AnalysisModel::setAccel (
|
const Vector & vel ) [virtual]
|
|
void AnalysisModel::setCurrentDomainTime (
|
double newTime ) [virtual]
|
|
void AnalysisModel::setDisp (
|
const Vector & disp ) [virtual]
|
|
void AnalysisModel::setEigenvalues (
|
const Vector & eigenvalues ) [virtual]
|
|
void AnalysisModel::setEigenvector (
|
int mode,
|
|
const Vector & eigenvalue ) [virtual]
|
|
void AnalysisModel::setLinks (
|
Domain & theDomain ) [virtual]
|
|
void AnalysisModel::setNumEigenvectors (
|
int numEigenvectors ) [virtual]
|
|
void AnalysisModel::setNumEqn (
|
int theNumEqn ) [virtual]
|
|
void AnalysisModel::setResponse (
|
const Vector & disp,
|
|
const Vector & vel,
|
|
const Vector & accel ) [virtual]
|
|
void AnalysisModel::setVel (
|
const Vector & vel ) [virtual]
|
|
void AnalysisModel::updateDomain (
|
void ) [virtual]
|
|
|
Definition at line 434 of file AnalysisModel.cpp.
Referenced by HHT::commit(), Newmark::newStep(), MinUnbalDispNorm::newStep(), HHT::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), Newmark::update(), MinUnbalDispNorm::update(), LoadControl::update(), HHT::update(), DisplacementControl::update(), and ArcLength::update().
|
Friends And Related Function Documentation
Domain * getDomainPtr (
|
void ) const [friend]
|
|
The documentation for this class was generated from the following files:
|