xc
|
Partitioned domain (aggregation of subdomains). More...
#include <PartitionedDomain.h>
Public Member Functions | |
PartitionedDomain (CommandEntity *owr, DataOutputHandler::map_output_handlers *oh) | |
Constructor. More... | |
PartitionedDomain (CommandEntity *owr, DomainPartitioner &thePartitioner, DataOutputHandler::map_output_handlers *oh) | |
Constructor. More... | |
PartitionedDomain (CommandEntity *owr, int numNods, int numElems, int numSPs, int numMPs, int numLPatterns, int numNLockers, int numSubdom, DomainPartitioner &thePartitioner, DataOutputHandler::map_output_handlers *oh) | |
Constructor. More... | |
virtual | ~PartitionedDomain (void) |
Destructor. | |
virtual bool | addElement (Element *elePtr) |
To add the element pointed to by theElementPtr to the domain. More... | |
virtual bool | addNode (Node *nodePtr) |
Adds the node pointed to by theNodePtr to the domain. More... | |
virtual bool | addLoadPattern (LoadPattern *) |
Add the load pattern to the domain. | |
virtual bool | addSFreedom_Constraint (SFreedom_Constraint *) |
Adds the single point constraint pointed to by theSPptr to the domain. More... | |
virtual bool | addSFreedom_Constraint (SFreedom_Constraint *, int loadPatternTag) |
Adds to the domain a single freedom constraint. | |
virtual bool | addMFreedom_Constraint (MFreedom_Constraint *) |
Adds the multiple freedom constraint pointed to by the argument. More... | |
virtual bool | addMRMFreedom_Constraint (MRMFreedom_Constraint *) |
Adds to the domain a multi-freedom multi-retained node constraint. | |
virtual bool | addNodalLoad (NodalLoad *, int loadPatternTag) |
Appends a nodal load to the pattern being passed as parameter. More... | |
virtual bool | addElementalLoad (ElementalLoad *, int loadPatternTag) |
Adds a load over element to the pattern. More... | |
virtual void | clearAll (void) |
Removes all components from domain (nodes, elements, loads & constraints). More... | |
virtual bool | removeElement (int tag) |
Remove the element whose tag is given by tag . More... | |
virtual bool | removeNode (int tag) |
Remove the node whose tag is given by tag . More... | |
virtual bool | removeSFreedom_Constraint (int tag) |
To remove the SFreedom_Constraint whose tag is given by tag from the domain. More... | |
virtual bool | removeMFreedom_Constraint (int tag) |
To remove the MFreedom_Constraint whose tag is given by tag . More... | |
virtual bool | removeLoadPattern (int loadTag) |
To remove the load case whose tag is given by tag . More... | |
virtual ElementIter & | getElements () |
Return an iterator to the element container. More... | |
virtual Element * | getElement (int tag) |
Return the element identified by the argument. More... | |
virtual int | getNumElements (void) const |
Return the number of elements. | |
virtual void | setCommitTag (int newTag) |
Set the committed tag to newTag . | |
virtual void | setCurrentTime (double newTime) |
Sets the current pseudo-time of the domain. More... | |
virtual void | setCommittedTime (double newTime) |
Set the committed time to newTime . | |
virtual void | applyLoad (double pseudoTime) |
Applies the load to all the subdomains. More... | |
virtual void | setLoadConstant (void) |
Set all the loads as constant. More... | |
virtual int | commit (void) |
The partioned domain iterates through all the subdomains invoking {commit()} on them. More... | |
virtual int | revertToLastCommit (void) |
Return the domain to its last committed state. More... | |
virtual int | revertToStart (void) |
Return the domain to its initial state and triggers the "restart" method for all the recorders. More... | |
virtual int | update (void) |
Updates the state of the domain. More... | |
virtual int | update (double newTime, double dT) |
Updates domain state. | |
virtual int | newStep (double dT) |
virtual int | addRecorder (Recorder &theRecorder) |
Add the recorder to the partitioned domain. | |
virtual int | removeRecorders (void) |
Remove recorders from the domain. | |
virtual void | Print (std::ostream &s, int flag=0) const |
Print stuff. More... | |
virtual int | setPartitioner (DomainPartitioner *thePartitioner) |
virtual int | partition (int numPartitions, bool usingMain=false, int mainPartitionID=0) |
Triggers the partition of the domain. More... | |
virtual bool | addSubdomain (Subdomain *theSubdomain) |
Adds the subdomain pointed to by theSubdomainPtr to the domain. More... | |
virtual int | getNumSubdomains (void) |
Return the number of Subdomains (partitions). | |
virtual Subdomain * | getSubdomainPtr (int tag) |
Return the Subdomain whose tag is given by tag . | |
virtual SubdomainIter & | getSubdomains (void) |
Return an iterator for the Subdomains of the PartitionedDomain. | |
virtual bool | removeExternalNode (int tag) |
a method which will only remove a node from the partitioned domain it does not touch the subdomains . More... | |
virtual Graph & | getSubdomainGraph (void) |
This will create a new graph each time it is invoked; deleting the old graph. More... | |
virtual double | getNodeDisp (int nodeTag, int dof, int &errorFlag) |
Return the value of the dof component of displacement for the node with the tag being passed as parameter. More... | |
virtual int | setMass (const Matrix &mass, int nodeTag) |
Set the mass matrix for the node identified by the argument. | |
![]() | |
Domain (CommandEntity *owr, DataOutputHandler::map_output_handlers *oh) | |
Constructor. More... | |
Domain (CommandEntity *owr, int numNods, int numElements, int numSPs, int numMPs, int numLPatterns, int numNLockers, DataOutputHandler::map_output_handlers *oh) | |
Constructor. More... | |
virtual | ~Domain (void) |
Destructor. More... | |
virtual bool | isLoadPatternActive (const LoadPattern *) const |
Return true if the load pattern is already added to the domain. More... | |
virtual bool | addNodeLocker (NodeLocker *) |
Appends the node locker object to the domain. | |
virtual bool | addLoadCombination (LoadCombination *) |
Adds to the domain the load combination being passed as parameter. | |
virtual bool | addParameter (Parameter *) |
void | setNodeReactionException (const int &) |
Sets the exception for node reactions checking (see Domain::checkNodalReactions). | |
bool | checkNodalReactions (const double &) |
Check that al free nodes have zero reaction. | |
bool | remove (Element *) |
Remove the element from the domain. More... | |
bool | remove (Node *) |
Remove the node from the domain. More... | |
virtual bool | removeSFreedom_Constraint (int theNode, int theDOF, int loadPatternTag) |
Remove the single freedom constraint from the load pattern identified by the argument. More... | |
virtual bool | removeMRMFreedom_Constraint (int tag) |
Removes from domain the multi-freedom multi-retained node constraint identified by the argument. More... | |
bool | remove (Constraint *) |
Remove the element from the domain. More... | |
virtual bool | removeNodeLocker (int nlTag) |
Remove from domain el. | |
bool | removeLoadPattern (LoadPattern *lp) |
Remove from domain the load pattern being passed as parameter. | |
bool | removeAllLoadPatterns (void) |
Remove from all load patterns from domain. | |
bool | removeNodeLocker (NodeLocker *lp) |
Remove from domain the load pattern being passed as parameter. | |
void | removeLoadCombination (LoadCombination *comb) |
Removes from the domain the load combination being passed as parameter. More... | |
void | removeAllLoadCombinations (void) |
Remove all the load combinations currently in activeCombinations. | |
void | removeAllLoadsAndCombinations (void) |
Remove all the load patterns and load combinations currently in this domain. More... | |
void | removeLPs (void) |
Remove all the load patterns from this domain. | |
void | removeNLs (void) |
Remove all node lockers from domain. | |
virtual bool | removeNodalLoad (int tag, int loadPattern) |
Removes from domain the nodal load being passed as parameter. More... | |
virtual bool | removeElementalLoad (int tag, int loadPattern) |
Removes from domain the elemental load being passed as parameter. More... | |
virtual bool | removeSFreedom_Constraint (int tag, int loadPattern) |
Removes from domain the single freedom constraint being passed as parameter. More... | |
virtual void | clearDOF_GroupPtr (void) |
Clears the pointers to DOF groups. | |
virtual NodeIter & | getNodes (void) |
Returns an iterator to the node container. | |
virtual Mesh & | getMesh (void) |
Returns a reference to the domain mesh. | |
virtual const Mesh & | getMesh (void) const |
Returns a reference to the domain mesh. | |
virtual ConstrContainer & | getConstraints (void) |
Returns domain constraints. | |
virtual const ConstrContainer & | getConstraints (void) const |
Returns domain constraints. | |
std::string | getCurrentCombinationName (void) const |
Return the name of the current load combination. | |
std::string | getCurrentLoadCaseDescription (void) const |
Return the name of the current load case. | |
bool | existElement (int tag) |
Returns true if the element identified by the tag being passed as parameter already exists in the domain. More... | |
virtual const Element * | getElement (int tag) const |
Returns a const pointer to the element identified by the argument. More... | |
bool | existNode (int tag) |
Return true if the mesh has a node with this tag. More... | |
virtual Node * | getNode (int tag) |
Return a pointer to the node identified by the argument. More... | |
virtual const Node * | getNode (int tag) const |
Return a pointer to the node identified by the argument. More... | |
bool | existSFreedom_Constraint (int tag) |
Return true if the SFreedom constraint exists. More... | |
virtual Constraint * | getSFreedom_Constraint (int tag) |
Return a pointer to the SFreedom constraint identified by the argument. More... | |
virtual const Constraint * | getSFreedom_Constraint (int tag) const |
Return a pointer to the SFreedom constraint identified by the argument. More... | |
bool | existMFreedom_Constraint (int tag) |
Return true if the MFreedom constraint exists. More... | |
virtual Constraint * | getMFreedom_Constraint (int tag) |
Return a pointer to the MFreedom constraint identified by the argument. More... | |
virtual const Constraint * | getMFreedom_Constraint (int tag) const |
Return a pointer to the MFreedom constraint identified by the argument. More... | |
bool | existMRMFreedom_Constraint (int tag) |
Return true if the MRMFreedom constraint exists. More... | |
virtual Constraint * | getMRMFreedom_Constraint (int tag) |
Return a pointer to the MRMFreedom constraint identified by the argument. More... | |
virtual const Constraint * | getMRMFreedom_Constraint (int tag) const |
Return a pointer to the MRMFreedom constraint identified by the argument. More... | |
virtual Parameter * | getParameter (int tag) |
Return a pointer to the parameter identified by the argument. More... | |
virtual const Parameter * | getParameter (int tag) const |
Return a pointer to the parameter identified by the argument. More... | |
const PseudoTimeTracker & | getTimeTracker (void) const |
Return a constant reference to the internal time tracker. | |
double | getCommittedTime (void) const |
Return the committed value of the pseudo-time. | |
double | getCurrentTime (void) const |
Return the current value fo the pseudo-time. | |
int | getCurrentGeoTag (void) const |
virtual int | getCommitTag (void) const |
virtual int | getNumNodes (void) const |
Return the number of nodes. | |
virtual const Vector & | getPhysicalBounds (void) |
virtual Graph & | getElementGraph (void) |
Builds (if necessary) the domain elements graph and returns a reference to it. More... | |
virtual Graph & | getNodeGraph (void) |
Builds (if necessary) the domain node graph and returns a reference to it. More... | |
virtual void | setTime (double newTime) |
virtual int | initialize (void) |
Initialize mesh. | |
virtual int | setRayleighDampingFactors (const RayleighDampingFactors &rF) |
Set Rayleigh damping factors. | |
void | resetLoadCase (void) |
Prepares the domain to solve for a new load pattern. | |
int | getNumModes (void) const |
Return the number of computed eigenvalues. | |
virtual int | setEigenvalues (const Vector &) |
Sets eigenvalues. | |
virtual const double & | getEigenvalue (int) const |
Return the eigenvalue of the i-th mode. | |
double | getAngularFrequency (int) const |
Return the angular frequency of the i-th mode. | |
double | getPeriod (int) const |
Return the period of the i-th mode. | |
double | getFrequency (int) const |
Return the frequency of the i-th mode. | |
virtual const Vector & | getEigenvalues (void) const |
Return the eigenvalues vector. | |
boost::python::list | getEigenvaluesPy (void) const |
Returns a Python list with the computed eigenvalues for each mode. | |
void | clearEigenvectors (void) |
Remove the stored eigenvectors. | |
void | clearEigenvalues (void) |
Remove the stored eigenvalues. | |
void | clearEigendata (void) |
Remove the stored eigenvalues and eigenvectors. | |
Vector | getAngularFrequencies (void) const |
Returns a vector with the computed angular frequencies (for each mode). | |
Vector | getPeriods (void) const |
Returns a vector with the computed periods (for each mode). | |
Vector | getFrequencies (void) const |
Returns a vector with the computed frequencies (for each mode). | |
virtual int | setModalParticipationFactors (const Vector &) |
Sets the values of the modal participation factors. | |
virtual const double & | getModalParticipationFactor (int mode) const |
Return the modal participation factor of the i-th mode. | |
virtual const Vector & | getModalParticipationFactors (void) const |
Return the modal participation factors. | |
const double | getEffectiveModalMass (int mode) const |
Return the effective modal mass of the i-th mode. | |
Vector | getEffectiveModalMasses (void) const |
Return the effective modal masses for each mode. | |
double | getTotalEffectiveModalMass (void) const |
Return the total effective modal mass. | |
Matrix | getTotalMass (void) const |
Return the total mass matrix. | |
double | getTotalMassComponent (const int &) const |
Return the total mass matrix component for the DOF argument. | |
virtual void | domainChange (void) |
Sets a flag indicating that the integer returned in the next call to hasDomainChanged() must be incremented by \(1\). More... | |
virtual int | hasDomainChanged (void) |
Returns true if the model has changed. More... | |
virtual void | setDomainChangeStamp (int newStamp) |
Set the domain stamp to be newStamp . More... | |
virtual int | addRegion (MeshRegion &theRegion) |
Adds a region. | |
virtual MeshRegion * | getRegion (int region) |
Returns a pointer to the region identified by the argument. | |
virtual int | sendSelf (Communicator &) |
Sends object through the communicator argument. | |
virtual int | recvSelf (const Communicator &) |
Receives object through the communicator argument. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
const Preprocessor * | getPreprocessor (void) const |
Returns (if possible) a pointer to the preprocessor. | |
Preprocessor * | getPreprocessor (void) |
Returns (if possible) a pointer to the preprocessor. | |
virtual int | calculateNodalReactions (bool inclInertia, const double &) |
Calculate nodal reaction forces and moments. | |
![]() | |
ObjWithRecorders (CommandEntity *owr, DataOutputHandler::map_output_handlers *oh=nullptr) | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
![]() | |
CommandEntity (CommandEntity *owr=nullptr) | |
Default constructor. | |
CommandEntity * | Owner (void) |
Return a pointer to the object owner. | |
const CommandEntity * | Owner (void) const |
Return un puntero al objeto propietario de ESTE. | |
const StandardOutputWrapper & | getStandardOutputWrapper (void) const |
Return the regular output stream wrapper. | |
StandardOutputWrapper & | getStandardOutputWrapper (void) |
Return the regular output stream wrapper. | |
const std::string & | getLogFileName (void) const |
Returns log file name. | |
void | setLogFileName (const std::string &) |
Sets log file name. | |
const std::string & | getErrFileName (void) const |
Returns err file name. | |
void | setErrFileName (const std::string &) |
Sets error file name. | |
const std::string & | getOutputFileName (void) const |
Returns regular output file name. | |
void | setOutputFileName (const std::string &) |
Sets regular output file name. | |
boost::python::object | evalPy (boost::python::object dict, const std::string &) |
Return the Python object that results from evaluating the argument. | |
boost::python::object | execPy (boost::python::object dict, const std::string &) |
Return the Python objects that results from executing the code in the string argument. | |
boost::python::object | execFilePy (boost::python::object dict, const std::string &) |
Return the Python object that results from executing the code in the file. | |
![]() | |
EntityWithProperties (EntityWithProperties *owr=nullptr) | |
Default constructor. | |
void | clearPyProps (void) |
Clear python properties map. | |
bool | hasPyProp (const std::string &) |
Returns true if property exists. | |
boost::python::object | getPyProp (const std::string &str) |
Return the Python object with the name being passed as parameter. | |
void | setPyProp (std::string str, boost::python::object val) |
Sets/appends a value tho the Python object's dictionary. | |
void | copyPropsFrom (const EntityWithProperties &) |
Copy the properties from the argument. | |
boost::python::list | getPropNames (void) const |
Return the names of the object properties weightings. | |
const PythonDict & | getPropertiesDict (void) const |
Return a std::map container with the properties of the object. | |
![]() | |
EntityWithOwner (EntityWithOwner *owr=nullptr) | |
Default constructor. | |
EntityWithOwner (const EntityWithOwner &) | |
Copy constructor. | |
EntityWithOwner & | operator= (const EntityWithOwner &) |
Assignment operator. | |
virtual bool | operator== (const EntityWithOwner &) const |
Comparison operator. | |
virtual | ~EntityWithOwner (void) |
Virtual destructor. | |
virtual std::string | getClassName (void) const |
Returns demangled class name. | |
void | set_owner (EntityWithOwner *owr) |
Assigns the owner of the object. | |
EntityWithOwner * | Owner (void) |
const EntityWithOwner * | Owner (void) const |
![]() | |
RecorderContainer (DataOutputHandler::map_output_handlers *oh=nullptr) | |
virtual | ~RecorderContainer (void) |
Destructor. | |
Recorder * | newRecorder (const std::string &, DataOutputHandler *oh=nullptr) |
Read a Recorder object from file. | |
recorder_iterator | recorder_begin (void) |
const_recorder_iterator | recorder_begin (void) const |
recorder_iterator | recorder_end (void) |
const_recorder_iterator | recorder_end (void) const |
virtual int | record (int track, double timeStamp=0.0) |
To invoke {record(cTag, timeStamp)} on any Recorder objects which have been added. More... | |
void | restart (void) |
To invoke {restart()} on any Recorder objects which have been added. More... | |
void | setLinks (Domain *dom) |
Asigna el domain a los recorders. | |
void | SetOutputHandlers (DataOutputHandler::map_output_handlers *oh) |
Set the outputhandlers container. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual | ~DistributedBase (void) |
Destructor. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
Protected Member Functions | |
int | barrierCheck (int result) |
DomainPartitioner * | getPartitioner (void) const |
Return a pointer to the DomainPartitioner object associated with the PartitionedDomain. More... | |
virtual int | buildEleGraph (Graph &theEleGraph) |
A method which will cause the domain to discard the current element graph and build a new one based on the element connectivity. More... | |
![]() | |
virtual int | buildNodeGraph (Graph &theNodeGraph) |
Builds the node graph. More... | |
virtual Domain * | get_domain_ptr (void) |
void | free_mem (void) |
DbTagData & | getDbTagData (void) const |
Returns a vector to store the dbTags de los miembros of the clase. More... | |
int | sendData (Communicator &comm) |
Send data through the communicator argument. | |
int | recvData (const Communicator &comm) |
Receive data through the communicator argument. | |
![]() | |
template<class T > | |
void | string_to (T &, const std::string &) const |
![]() | |
bool | isEqual (const EntityWithProperties &) const |
Return true if both objects are equal. | |
![]() | |
virtual bool | isEqual (const EntityWithOwner &) const |
Return true if both objects are equal. | |
![]() | |
int | sendData (Communicator &comm) |
int | recvData (const Communicator &comm) |
size_t | getNumRecorders (void) const |
Returns the number of recorders already defined. | |
Friends | |
class | PartitionedDomainEleIter |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, boost::python::object > | PythonDict |
![]() | |
typedef std::list< Recorder * > | recorders_list |
typedef recorders_list::iterator | recorder_iterator |
typedef recorders_list::const_iterator | const_recorder_iterator |
![]() | |
static void | setDeadSRF (const double &) |
Assigns Stress Reduction Factor for element deactivation. | |
![]() | |
static void | resetStandardOutput (void) |
Reset the standard output streams to its defaults buffers. | |
![]() | |
static int | getVerbosityLevel (void) |
Get the value of the verbosity level. | |
static void | setVerbosityLevel (const int &) |
Set the value of the verbosity level. | |
![]() | |
static CommandEntity * | entcmd_cast (boost::any &data) |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
Partitioned domain (aggregation of subdomains).
PartitionedDomain is an extension of Domain. A partitioned domain is an aggregation of subdomains. All elements, nodes, loadcases are added to the PartitionedDomain. The components can be moved among subdomains (keeping in mind that subdomains are themselves subclasses of domain and therefore must obey the requirements for adding and removing elements specified in the interface for Domain) by invoking the remove..() and add...() methods on the subdomain.
XC::PartitionedDomain::PartitionedDomain | ( | CommandEntity * | owr, |
DataOutputHandler::map_output_handlers * | oh | ||
) |
Constructor.
owr | object that encloses this one. |
oh | to DEPRECATE. |
XC::PartitionedDomain::PartitionedDomain | ( | CommandEntity * | owr, |
DomainPartitioner & | thePartitioner, | ||
DataOutputHandler::map_output_handlers * | oh | ||
) |
Constructor.
Constructs an empty PartitionedDomain. A link with the domain partitioner thePartitioner
is set up. The thePartitioner
is used by the domain to partition and load balance the partitioned domain.
owr | object that encloses this one. |
thePartitioner | object that make the partition. |
oh | to DEPRECATE. |
XC::PartitionedDomain::PartitionedDomain | ( | CommandEntity * | owr, |
int | numNodes, | ||
int | numElements, | ||
int | numSPs, | ||
int | numMPs, | ||
int | numLoadPatterns, | ||
int | numNodeLockers, | ||
int | numSubdomains, | ||
DomainPartitioner & | thePartitioner, | ||
DataOutputHandler::map_output_handlers * | oh | ||
) |
Constructor.
Constructs an empty PartitionedDomain, storage is allocated for the components that are to be added using the estimated number of components passed as arguments. A link with the domain partitioner thePartitioner
is set up. The thePartitioner
is used by the domain to partition and load balance the partitioned domain.
owr | object that encloses this one. |
thePartitioner | object that make the partition. |
oh | to DEPRECATE. |
|
virtual |
To add the element pointed to by theElementPtr to the domain.
To add the element pointed to by theElementPtr to the domain. If check
is true
the domain is responsible for checking to see that: 1) no other element with a similar tag, element number, exists in any of the subdomains. If check is successful the partitioned domain attempts to add the element to the storage arrey. The call returns false
if the element was not added, otherwise true
is returned.
Reimplemented from XC::Domain.
|
virtual |
Adds a load over element to the pattern.
To add the elemental load theld
to the LoadPattern in the domain whose tag is given by loadPatternTag
. If {_DEBUG} is defines, checks to see that corresponding element exists in the domain. A pointer to the LoadPattern is obtained from the LoadPattern container and the load is added to LoadPattern by invoking {addElementalLoad(theLd)} on the LoadPattern object. The domain is responsible for invoking {setDomain(this)} on the load. The call returns true
if the load was added, otherwise a warning is raised and and {false} is returned.
load | load over element. |
loadPatternTag | load pattern identifier. |
Reimplemented from XC::Domain.
|
virtual |
Adds the multiple freedom constraint pointed to by the argument.
Adds the multiple freedom constraint pointed to by the argument, to the domain. The domain performs some checks is check
is true. If successful the domain adds the constraint using {Domain::addMP_Constraint()}. The call returns false
if the constraint was not added, otherwise true
is returned.
Reimplemented from XC::Domain.
|
virtual |
Appends a nodal load to the pattern being passed as parameter.
To add the nodal load theld
to the LoadPattern in the domain whose tag is given by loadPatternTag
. If {_DEBUG} is defines, checks to see that corresponding node exists in the domain. A pointer to the LoadPattern is obtained from the LoadPattern container and the load is added to LoadPattern by invoking {addNodalLoad(theLd)} on the LoadPattern object. The domain is responsible for invoking {setDomain(this)} on the load. The call returns true
if the load was added, a warning is raised and and {false} is returned.
load | load over node. |
loadPatternTag | load pattern identifier. |
Reimplemented from XC::Domain.
|
virtual |
Adds the node pointed to by theNodePtr to the domain.
Adds the node pointed to by theNodePtr to the domain. If check
is true
the domain is responsible for checking that no other node with a similar tag, node number, exists in any of the subdomains. If successful the partition domain attempts to add the node by invoking {Domain::addNode}. The call returns false
if the node was not added, otherwise true
is returned.
Reimplemented from XC::Domain.
|
virtual |
Adds the single point constraint pointed to by theSPptr to the domain.
Adds the single point constraint pointed to by theSPptr to the domain. The domain performs some checks is check
is true. If successful the domain adds the constraint using {Domain::addSFreedom_Constraint()}. The call returns false
if the constraint was not added, otherwise true
is returned.
Reimplemented from XC::Domain.
|
virtual |
Adds the subdomain pointed to by theSubdomainPtr to the domain.
Adds the subdomain pointed to by theSubdomainPtr to the domain. The domain is responsible for checking that no other subdomain with a similar tag, has been previously added to the domain. If successful the domain is responsible for invoking {setDomain(this)} on the Subdomain. The domain is also responsible for invoking {domainChange()}. The call returns false
if the subdomain was not added, otherwise true
is returned.
|
virtual |
Applies the load to all the subdomains.
The partioned domain iterates through all the subdomains invoking {applyLoad(double timeStamp)} on them.
Reimplemented from XC::Domain.
|
protectedvirtual |
A method which will cause the domain to discard the current element graph and build a new one based on the element connectivity.
A method which will cause the domain to discard the current element graph and build a new one based on the element connectivity. Returns \(0\) if successful otherwise \(-1\) is returned along with an error message to std::cerr.
Reimplemented from XC::Domain.
|
virtual |
Removes all components from domain (nodes, elements, loads & constraints).
To remove all the components from the model and invoke the destructor on these objects. First clearAll() is invoked on all the LoadPattern objects. Then the domain object invokes {clearAll()} on its container objects. In addition the destructor for each Recorder object that has been added to the domain is invoked. In addition the current time and load factor are set to \(0\), and the box bounding the domain is set to the box enclosing the origin.
GENERAL NOTE ON REMOVAL OF COMPONENTS: downward casts (while bad) are o.k. as only the type of components can be added to the storage objects, e.g. only elements can be added to theElements therefore casting a DomainComponent from theElements to an Element is o.k.
Reimplemented from XC::Domain.
|
virtual |
The partioned domain iterates through all the subdomains invoking {commit()} on them.
Reimplemented from XC::Domain.
|
virtual |
Return the element identified by the argument.
Returns a pointer to the element whose tag is given by tag
. If no such element exists \(0\) is returned. This is done by invoking {getElement(tag)} on the subdomains until the element is found or no more subdomains exist; in which case a \(0\) is returned.
Reimplemented from XC::Domain.
|
virtual |
Return an iterator to the element container.
It returns an PartionedDomEleIter
for the elements of the domain. This is an iter which goes through all the subdomains, invoking {getElements()} on the subdomain to get an ElementIter. The PartitionedDomEleIter uses this iter to go through the elements of the subdomain until it begins returning \(0\); at which point it goes on to the next subdomain.
Reimplemented from XC::Domain.
|
virtual |
Return the value of the dof component of displacement for the node with the tag being passed as parameter.
nodeTag | node identifier. |
dof | component of the displacement. |
errorFlag | error indicator. |
Reimplemented from XC::Domain.
|
protected |
Return a pointer to the DomainPartitioner object associated with the PartitionedDomain.
|
virtual |
This will create a new graph each time it is invoked; deleting the old graph.
THIS WILL BE CHANGED. A vertex is created for each Subdomain, with an edge to each Subdomain the Subdomain is connected to, a tag equal to the Subdomain tag, and a weight equal to the result of invoking getCost() on the Subdomain.
|
virtual |
Triggers the partition of the domain.
Method which first checks that subdomains with tags 1 through numPartitions
exist in the PartitionedDomain. Then it invokes {setPartitionedDomain(*this)} on the DomainPartitioner and finally it returns the result of invoking {partition(numPartitions} on the DomainPartitioner, which will return 0 if succesfull, a negative number if not.
|
virtual |
Print stuff.
To print the state of the domain. The domain invokes {Print(s,flag)} on all it's container objects.
Reimplemented from XC::Domain.
|
virtual |
Remove the element whose tag is given by tag
.
To remove the element whose tag is given by tag
from the domain. The method Returns \(0\) if no such element exists in the domain. Otherwise the domain invokes {setDomain(0)} on the element and {setDomainChange(true,true,false)} on itself before a pointer to the element is returned.
Reimplemented from XC::Domain.
|
virtual |
a method which will only remove a node from the partitioned domain it does not touch the subdomains .
. can be dangerous to use.
A method to remove a Node whose tag is given by tag
from the PartitionedDomain, but will not remove the Node from any Subdomains.
|
virtual |
To remove the load case whose tag is given by tag
.
To remove the load case whose tag is given by tag
from the domain. Returns \(0\) if the load case was not in the domain, otherwise returns a pointer to the load case that was removed. Invokes {setDomain(0)} on the load case before it is returned.
Reimplemented from XC::Domain.
|
virtual |
To remove the MFreedom_Constraint whose tag is given by tag
.
To remove the MFreedom_Constraint whose tag is given by tag
from the domain. Returns \(0\) if the constraint was not in the domain, otherwise the domain invokes {setDomain(0)} on the constraint and {setDomainChange(true,false,false)} on itself before a pointer to the constraint is returned.
Reimplemented from XC::Domain.
|
virtual |
Remove the node whose tag is given by tag
.
To remove the node whose tag is given by tag
from the domain. Returns \(0\) if no such node exists in the domain. Otherwise if the checkNeeded
is true
before the node is removed a check is made to see that the node is not referenced by any element, constraint or load. If it is referenced the Node will not be removed and \(0\) is returned. If the node is to be removed the domain invokes {setDomain(0)} on the node and {setDomainChange(true,false,true)} on itself.
Reimplemented from XC::Domain.
|
virtual |
To remove the SFreedom_Constraint whose tag is given by tag
from the domain.
To remove the SFreedom_Constraint whose tag is given by tag
from the domain. Returns \(0\) if the constraint was not in the domain, otherwise the domain invokes {setDomain(0)} on the constraint and {setDomainChange(true,false,false)} on itself before a pointer to the constraint is returned.
Reimplemented from XC::Domain.
|
virtual |
Return the domain to its last committed state.
To return the domain to the state it was in at the last commit. The domain invokes revertToLastCommit() on all nodes and elements in the domain. The domain sets its current loadFactor and time stamp to be equal to the last committed values. The domain decrements the current commitTag by \(1\). Finally it invokes applyLoad() on itself with the current time.
Reimplemented from XC::Domain.
|
virtual |
Return the domain to its initial state and triggers the "restart" method for all the recorders.
Reimplemented from XC::Domain.
|
virtual |
Sets the current pseudo-time of the domain.
Sets the current pseudo-time of the domain to be that whose tag is given by newTime
. It iterates through all the subdomains invoking the same operation on them.
Reimplemented from XC::Domain.
|
virtual |
Set all the loads as constant.
To set the loads in the LoadPatterns to be constant. The domain achieves this by invoking setLoadConstant() on all the LoadPatterns which have been added to the domain. Note that LoadPatterns added after this method has been invoked will not be constant until this method is invoked again.
Reimplemented from XC::Domain.
|
virtual |
Updates the state of the domain.
Called by the AnalysisModel to update the state of the domain. Iterates over all the elements of the Domain and invokes {update()}.
Reimplemented from XC::Domain.