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 Element* | removeElement (int tag) |
virtual Node* | removeNode (int tag) |
virtual SP_Constraint* | removeSP_Constraint (int tag) |
virtual MP_Constraint* | removeMP_Constraint (int tag) |
virtual LoadPattern* | removeLoadPattern (int loadTag) |
virtual NodalLoad* | removeNodalLoad (int tag, int loadPattern) |
virtual ElementalLoad* | removeElementalLoad (int tag, int loadPattern) |
virtual SP_Constraint* | removeSP_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 Element* | getElement (int tag) |
virtual Node* | getNode (int tag) |
virtual SP_Constraint* | getSP_Constraint (int tag) |
virtual MP_Constraint* | getMP_Constraint (int tag) |
virtual LoadPattern* | getLoadPattern (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 Vector& | getPhysicalBounds (void) |
virtual Graph& | getElementGraph (void) |
| methods to get element and node graphs. More...
|
virtual Graph& | getNodeGraph (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 Vector& | getEigenvalues (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
|
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. |
|
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]
|
|
bool Domain::addElement (
|
Element * element ) [virtual]
|
|
bool Domain::addElementalLoad (
|
ElementalLoad * load,
|
|
int loadPatternTag ) [virtual]
|
|
bool Domain::addLoadPattern (
|
LoadPattern * load ) [virtual]
|
|
bool Domain::addMP_Constraint (
|
MP_Constraint * mpConstraint ) [virtual]
|
|
bool Domain::addNodalLoad (
|
NodalLoad * load,
|
|
int loadPatternTag ) [virtual]
|
|
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]
|
|
bool Domain::addSP_Constraint (
|
SP_Constraint * spConstraint,
|
|
int loadPatternTag ) [virtual]
|
|
bool Domain::addSP_Constraint (
|
SP_Constraint * spConstraint ) [virtual]
|
|
void Domain::applyLoad (
|
double pseudoTime ) [virtual]
|
|
int Domain::buildEleGraph (
|
Graph * theEleGraph ) [protected, virtual]
|
|
int Domain::buildNodeGraph (
|
Graph * theNodeGraph ) [protected, virtual]
|
|
void Domain::clearAll (
|
void ) [virtual]
|
|
int Domain::commit (
|
void ) [virtual]
|
|
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]
|
|
SP_ConstraintIter & Domain::getDomainAndLoadPatternSPs (
|
) [virtual]
|
|
const Vector & Domain::getEigenvalues (
|
void ) [virtual]
|
|
Element * Domain::getElement (
|
int tag ) [virtual]
|
|
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]
|
|
LoadPatternIter & Domain::getLoadPatterns (
|
) [virtual]
|
|
MP_ConstraintIter & Domain::getMPs (
|
) [virtual]
|
|
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]
|
|
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]
|
|
int Domain::getNumLoadPatterns (
|
void ) const [virtual]
|
|
int Domain::getNumMPs (
|
void ) const [virtual]
|
|
int Domain::getNumNodes (
|
void ) const [virtual]
|
|
int Domain::getNumSPs (
|
void ) const [virtual]
|
|
const Vector & Domain::getPhysicalBounds (
|
void ) [virtual]
|
|
SP_ConstraintIter & Domain::getSPs (
|
) [virtual]
|
|
double Domain::getTimeEigenvaluesSet (
|
void ) [virtual]
|
|
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]
|
|
int Domain::playback (
|
int cTag ) [virtual]
|
|
Element * Domain::removeElement (
|
int tag ) [virtual]
|
|
ElementalLoad * Domain::removeElementalLoad (
|
int tag,
|
|
int loadPattern ) [virtual]
|
|
LoadPattern * Domain::removeLoadPattern (
|
int loadTag ) [virtual]
|
|
MP_Constraint * Domain::removeMP_Constraint (
|
int tag ) [virtual]
|
|
NodalLoad * Domain::removeNodalLoad (
|
int tag,
|
|
int loadPattern ) [virtual]
|
|
Node * Domain::removeNode (
|
int tag ) [virtual]
|
|
int Domain::removeRecorders (
|
void ) [virtual]
|
|
SP_Constraint * Domain::removeSP_Constraint (
|
int tag,
|
|
int loadPattern ) [virtual]
|
|
SP_Constraint * Domain::removeSP_Constraint (
|
int tag ) [virtual]
|
|
int Domain::revertToLastCommit (
|
void ) [virtual]
|
|
int Domain::revertToStart (
|
void ) [virtual]
|
|
int Domain::sendSelf (
|
int commitTag,
|
|
Channel & theChannel ) [virtual]
|
|
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]
|
|
void Domain::setCurrentTime (
|
double newTime ) [virtual]
|
|
void Domain::setDomainChangeStamp (
|
int newStamp ) [virtual]
|
|
int Domain::setEigenvalues (
|
const Vector & theEigenvalues ) [virtual]
|
|
void Domain::setLoadConstant (
|
void ) [virtual]
|
|
int Domain::update (
|
void ) [virtual]
|
|
Friends And Related Function Documentation
ostream & operator<< (
|
ostream & s,
|
|
Domain & M ) [friend]
|
|
The documentation for this class was generated from the following files:
|