66 #include "utility/recorder/ObjWithRecorders.h"    67 #include "PseudoTimeTracker.h"    68 #include "../mesh/Mesh.h"    69 #include "../constraints/ConstrContainer.h"    70 #include "utility/matrix/Vector.h"    71 #include "domain/mesh/region/DqMeshRegion.h"    81 class SingleDomParamIter;
    83 class LoadCombination;
    91 class FEM_ObjectBroker;
    92 class RayleighDampingFactors;
   121     std::string callbackCommit; 
   125     bool hasDomainChangedFlag; 
   130     Vector modalParticipationFactors; 
   132     std::deque<std::string> activeCombinations;
   134     TaggedObjectStorage *theParameters;        
   136     std::deque<int> paramIndex;
   141     void alloc_containers(
void);
   142     void alloc_iters(
void);
   143     bool check_containers(
void) 
const;
   147     inline virtual Domain *get_domain_ptr(
void)
   156     Domain(
CommandEntity *owr,
int numNods, 
int numElements, 
int numSPs, 
int numMPs,
int numLPatterns,
int numNLockers,DataOutputHandler::map_output_handlers *oh);
   242       { 
return timeTracker; }
   245       { 
return timeTracker.getCommittedTime(); }
   248       { 
return timeTracker.getCurrentTime(); }
   251     inline int getCurrentGeoTag(
void)
 const   252       { 
return currentGeoTag; }
   253     virtual int getCommitTag(
void) 
const;
   267     virtual void setTime(
double newTime);
   268     virtual void applyLoad(
double pseudoTime);
   277     virtual int update(
double newTime, 
double dT);
   278     virtual int newStep(
double dT);
   316     virtual void Print(std::ostream &s, 
int flag =0) 
const;
   317     friend std::ostream &operator<<(std::ostream &, 
const Domain &);
   324     boost::python::dict 
getPyDict(
void) 
const;
   325     void setPyDict(
const boost::python::dict &);
   331     virtual double getNodeDisp(
int nodeTag, 
int dof, 
int &errorFlag);
   340 std::ostream &operator<<(std::ostream &, 
const Domain &);
 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 param...
Definition: Domain.cpp:1565
virtual int calculateNodalReactions(bool inclInertia, const double &)
Calculate nodal reaction forces and moments. 
Definition: Domain.cpp:1581
virtual void clearDOF_GroupPtr(void)
Clears the pointers to DOF groups. 
Definition: Domain.cpp:790
virtual void domainChange(void)
Sets a flag indicating that the integer returned in the next call to hasDomainChanged() must be incre...
Definition: Domain.cpp:1288
virtual bool addNode(Node *)
Adds to the domain the node being passed as parameter. 
Definition: Domain.cpp:251
virtual const Vector & getPhysicalBounds(void)
Definition: Domain.cpp:959
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags de los miembros of the clase. 
Definition: Domain.cpp:1389
virtual int addRegion(MeshRegion &theRegion)
Adds a region. 
Definition: Domain.cpp:1357
virtual bool addSFreedom_Constraint(SFreedom_Constraint *)
Adds a single freedom constraint to the domain. 
Definition: Domain.cpp:261
Float vector abstraction. 
Definition: Vector.h:94
virtual Parameter * getParameter(int tag)
Return a pointer to the parameter identified by the argument. 
Definition: Domain.cpp:920
virtual int setMass(const Matrix &mass, int nodeTag)
Set the mass matrix for the node identified by the argument. 
Definition: Domain.cpp:1569
virtual int setModalParticipationFactors(const Vector &)
Sets the values of the modal participation factors. 
Definition: Domain.cpp:1231
virtual bool addNodeLocker(NodeLocker *)
Appends the node locker object to the domain. 
Definition: Domain.cpp:539
virtual Mesh & getMesh(void)
Returns a reference to the domain mesh. 
Definition: Domain.cpp:806
virtual void clearAll(void)
Removes all components from domain (nodes, elements, loads & constraints). 
Definition: Domain.cpp:201
virtual int revertToStart(void)
Return the domain to its initial state and triggers the "restart" method for all the recorders...
Definition: Domain.cpp:1097
void removeNLs(void)
Remove all node lockers from domain. 
Definition: Domain.cpp:756
virtual bool removeNodalLoad(int tag, int loadPattern)
Removes from domain the nodal load being passed as parameter. 
Definition: Domain.cpp:768
Communication parameters between processes. 
Definition: Communicator.h:66
virtual bool removeMRMFreedom_Constraint(int tag)
Removes from domain the multi-freedom multi-retained node constraint identified by the argument...
Definition: Domain.cpp:464
int getNumModes(void) const
Return the number of computed eigenvalues. 
Definition: Domain.cpp:1227
virtual const double & getModalParticipationFactor(int mode) const
Return the modal participation factor of the i-th mode. 
Definition: Domain.cpp:1238
virtual Graph & getNodeGraph(void)
Builds (if necessary) the domain node graph and returns a reference to it. 
Definition: Domain.cpp:983
virtual int recvSelf(const Communicator &)
Receives object through the communicator argument. 
Definition: Domain.cpp:1538
virtual bool addMFreedom_Constraint(MFreedom_Constraint *)
Adds to the domain a multi-freedom constraint. 
Definition: Domain.cpp:284
Finite element model generation tools. 
Definition: Preprocessor.h:59
virtual int setRayleighDampingFactors(const RayleighDampingFactors &rF)
Set Rayleigh damping factors. 
Definition: Domain.cpp:1041
An Recorder object is used in the program to store/restore information at each commit(). 
Definition: Recorder.h:87
virtual int revertToLastCommit(void)
Return the domain to its last committed state. 
Definition: Domain.cpp:1079
Matrix getTotalMass(void) const
Return the total mass matrix. 
Definition: Domain.cpp:1268
Iterator over an element container. 
Definition: ElementIter.h:74
virtual ElementIter & getElements(void)
Returns an iterator to the element container. 
Definition: Domain.cpp:794
void clearEigenvectors(void)
Remove the stored eigenvectors. 
Definition: Domain.cpp:1182
double getPeriod(int) const
Return the period of the i-th mode. 
Definition: Domain.cpp:1163
virtual bool removeLoadPattern(int loadTag)
Remove from domain el load pattern identified by the argument. 
Definition: Domain.cpp:628
boost::python::dict getPyDict(void) const
Return a Python dictionary with the object members values. 
Definition: Domain.cpp:1456
static void setDeadSRF(const double &)
Assigns Stress Reduction Factor for element deactivation. 
Definition: Domain.cpp:242
virtual int buildNodeGraph(Graph &theNodeGraph)
Builds the node graph. 
Definition: Domain.cpp:1384
Vector that stores the dbTags of the class members. 
Definition: DbTagData.h:44
Base class for distributed processing. 
Definition: DistributedBase.h:41
virtual Node * getNode(int tag)
Return a pointer to the node identified by the argument. 
Definition: Domain.cpp:853
virtual void Print(std::ostream &s, int flag=0) const
Print stuff. 
Definition: Domain.cpp:1319
int recvData(const Communicator &comm)
Receive data through the communicator argument. 
Definition: Domain.cpp:1420
virtual int addRecorder(Recorder &theRecorder)
Adds a recorder to the model. 
Definition: Domain.cpp:1342
virtual bool removeElementalLoad(int tag, int loadPattern)
Removes from domain the elemental load being passed as parameter. 
Definition: Domain.cpp:775
virtual int hasDomainChanged(void)
Returns true if the model has changed. 
Definition: Domain.cpp:1298
void removeAllLoadCombinations(void)
Remove all the load combinations currently in activeCombinations. 
Definition: Domain.cpp:734
A load pattern is the spatial distribution as well as its variation in time of a specific set of forc...
Definition: LoadPattern.h:97
virtual int commit(void)
Commits domain state and triggers "record" method for all defined recorders. 
Definition: Domain.cpp:1054
virtual ~Domain(void)
Destructor. 
Definition: Domain.cpp:229
bool existElement(int tag)
Returns true if the element identified by the tag being passed as parameter already exists in the dom...
Definition: Domain.cpp:826
void setNodeReactionException(const int &)
Sets the exception for node reactions checking (see Domain::checkNodalReactions). ...
Definition: Domain.cpp:1573
const Preprocessor * getPreprocessor(void) const
Returns (if possible) a pointer to the preprocessor. 
Definition: Domain.cpp:1589
const double getEffectiveModalMass(int mode) const
Return the effective modal mass of the i-th mode. 
Definition: Domain.cpp:1246
virtual bool addElement(Element *)
Adds to the domain the element being passed as parameter. 
Definition: Domain.cpp:247
virtual int initialize(void)
Initialize mesh. 
Definition: Domain.cpp:1037
std::string getCurrentCombinationName(void) const
Return the name of the current load combination. 
Definition: Domain.cpp:699
virtual int setEigenvalues(const Vector &)
Sets eigenvalues. 
Definition: Domain.cpp:1144
void clearEigendata(void)
Remove the stored eigenvalues and eigenvectors. 
Definition: Domain.cpp:1190
Base class for the finite elements. 
Definition: Element.h:112
void clearEigenvalues(void)
Remove the stored eigenvalues. 
Definition: Domain.cpp:1186
std::string getCurrentLoadCaseDescription(void) const
Return the name of the current load case. 
Definition: Domain.cpp:716
virtual bool addNodalLoad(NodalLoad *, int loadPatternTag)
Appends a nodal load to the pattern being passed as parameter. 
Definition: Domain.cpp:339
bool existMRMFreedom_Constraint(int tag)
Return true if the MRMFreedom constraint exists. 
Definition: Domain.cpp:901
virtual const double & getEigenvalue(int) const
Return the eigenvalue of the i-th mode. 
Definition: Domain.cpp:1155
double getTotalMassComponent(const int &) const
Return the total mass matrix component for the DOF argument. 
Definition: Domain.cpp:1272
void resetLoadCase(void)
Prepares the domain to solve for a new load pattern. 
Definition: Domain.cpp:233
virtual bool isLoadPatternActive(const LoadPattern *) const
Return true if the load pattern is already added to the domain. 
Definition: Domain.cpp:534
virtual void setLoadConstant(void)
Set all the loads as constant. 
Definition: Domain.cpp:1033
bool removeAllLoadPatterns(void)
Remove from all load patterns from domain. 
Definition: Domain.cpp:669
bool existMFreedom_Constraint(int tag)
Return true if the MFreedom constraint exists. 
Definition: Domain.cpp:883
virtual bool addLoadPattern(LoadPattern *)
Appends the load pattern to the domain. 
Definition: Domain.cpp:508
void removeAllLoadsAndCombinations(void)
Remove all the load patterns and load combinations currently in this domain. 
Definition: Domain.cpp:739
virtual void setCommitTag(int newTag)
Set the committed tag to newTag. 
Definition: Domain.cpp:987
Vector getPeriods(void) const
Returns a vector with the computed periods (for each mode). 
Definition: Domain.cpp:1207
virtual int getNumNodes(void) const
Return the number of nodes. 
Definition: Domain.cpp:949
Vector getEffectiveModalMasses(void) const
Return the effective modal masses for each mode. 
Definition: Domain.cpp:1250
Registro del tiempo. 
Definition: PseudoTimeTracker.h:41
virtual MeshRegion * getRegion(int region)
Returns a pointer to the region identified by the argument. 
Definition: Domain.cpp:1364
virtual bool removeElement(int tag)
Remove the element identified by the argument. 
Definition: Domain.cpp:385
Single freedom constraint. 
Definition: SFreedom_Constraint.h:85
Domain(CommandEntity *owr, DataOutputHandler::map_output_handlers *oh)
Constructor. 
Definition: Domain.cpp:153
virtual Constraint * getSFreedom_Constraint(int tag)
Return a pointer to the SFreedom constraint identified by the argument. 
Definition: Domain.cpp:871
Objet that can execute python scripts. 
Definition: CommandEntity.h:40
Definition: SingleDomParamIter.h:38
virtual Element * getElement(int tag)
Return a pointer to the element identified by the argument. 
Definition: Domain.cpp:833
The Graph class provides the abstraction of a graph. 
Definition: Graph.h:94
virtual Constraint * getMRMFreedom_Constraint(int tag)
Return a pointer to the MRMFreedom constraint identified by the argument. 
Definition: Domain.cpp:907
virtual bool addLoadCombination(LoadCombination *)
Adds to the domain the load combination being passed as parameter. 
Definition: Domain.cpp:551
virtual int update(void)
Updates the state of the domain. 
Definition: Domain.cpp:1124
virtual bool removeNodeLocker(int nlTag)
Remove from domain el. 
Definition: Domain.cpp:644
Object that can manage Recorders. 
Definition: ObjWithRecorders.h:42
virtual ConstrContainer & getConstraints(void)
Returns domain constraints. 
Definition: Domain.cpp:814
const PseudoTimeTracker & getTimeTracker(void) const
Return a constant reference to the internal time tracker. 
Definition: Domain.h:241
virtual const Vector & getModalParticipationFactors(void) const
Return the modal participation factors. 
Definition: Domain.cpp:1242
double getCurrentTime(void) const
Return the current value fo the pseudo-time. 
Definition: Domain.h:247
virtual bool removeNode(int tag)
Remove the node identified by the argument. 
Definition: Domain.cpp:395
Rayleigh damping factors. 
Definition: RayleighDampingFactors.h:59
bool checkNodalReactions(const double &)
Check that al free nodes have zero reaction. 
Definition: Domain.cpp:1577
double getTotalEffectiveModalMass(void) const
Return the total effective modal mass. 
Definition: Domain.cpp:1257
bool existSFreedom_Constraint(int tag)
Return true if the SFreedom constraint exists. 
Definition: Domain.cpp:865
virtual bool removeMFreedom_Constraint(int tag)
Removes from domain the multi-freedom constraint identified by the argument. 
Definition: Domain.cpp:451
virtual bool addElementalLoad(ElementalLoad *, int loadPatternTag)
Adds a load over element to the pattern. 
Definition: Domain.cpp:364
virtual Constraint * getMFreedom_Constraint(int tag)
Return a pointer to the MFreedom constraint identified by the argument. 
Definition: Domain.cpp:889
void removeLPs(void)
Remove all the load patterns from this domain. 
Definition: Domain.cpp:746
Multiple retained nodes constraint. 
Definition: MRMFreedom_Constraint.h:59
bool existNode(int tag)
Return true if the mesh has a node with this tag. 
Definition: Domain.cpp:847
virtual void setCurrentTime(double newTime)
Set the current time to newTime. 
Definition: Domain.cpp:991
Single freedom constraints that make part of a load pattern. 
Definition: NodeLocker.h:45
virtual void setDomainChangeStamp(int newStamp)
Set the domain stamp to be newStamp. 
Definition: Domain.cpp:1277
Vector getAngularFrequencies(void) const
Returns a vector with the computed angular frequencies (for each mode). 
Definition: Domain.cpp:1197
void setPyDict(const boost::python::dict &)
Set the values of the object members from a Python dictionary. 
Definition: Domain.cpp:1486
double getCommittedTime(void) const
Return the committed value of the pseudo-time. 
Definition: Domain.h:244
Vector getFrequencies(void) const
Returns a vector with the computed frequencies (for each mode). 
Definition: Domain.cpp:1217
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
double getAngularFrequency(int) const
Return the angular frequency of the i-th mode. 
Definition: Domain.cpp:1159
Iterator over the nodes. 
Definition: NodeIter.h:74
boost::python::list getEigenvaluesPy(void) const
Returns a Python list with the computed eigenvalues for each mode. 
Definition: Domain.cpp:1175
Matrix of floats. 
Definition: Matrix.h:111
virtual int sendSelf(Communicator &)
Sends object through the communicator argument. 
Definition: Domain.cpp:1517
Multi-freedom constraint. 
Definition: MFreedom_Constraint.h:113
virtual int getNumElements(void) const
Return the number of elements. 
Definition: Domain.cpp:945
Dinamically allocated mesh region deque container. 
Definition: DqMeshRegion.h:44
Parameter. 
Definition: Parameter.h:68
double getFrequency(int) const
Return the frequency of the i-th mode. 
Definition: Domain.cpp:1167
Base class for model constraints. 
Definition: Constraint.h:48
virtual void setCommittedTime(double newTime)
Set the committed time to newTime. 
Definition: Domain.cpp:995
Base class for loads over elements. 
Definition: ElementalLoad.h:79
Base class for load pattern combinations (1.5*selfWeight+1.0*permanentLoad+1.6*trafficLoad ...
Definition: LoadCombination.h:45
virtual void applyLoad(double pseudoTime)
Apply the loads for the given time pseudoTime. 
Definition: Domain.cpp:1015
Domain (mesh and boundary conditions) of the finite element model. 
Definition: Domain.h:117
Mesh node. 
Definition: Node.h:111
Constraint (essential and natural boundary conditions) container. 
Definition: ConstrContainer.h:64
Nodes and elements of a mesh region. 
Definition: MeshRegion.h:78
virtual bool removeSFreedom_Constraint(int theNode, int theDOF, int loadPatternTag)
Remove the single freedom constraint from the load pattern identified by the argument. 
Definition: Domain.cpp:419
Load over a node. 
Definition: NodalLoad.h:83
virtual const Vector & getEigenvalues(void) const
Return the eigenvalues vector. 
Definition: Domain.cpp:1171
Finite element mesh. 
Definition: Mesh.h:65
int sendData(Communicator &comm)
Send data through the communicator argument. 
Definition: Domain.cpp:1396
virtual Graph & getElementGraph(void)
Builds (if necessary) the domain elements graph and returns a reference to it. 
Definition: Domain.cpp:971
void removeLoadCombination(LoadCombination *comb)
Removes from the domain the load combination being passed as parameter. 
Definition: Domain.cpp:721
virtual bool addMRMFreedom_Constraint(MRMFreedom_Constraint *)
Adds to the domain a multi-freedom multi-retained node constraint. 
Definition: Domain.cpp:296
virtual NodeIter & getNodes(void)
Returns an iterator to the node container. 
Definition: Domain.cpp:798
virtual int buildEleGraph(Graph &theEleGraph)
Builds the element graph. 
Definition: Domain.cpp:1375