Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AnalysisModel Class Reference

#include <AnalysisModel.h>

Inheritance diagram for AnalysisModel::

MovableObject List of all members.

Public Methods

 AnalysisModel ()
 AnalysisModel (int classTag)
virtual ~AnalysisModel ()
virtual bool addFE_Element (FE_Element *theFE_Ele)
 methods to populate/depopulate the AnalysisModel. More...

virtual bool addDOF_Group (DOF_Group *theDOF_Grp)
virtual void clearAll (void)
virtual int getNumDOF_Groups (void) const
 methods to access the FE_Elements and DOF_Groups and their numbers. More...

virtual DOF_GroupgetDOF_GroupPtr (int tag)
virtual FE_EleIter& getFEs ()
virtual DOF_GrpIter& getDOFs ()
virtual void setNumEqn (int)
 method to access the connectivity for SysOfEqn to size itself. More...

virtual int getNumEqn (void) const
virtual GraphgetDOFGraph (void)
virtual GraphgetDOFGroupGraph (void)
virtual void setResponse (const Vector &disp, const Vector &vel, const Vector &accel)
 which in turn set the new nodal trial response quantities. More...

virtual void setDisp (const Vector &disp)
virtual void setVel (const Vector &vel)
virtual void setAccel (const Vector &vel)
virtual void incrDisp (const Vector &disp)
virtual void incrVel (const Vector &vel)
virtual void incrAccel (const Vector &vel)
virtual void setNumEigenvectors (int numEigenvectors)
 methods added to store the eigenvalues and vectors in the domain. More...

virtual void setEigenvector (int mode, const Vector &)
virtual void setEigenvalues (const Vector &)
virtual void setLinks (Domain &theDomain)
 methods which trigger operations in the Domain. More...

virtual void applyLoadDomain (double pseudoTime)
virtual void updateDomain (void)
virtual int commitDomain (void)
virtual int revertDomainToLastCommit (void)
virtual double getCurrentDomainTime (void)
virtual void setCurrentDomainTime (double newTime)
virtual int sendSelf (int commitTag, Channel &theChannel)
virtual int recvSelf (int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)

Friends

friend DomaingetDomainPtr (void) const

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]
 

Definition at line 170 of file AnalysisModel.cpp.

Referenced by TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), and LagrangeConstraintHandler::handle().

bool AnalysisModel::addFE_Element ( FE_Element * theFE_Ele ) [virtual]
 

methods to populate/depopulate the AnalysisModel.

Definition at line 123 of file AnalysisModel.cpp.

Referenced by TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), and LagrangeConstraintHandler::handle().

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]
 

Definition at line 209 of file AnalysisModel.cpp.

Referenced by StaticAnalysis::domainChanged(), EigenAnalysis::domainChanged(), DomainDecompositionAnalysis::domainChanged(), and DirectIntegrationAnalysis::domainChanged().

int AnalysisModel::commitDomain ( void ) [virtual]
 

Definition at line 449 of file AnalysisModel.cpp.

Referenced by IncrementalIntegrator::commit(), and HHT::commit().

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]
 

Definition at line 298 of file AnalysisModel.cpp.

Referenced by StaticAnalysis::domainChanged(), EigenAnalysis::domainChanged(), DomainDecompositionAnalysis::domainChanged(), DirectIntegrationAnalysis::domainChanged(), StaticAnalysis::setLinearSOE(), and DirectIntegrationAnalysis::setLinearSOE().

Graph & AnalysisModel::getDOFGroupGraph ( void ) [virtual]
 

Definition at line 307 of file AnalysisModel.cpp.

Referenced by DOF_Numberer::numberDOF().

DOF_Group * AnalysisModel::getDOF_GroupPtr ( int tag ) [virtual]
 

Definition at line 251 of file AnalysisModel.cpp.

Referenced by DOF_Numberer::numberDOF(), and FE_Element::setID().

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]
 

Definition at line 271 of file AnalysisModel.cpp.

Referenced by IncrementalIntegrator::formElementResidual(), EigenIntegrator::formK(), EigenIntegrator::formM(), TransientIntegrator::formTangent(), IncrementalIntegrator::formTangent(), Newmark::newStep(), HHT::newStep(), PlainNumberer::numberDOF(), and DOF_Numberer::numberDOF().

int AnalysisModel::getNumDOF_Groups ( void ) const [virtual]
 

methods to access the FE_Elements and DOF_Groups and their numbers.

Definition at line 244 of file AnalysisModel.cpp.

Referenced by DOF_Numberer::numberDOF().

int AnalysisModel::getNumEqn ( void ) const [virtual]
 

Definition at line 291 of file AnalysisModel.cpp.

Referenced by MinUnbalDispNorm::domainChanged(), DisplacementControl::domainChanged(), and ArcLength::domainChanged().

void AnalysisModel::incrAccel ( const Vector & vel ) [virtual]
 

Definition at line 384 of file AnalysisModel.cpp.

void AnalysisModel::incrDisp ( const Vector & disp ) [virtual]
 

Definition at line 364 of file AnalysisModel.cpp.

Referenced by MinUnbalDispNorm::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), MinUnbalDispNorm::update(), LoadControl::update(), DisplacementControl::update(), and ArcLength::update().

void AnalysisModel::incrVel ( const Vector & vel ) [virtual]
 

Definition at line 374 of file AnalysisModel.cpp.

int AnalysisModel::recvSelf ( int commitTag,
Channel & theChannel,
FEM_ObjectBroker & theBroker ) [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]
 

Definition at line 467 of file AnalysisModel.cpp.

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]
 

Definition at line 354 of file AnalysisModel.cpp.

void AnalysisModel::setCurrentDomainTime ( double newTime ) [virtual]
 

Definition at line 503 of file AnalysisModel.cpp.

Referenced by MinUnbalDispNorm::domainChanged(), DisplacementControl::domainChanged(), and ArcLength::domainChanged().

void AnalysisModel::setDisp ( const Vector & disp ) [virtual]
 

Definition at line 333 of file AnalysisModel.cpp.

void AnalysisModel::setEigenvalues ( const Vector & eigenvalues ) [virtual]
 

Definition at line 404 of file AnalysisModel.cpp.

Referenced by FrequencyAlgo::solveCurrentStep().

void AnalysisModel::setEigenvector ( int mode,
const Vector & eigenvalue ) [virtual]
 

Definition at line 410 of file AnalysisModel.cpp.

Referenced by FrequencyAlgo::solveCurrentStep().

void AnalysisModel::setLinks ( Domain & theDomain ) [virtual]
 

methods which trigger operations in the Domain.

Definition at line 113 of file AnalysisModel.cpp.

Referenced by DirectIntegrationAnalysis::DirectIntegrationAnalysis(), DomainDecompositionAnalysis::DomainDecompositionAnalysis(), EigenAnalysis::EigenAnalysis(), StaticAnalysis::StaticAnalysis(), and DomainDecompositionAnalysis::recvSelf().

void AnalysisModel::setNumEigenvectors ( int numEigenvectors ) [virtual]
 

methods added to store the eigenvalues and vectors in the domain.

Definition at line 395 of file AnalysisModel.cpp.

Referenced by FrequencyAlgo::solveCurrentStep().

void AnalysisModel::setNumEqn ( int theNumEqn ) [virtual]
 

method to access the connectivity for SysOfEqn to size itself.

Definition at line 285 of file AnalysisModel.cpp.

Referenced by TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), LagrangeConstraintHandler::handle(), PlainNumberer::numberDOF(), and DOF_Numberer::numberDOF().

void AnalysisModel::setResponse ( const Vector & disp,
const Vector & vel,
const Vector & accel ) [virtual]
 

which in turn set the new nodal trial response quantities.

Definition at line 318 of file AnalysisModel.cpp.

Referenced by HHT::commit(), Newmark::newStep(), HHT::newStep(), Newmark::update(), and HHT::update().

void AnalysisModel::setVel ( const Vector & vel ) [virtual]
 

Definition at line 343 of file AnalysisModel.cpp.

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]
 

Definition at line 518 of file AnalysisModel.cpp.

Referenced by PlainNumberer::numberDOF(), and DOF_Numberer::numberDOF().


The documentation for this class was generated from the following files:
Copyright Contact Us