class Domain


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 *)
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)
virtual bool addNodalLoad(NodalLoad *, int loadPatternTag)
virtual bool addElementalLoad(ElementalLoad *, int loadPatternTag)
virtual void clearAll(void)
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()
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
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)
virtual Graph& getNodeGraph(void)
virtual void setCommitTag(int newTag)
virtual void setCurrentTime(double newTime)
virtual void setCommittedTime(double newTime)
virtual void applyLoad(double pseudoTime)
virtual void setLoadConstant(void)
virtual int commit(void)
virtual int revertToLastCommit(void)
virtual int revertToStart(void)
virtual int update(void)
virtual int hasDomainChanged(void)
virtual void setDomainChangeStamp(int newStamp)
virtual int addRecorder(Recorder &theRecorder)
virtual int playback(int cTag)
virtual void Print(ostream &s, int flag =0)
friend ostream& operator<<(ostream &s, Domain &M)
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)

Documentation

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:

  • Population: Methods so that the DomainComponents can be addled to the Domain.
  • Depopulation: Methods so that the DomainComponents can be removed from the Domain.
  • Access: Methods so that other classes, i.e. analysis and design, can access the DomainComponents.
  • Query: Methods for determining the state of the domain.
  • Update: Methods for updating the state of the Domain
  • Analysis: Methods added for the Analysis class.
  • Output: Methods added for outputting information.
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).
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.

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.

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

TaggedObjectStorage \&theElementsStorage,

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.

virtual ~Domain()

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.

virtual bool addElement(Element *)

To add the element pointed to by theElementPtr to the domain. If _DEBUG is defined the domain checks to see that: 1) that all external nodes for the element exists in the domain. and 2) that the sum of the dof at all the nodes equals the num of dof at the element. In addition the domain always checks to ensure that no other element with a similar tag exists in the domain. If the checks are successful, the element is added to the domain by the domain invoking addComponent(theElePtr) on the container for the elements. The domain then invokes setDomain(this) on the element and domainChange() on itself if the element is successfully added. The call returns true if the element is added, otherwise the warning() method of the global ErrorHandler is invoked and false is returned.

virtual bool addNode(Node *)

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.

virtual bool addSP_Constraint(SP_Constraint *)

virtual bool addMP_Constraint(MP_Constraint *)

virtual bool addLoadPattern(LoadPattern *)

virtual bool addSP_Constraint(SP_Constraint *, int loadPatternTag)

virtual bool addNodalLoad(NodalLoad *, int loadPatternTag)

virtual bool addElementalLoad(ElementalLoad *, int loadPatternTag)

virtual void clearAll(void)

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()

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

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)

virtual Graph& getNodeGraph(void)

virtual void setCommitTag(int newTag)

virtual void setCurrentTime(double newTime)

virtual void setCommittedTime(double newTime)

virtual void applyLoad(double pseudoTime)

virtual void setLoadConstant(void)

virtual int commit(void)

virtual int revertToLastCommit(void)

virtual int revertToStart(void)

virtual int update(void)

virtual int hasDomainChanged(void)

virtual void setDomainChangeStamp(int newStamp)

virtual int addRecorder(Recorder &theRecorder)

virtual int playback(int cTag)

virtual void Print(ostream &s, int flag =0)

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

virtual int sendSelf(int commitTag, Channel &theChannel)

virtual int recvSelf(int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)

virtual void domainChange(void)

virtual int buildEleGraph(Graph *theEleGraph)

virtual int buildNodeGraph(Graph *theNodeGraph)


This class has no child classes.

alphabetic index Contents

this page has been generated automatically by a slightly modified version of doc++ for OpenSees

Copyright Contact Us