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

Domain Class Reference

#include <Domain.h>

List of all members.

Public Methods

 Domain ()
 Domain (int numNodes, int numElements, int numSPs, int numMPs, int numLoadPatterns)
 Domain (TaggedObjectStorage &theNodesStorage, TaggedObjectStorage &theElementsStorage, TaggedObjectStorage &theMPsStorage, TaggedObjectStorage &theSPsStorage, TaggedObjectStorage &theLoadPatternsStorage)
 Domain (TaggedObjectStorage &theStorageType)
virtual ~Domain ()
virtual bool addElement (Element *)
 methods to populate a domain. More...

virtual bool addNode (Node *)
virtual bool addSP_Constraint (SP_Constraint *)
virtual bool addMP_Constraint (MP_Constraint *)
virtual bool addLoadPattern (LoadPattern *)
virtual bool addSP_Constraint (SP_Constraint *, int loadPatternTag)
 methods to add components to a LoadPattern object. More...

virtual bool addNodalLoad (NodalLoad *, int loadPatternTag)
virtual bool addElementalLoad (ElementalLoad *, int loadPatternTag)
virtual void clearAll (void)
 methods to remove the components. More...

virtual ElementremoveElement (int tag)
virtual NoderemoveNode (int tag)
virtual SP_ConstraintremoveSP_Constraint (int tag)
virtual MP_ConstraintremoveMP_Constraint (int tag)
virtual LoadPatternremoveLoadPattern (int loadTag)
virtual NodalLoadremoveNodalLoad (int tag, int loadPattern)
virtual ElementalLoadremoveElementalLoad (int tag, int loadPattern)
virtual SP_ConstraintremoveSP_Constraint (int tag, int loadPattern)
virtual ElementIter& getElements ()
 methods to access the components of a domain. More...

virtual NodeIter& getNodes ()
virtual SP_ConstraintIter& getSPs ()
virtual MP_ConstraintIter& getMPs ()
virtual LoadPatternIter& getLoadPatterns ()
virtual SP_ConstraintIter& getDomainAndLoadPatternSPs ()
virtual ElementgetElement (int tag)
virtual NodegetNode (int tag)
virtual SP_ConstraintgetSP_Constraint (int tag)
virtual MP_ConstraintgetMP_Constraint (int tag)
virtual LoadPatterngetLoadPattern (int tag)
virtual double getCurrentTime (void) const
 methods to query the state of the domain. More...

virtual int getNumElements (void) const
virtual int getNumNodes (void) const
virtual int getNumSPs (void) const
virtual int getNumMPs (void) const
virtual int getNumLoadPatterns (void) const
virtual const VectorgetPhysicalBounds (void)
virtual GraphgetElementGraph (void)
 methods to get element and node graphs. More...

virtual GraphgetNodeGraph (void)
virtual void setCommitTag (int newTag)
 methods to update the domain. More...

virtual void setCurrentTime (double newTime)
virtual void setCommittedTime (double newTime)
virtual void applyLoad (double pseudoTime)
virtual void setLoadConstant (void)
virtual int initialize (void)
virtual int commit (void)
virtual int revertToLastCommit (void)
virtual int revertToStart (void)
virtual int update (void)
virtual int setEigenvalues (const Vector &theEigenvalues)
 methods for eigenvalue analysis. More...

virtual const VectorgetEigenvalues (void)
virtual double getTimeEigenvaluesSet (void)
virtual int hasDomainChanged (void)
 methods for other objects to determine if model has changed. More...

virtual void setDomainChangeStamp (int newStamp)
virtual int addRecorder (Recorder &theRecorder)
 methods for output. More...

virtual int playback (int cTag)
virtual int removeRecorders (void)
virtual void Print (ostream &s, int flag=0)
virtual int sendSelf (int commitTag, Channel &theChannel)
virtual int recvSelf (int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)

Protected Methods

virtual void domainChange (void)
virtual int buildEleGraph (Graph *theEleGraph)
virtual int buildNodeGraph (Graph *theNodeGraph)

Friends

ostream& operator<< (ostream &s, Domain &M)


Detailed Description

Domain is container class for storing and providing access to the components of a domain, i.e. nodes, elements, boundary conditions, and load patterns. A Domain is a container class which contains the all elements, nodes, load cases, single point constraints and multiple point constraints that the model builder uses to create the model of the structure. It provides operations for the following: \begin{itemize} \item Population: Methods so that the DomainComponents can be addled to the Domain. \item Depopulation: Methods so that the DomainComponents can be removed from the Domain. \item Access: Methods so that other classes, i.e. analysis and design, can access the DomainComponents. \item Query: Methods for determining the state of the domain. \item Update: Methods for updating the state of the Domain \item Analysis: Methods added for the Analysis class. \item Output: Methods added for outputting information. \end{itemize} The Domain class stores each type of object, i.e. Nodes, Elements, SP\_Constraints, MP\_Constraints, NodalLoads and ElementalLoads, in a container object. Currently these container objects are a subtype of TaggedObjectStorage (templates are not used as yet due to present difficulties in porting code which uses templates). \

Definition at line 107 of file Domain.h.


Constructor & Destructor Documentation

Domain::Domain ( )
 

Constructs an empty domain. The storage for the DomainComponents uses ArrayOfTaggedObjects objects for each type of object to be stored. The initial sizes specified for these objects are 4096 for the Elements and Nodes, 256 SP\_Constraints and MP\_Constraints, and 32 for the container for the LoadPatterns. A check is made to ensure that memory is allocated for these objects, if not the {fatal()} method of the global ErrorHandler is invoked.

Definition at line 74 of file Domain.cpp.

Domain::Domain ( int numNodes,
int numElements,
int numSPs,
int numMPs,
int numLoadPatterns )
 

Constructs an empty Domain. The storage for the DomainComponents uses ArrayOfTaggedObjects objects for each type of object to be stored. The initial sizes specified for these objects are as given in the arguments for this constructor, i.e. {numElements} for the Elements and {numNodes} for the Nodes. A size of 32 is used for the LoadPatterns. A check is made to ensure that memory is allocated for these objects, if not the {fatal()} method of the global ErrorHandler is invoked.

Definition at line 117 of file Domain.cpp.

Domain::Domain ( TaggedObjectStorage & theNodesStorage,
TaggedObjectStorage & theElementsStorage,
TaggedObjectStorage & theMPsStorage,
TaggedObjectStorage & theSPsStorage,
TaggedObjectStorage & theLoadPatternsStorage )
 

TaggedObjectStorage &theElementsStorage,

Definition at line 161 of file Domain.cpp.

Domain::Domain ( TaggedObjectStorage & theStorageType )
 

Constructs a Domain where the Nodes, Elements, MP\_Constraints, SP\_Constraint and LoadPattern objects will be stored in the storage objects obtained by invoking {getEmptyCopy()} on the {theStorageType} object. A check is made to ensure that memory is allocated for these objects, if not the {fatal()} method of the global ErrorHandler is invoked.

Definition at line 219 of file Domain.cpp.

Domain::~Domain ( ) [virtual]
 

Invokes delete on all the storage objects. This means that, if the two latter constructors have been called, the container objects must have been created using {new} and that at no other point in the program is the destructor invoked on these objects. It should be noted, that the objects in the Domain, i.e. the DomainComponents, are not destroyed. To clean up these objects {clearAll()} should be invoked before the destructor is called.

Definition at line 273 of file Domain.cpp.


Member Function Documentation

void Domain::Print ( ostream & s,
int flag = 0 ) [virtual]
 

Definition at line 1420 of file Domain.cpp.

Referenced by operator<<().

bool Domain::addElement ( Element * element ) [virtual]
 

methods to populate a domain.

Definition at line 329 of file Domain.cpp.

Referenced by recvSelf().

bool Domain::addElementalLoad ( ElementalLoad * load,
int loadPatternTag ) [virtual]
 

Definition at line 668 of file Domain.cpp.

bool Domain::addLoadPattern ( LoadPattern * load ) [virtual]
 

Definition at line 549 of file Domain.cpp.

Referenced by recvSelf().

bool Domain::addMP_Constraint ( MP_Constraint * mpConstraint ) [virtual]
 

Definition at line 499 of file Domain.cpp.

Referenced by RigidBeam::RigidBeam(), RigidDiaphragm::RigidDiaphragm(), RigidRod::RigidRod(), and recvSelf().

bool Domain::addNodalLoad ( NodalLoad * load,
int loadPatternTag ) [virtual]
 

Definition at line 628 of file Domain.cpp.

bool Domain::addNode ( Node * node ) [virtual]
 

To add the node pointed to by {theNodePtr} to the domain. The domain first checks that no other node with a similar tag, node number, has been previously added to the domain. The domain will then add the node to it's node container object, by invoking {addComponent(theNodePtr)}. If successful, the Domain invokes {setDomain(this)} on the node, {domainChange()} on itself, and checks the coordinates of the domain to see if they effect the box encompassing the Domain. The call returns {true} if the node was added, otherwise the {warning()} method of the global ErrorHandler is invoked and {false} is returned.

Definition at line 392 of file Domain.cpp.

Referenced by recvSelf().

int Domain::addRecorder ( Recorder & theRecorder ) [virtual]
 

methods for output.

Definition at line 1454 of file Domain.cpp.

bool Domain::addSP_Constraint ( SP_Constraint * spConstraint,
int loadPatternTag ) [virtual]
 

methods to add components to a LoadPattern object.

Definition at line 578 of file Domain.cpp.

bool Domain::addSP_Constraint ( SP_Constraint * spConstraint ) [virtual]
 

Definition at line 442 of file Domain.cpp.

Referenced by recvSelf().

void Domain::applyLoad ( double pseudoTime ) [virtual]
 

Definition at line 1183 of file Domain.cpp.

Referenced by AnalysisModel::applyLoadDomain(), revertToLastCommit(), and revertToStart().

int Domain::buildEleGraph ( Graph * theEleGraph ) [protected, virtual]
 

Definition at line 1510 of file Domain.cpp.

Referenced by getElementGraph().

int Domain::buildNodeGraph ( Graph * theNodeGraph ) [protected, virtual]
 

Definition at line 1669 of file Domain.cpp.

Referenced by getNodeGraph().

void Domain::clearAll ( void ) [virtual]
 

methods to remove the components.

Definition at line 716 of file Domain.cpp.

Referenced by recvSelf().

int Domain::commit ( void ) [virtual]
 

Definition at line 1253 of file Domain.cpp.

Referenced by AnalysisModel::commitDomain().

void Domain::domainChange ( void ) [protected, virtual]
 

Definition at line 1504 of file Domain.cpp.

Referenced by addElement(), addElementalLoad(), addLoadPattern(), addMP_Constraint(), addNodalLoad(), addNode(), addSP_Constraint(), clearAll(), removeElement(), removeLoadPattern(), removeMP_Constraint(), removeNode(), and removeSP_Constraint().

double Domain::getCurrentTime ( void ) const [virtual]
 

methods to query the state of the domain.

Definition at line 1051 of file Domain.cpp.

Referenced by VariableTimeStepDirectIntegrationAnalysis::analyze(), DirectIntegrationAnalysis::analyze(), AnalysisModel::getCurrentDomainTime(), and setEigenvalues().

SP_ConstraintIter & Domain::getDomainAndLoadPatternSPs ( ) [virtual]
 

Definition at line 961 of file Domain.cpp.

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

const Vector & Domain::getEigenvalues ( void ) [virtual]
 

Definition at line 1375 of file Domain.cpp.

Element * Domain::getElement ( int tag ) [virtual]
 

Definition at line 990 of file Domain.cpp.

Referenced by ElementRecorder::ElementRecorder(), and addElementalLoad().

Graph & Domain::getElementGraph ( void ) [virtual]
 

methods to get element and node graphs.

Definition at line 1097 of file Domain.cpp.

ElementIter & Domain::getElements ( ) [virtual]
 

methods to access the components of a domain.

Definition at line 939 of file Domain.cpp.

Referenced by EarthquakePattern::applyLoad(), applyLoad(), buildEleGraph(), buildNodeGraph(), commit(), TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), LagrangeConstraintHandler::handle(), initialize(), recvSelf(), revertToLastCommit(), revertToStart(), sendSelf(), and update().

LoadPattern * Domain::getLoadPattern ( int tag ) [virtual]
 

Definition at line 1039 of file Domain.cpp.

Referenced by removeElementalLoad(), removeNodalLoad(), and removeSP_Constraint().

LoadPatternIter & Domain::getLoadPatterns ( ) [virtual]
 

Definition at line 977 of file Domain.cpp.

Referenced by applyLoad(), clearAll(), recvSelf(), sendSelf(), and setLoadConstant().

MP_Constraint * Domain::getMP_Constraint ( int tag ) [virtual]
 

Definition at line 1027 of file Domain.cpp.

MP_ConstraintIter & Domain::getMPs ( ) [virtual]
 

Definition at line 969 of file Domain.cpp.

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

Node * Domain::getNode ( int tag ) [virtual]
 

Definition at line 1003 of file Domain.cpp.

Referenced by FE_Element::FE_Element(), LagrangeMP_FE::LagrangeMP_FE(), LagrangeSP_FE::LagrangeSP_FE(), PenaltyMP_FE::PenaltyMP_FE(), PenaltySP_FE::PenaltySP_FE(), RigidBeam::RigidBeam(), RigidDiaphragm::RigidDiaphragm(), RigidRod::RigidRod(), TransformationFE::TransformationFE(), addElement(), Element::addInertiaLoadToUnbalance(), addMP_Constraint(), addNodalLoad(), addSP_Constraint(), ImposedMotionSP1::applyConstraint(), ImposedMotionSP::applyConstraint(), NodalLoad::applyLoad(), DisplacementControl::domainChanged(), TransformationDOF_Group::doneID(), TransformationDOF_Group::getCommittedAccel(), TransformationDOF_Group::getCommittedDisp(), TransformationDOF_Group::getCommittedVel(), TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), LagrangeConstraintHandler::handle(), PlainNumberer::numberDOF(), DOF_Numberer::numberDOF(), MaxNodeDispRecorder::record(), ZeroLengthSection::setDomain(), ZeroLengthND::setDomain(), ZeroLength::setDomain(), TrussSection::setDomain(), Truss::setDomain(), NLBeamColumn3d::setDomain(), NLBeamColumn2d::setDomain(), FourNodeQuad::setDomain(), EnhancedQuad::setDomain(), ElasticBeam3d::setDomain(), ElasticBeam2d::setDomain(), EightNodeBrick::setDomain(), DispBeamColumn3d::setDomain(), DispBeamColumn2d::setDomain(), CorotTruss::setDomain(), ConstantPressureVolumeQuad::setDomain(), Brick::setDomain(), and BbarBrick::setDomain().

Graph & Domain::getNodeGraph ( void ) [virtual]
 

Definition at line 1130 of file Domain.cpp.

NodeIter & Domain::getNodes ( ) [virtual]
 

Definition at line 947 of file Domain.cpp.

Referenced by UniformExcitation::applyLoad(), EarthquakePattern::applyLoad(), applyLoad(), buildEleGraph(), buildNodeGraph(), TransformationConstraintHandler::clearAll(), PlainHandler::clearAll(), PenaltyConstraintHandler::clearAll(), LagrangeConstraintHandler::clearAll(), commit(), TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), LagrangeConstraintHandler::handle(), recvSelf(), revertToLastCommit(), revertToStart(), sendSelf(), UniformExcitation::setDomain(), and AnalysisModel::setNumEigenvectors().

int Domain::getNumElements ( void ) const [virtual]
 

Definition at line 1058 of file Domain.cpp.

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

int Domain::getNumLoadPatterns ( void ) const [virtual]
 

Definition at line 1082 of file Domain.cpp.

int Domain::getNumMPs ( void ) const [virtual]
 

Definition at line 1076 of file Domain.cpp.

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

int Domain::getNumNodes ( void ) const [virtual]
 

Definition at line 1063 of file Domain.cpp.

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

int Domain::getNumSPs ( void ) const [virtual]
 

Definition at line 1069 of file Domain.cpp.

const Vector & Domain::getPhysicalBounds ( void ) [virtual]
 

Definition at line 1089 of file Domain.cpp.

SP_Constraint * Domain::getSP_Constraint ( int tag ) [virtual]
 

Definition at line 1015 of file Domain.cpp.

SP_ConstraintIter & Domain::getSPs ( ) [virtual]
 

Definition at line 954 of file Domain.cpp.

Referenced by TransformationDOF_Group::TransformationDOF_Group(), applyLoad(), recvSelf(), and sendSelf().

double Domain::getTimeEigenvaluesSet ( void ) [virtual]
 

Definition at line 1386 of file Domain.cpp.

int Domain::hasDomainChanged ( void ) [virtual]
 

methods for other objects to determine if model has changed.

Definition at line 1400 of file Domain.cpp.

Referenced by StaticAnalysis::analyze(), EigenAnalysis::analyze(), DirectIntegrationAnalysis::analyze(), DirectIntegrationAnalysis::checkDomainChange(), DomainDecompositionAnalysis::formResidual(), DomainDecompositionAnalysis::formTangVectProduct(), DomainDecompositionAnalysis::formTangent(), DomainDecompositionAnalysis::getResidual(), DomainDecompositionAnalysis::getTangVectProduct(), DomainDecompositionAnalysis::getTangent(), StaticAnalysis::initialize(), DirectIntegrationAnalysis::initialize(), recvSelf(), sendSelf(), StaticAnalysis::setAlgorithm(), DirectIntegrationAnalysis::setAlgorithm(), StaticAnalysis::setIntegrator(), DirectIntegrationAnalysis::setIntegrator(), StaticAnalysis::setLinearSOE(), and DirectIntegrationAnalysis::setLinearSOE().

int Domain::initialize ( void ) [virtual]
 

Definition at line 1237 of file Domain.cpp.

int Domain::playback ( int cTag ) [virtual]
 

Definition at line 1495 of file Domain.cpp.

int Domain::recvSelf ( int commitTag,
Channel & theChannel,
FEM_ObjectBroker & theBroker ) [virtual]
 

Definition at line 2034 of file Domain.cpp.

Referenced by FE_Datastore::restoreState().

Element * Domain::removeElement ( int tag ) [virtual]
 

Definition at line 758 of file Domain.cpp.

ElementalLoad * Domain::removeElementalLoad ( int tag,
int loadPattern ) [virtual]
 

Definition at line 908 of file Domain.cpp.

LoadPattern * Domain::removeLoadPattern ( int loadTag ) [virtual]
 

Definition at line 841 of file Domain.cpp.

MP_Constraint * Domain::removeMP_Constraint ( int tag ) [virtual]
 

Definition at line 821 of file Domain.cpp.

NodalLoad * Domain::removeNodalLoad ( int tag,
int loadPattern ) [virtual]
 

Definition at line 894 of file Domain.cpp.

Node * Domain::removeNode ( int tag ) [virtual]
 

Definition at line 778 of file Domain.cpp.

int Domain::removeRecorders ( void ) [virtual]
 

Definition at line 1478 of file Domain.cpp.

SP_Constraint * Domain::removeSP_Constraint ( int tag,
int loadPattern ) [virtual]
 

Definition at line 922 of file Domain.cpp.

SP_Constraint * Domain::removeSP_Constraint ( int tag ) [virtual]
 

Definition at line 799 of file Domain.cpp.

int Domain::revertToLastCommit ( void ) [virtual]
 

Definition at line 1284 of file Domain.cpp.

Referenced by VariableTimeStepDirectIntegrationAnalysis::analyze(), StaticAnalysis::analyze(), DirectIntegrationAnalysis::analyze(), and AnalysisModel::revertDomainToLastCommit().

int Domain::revertToStart ( void ) [virtual]
 

Definition at line 1310 of file Domain.cpp.

int Domain::sendSelf ( int commitTag,
Channel & theChannel ) [virtual]
 

Definition at line 1755 of file Domain.cpp.

Referenced by FE_Datastore::commitState().

void Domain::setCommitTag ( int newTag ) [virtual]
 

methods to update the domain.

Definition at line 1164 of file Domain.cpp.

void Domain::setCommittedTime ( double newTime ) [virtual]
 

Definition at line 1176 of file Domain.cpp.

void Domain::setCurrentTime ( double newTime ) [virtual]
 

Definition at line 1170 of file Domain.cpp.

Referenced by AnalysisModel::setCurrentDomainTime().

void Domain::setDomainChangeStamp ( int newStamp ) [virtual]
 

Definition at line 1392 of file Domain.cpp.

int Domain::setEigenvalues ( const Vector & theEigenvalues ) [virtual]
 

methods for eigenvalue analysis.

Definition at line 1350 of file Domain.cpp.

Referenced by AnalysisModel::setEigenvalues().

void Domain::setLoadConstant ( void ) [virtual]
 

Definition at line 1226 of file Domain.cpp.

int Domain::update ( void ) [virtual]
 

Definition at line 1338 of file Domain.cpp.

Referenced by AnalysisModel::updateDomain().


Friends And Related Function Documentation

ostream & operator<< ( ostream & s,
Domain & M ) [friend]
 

Definition at line 1446 of file Domain.cpp.


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