65 #include "utility/recorder/ObjWithRecorders.h" 66 #include "PseudoTimeTracker.h" 67 #include "../mesh/Mesh.h" 68 #include "../constraints/ConstrContainer.h" 69 #include "utility/matrix/Vector.h" 79 class SingleDomEleIter;
80 class SingleDomNodIter;
82 class LoadCombination;
90 class FEM_ObjectBroker;
91 class RayleighDampingFactors;
120 std::string CallbackCommit;
124 bool hasDomainChangedFlag;
129 Vector modalParticipationFactors;
131 std::string nmbCombActual;
139 inline virtual Domain *get_domain_ptr(
void)
147 Domain(CommandEntity *owr,DataOutputHandler::map_output_handlers *oh);
148 Domain(CommandEntity *owr,
int numNods,
int numElements,
int numSPs,
int numMPs,
int numLPatterns,
int numNLockers,DataOutputHandler::map_output_handlers *oh);
212 {
return timeTracker; }
213 inline int getCurrentGeoTag(
void)
const 214 {
return currentGeoTag; }
215 virtual int getCommitTag(
void)
const;
229 virtual void setTime(
double newTime);
230 virtual void applyLoad(
double pseudoTime);
239 virtual int update(
double newTime,
double dT);
240 virtual int newStep(
double dT);
270 virtual void Print(std::ostream &s,
int flag =0);
271 friend std::ostream &operator<<(std::ostream &,
Domain &);
282 virtual double getNodeDisp(
int nodeTag,
int dof,
int &errorFlag);
291 std::ostream &operator<<(std::ostream &,
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:1214
virtual int calculateNodalReactions(bool inclInertia, const double &)
Calculate nodal reaction forces and moments.
Definition: Domain.cpp:1230
virtual void clearDOF_GroupPtr(void)
Clears the pointers to DOF groups.
Definition: Domain.cpp:609
virtual void domainChange(void)
Sets a flag indicating that the integer returned in the next call to hasDomainChanged() must be incre...
Definition: Domain.cpp:999
virtual bool addNode(Node *)
Adds to the domain the node being passed as parameter.
Definition: Domain.cpp:214
virtual const Vector & getPhysicalBounds(void)
Definition: Domain.cpp:700
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags de los miembros of the clase.
Definition: Domain.cpp:1104
virtual int addRegion(MeshRegion &theRegion)
Adds a region.
Definition: Domain.cpp:1067
virtual bool addSFreedom_Constraint(SFreedom_Constraint *)
Adds a single freedom constraint to the domain.
Definition: Domain.cpp:224
Float vector abstraction.
Definition: Vector.h:93
virtual int setMass(const Matrix &mass, int nodeTag)
Set the mass matrix for the node identified by the argument.
Definition: Domain.cpp:1218
virtual int setModalParticipationFactors(const Vector &)
Sets the values of the modal participation factors.
Definition: Domain.cpp:950
virtual bool addNodeLocker(NodeLocker *)
Appends the node locker object to the domain.
Definition: Domain.cpp:448
virtual Mesh & getMesh(void)
Returns a reference to the domain mesh.
Definition: Domain.cpp:625
virtual void clearAll(void)
Removes all components from domain (nodes, elements, loads & constraints).
Definition: Domain.cpp:159
virtual int revertToStart(void)
Return the domain to its initial state and triggers the "restart" method for all the recorders...
Definition: Domain.cpp:838
void removeNLs(void)
Remove all node lockers from domain.
Definition: Domain.cpp:575
virtual bool removeNodalLoad(int tag, int loadPattern)
Removes from domain the nodal load being passed as parameter.
Definition: Domain.cpp:587
virtual bool removeMRMFreedom_Constraint(int tag)
Removes from domain the multi-freedom multi-retained node constraint identified by the argument...
Definition: Domain.cpp:413
int getNumModes(void) const
Return the number of computed eigenvalues.
Definition: Domain.cpp:946
virtual const double & getModalParticipationFactor(int mode) const
Return the modal participation factor of the i-th mode.
Definition: Domain.cpp:957
virtual Graph & getNodeGraph(void)
Builds (if necessary) the domain node graph and returns a reference to it.
Definition: Domain.cpp:724
virtual bool addMFreedom_Constraint(MFreedom_Constraint *)
Adds to the domain a multi-freedom constraint.
Definition: Domain.cpp:247
Finite element model generation tools.
Definition: Preprocessor.h:58
virtual int setRayleighDampingFactors(const RayleighDampingFactors &rF)
Set Rayleigh damping factors.
Definition: Domain.cpp:782
An Recorder object is used in the program to store/restore information at each commit().
Definition: Recorder.h:86
virtual int revertToLastCommit(void)
Return the domain to its last commited state.
Definition: Domain.cpp:820
Iterator over an element container.
Definition: ElementIter.h:73
virtual ElementIter & getElements(void)
Returns an iterator to the element container.
Definition: Domain.cpp:613
int sendData(CommParameters &cp)
Send data through the channel being passed as parameter.
Definition: Domain.cpp:1111
virtual bool removeLoadPattern(int loadTag)
Remove from domain el load pattern identified by the argument.
Definition: Domain.cpp:492
static void setDeadSRF(const double &)
Assigns Stress Reduction Factor for element deactivation.
Definition: Domain.cpp:205
virtual int buildNodeGraph(Graph &theNodeGraph)
Builds the node graph.
Definition: Domain.cpp:1099
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:43
Base class for distributed processing.
Definition: DistributedBase.h:40
virtual Node * getNode(int tag)
Return a pointer to the node identified by the argument.
Definition: Domain.cpp:673
virtual int addRecorder(Recorder &theRecorder)
Adds a recorder to the model.
Definition: Domain.cpp:1053
virtual bool removeElementalLoad(int tag, int loadPattern)
Removes from domain the elemental load being passed as parameter.
Definition: Domain.cpp:594
virtual int hasDomainChanged(void)
Returns true if the model has changed.
Definition: Domain.cpp:1009
A LoadPattern object is used to to store reference loads and single point constraints and a TimeSerie...
Definition: LoadPattern.h:93
virtual int commit(void)
Commits domain state and triggers "record" method for all defined recorders.
Definition: Domain.cpp:795
virtual ~Domain(void)
Destructor.
Definition: Domain.cpp:192
bool existElement(int tag)
Returns true if the element identified by the tag being passed as parameter already exists en el doma...
Definition: Domain.cpp:645
void setNodeReactionException(const int &)
Sets the exception for node reactions checking (see Domain::checkNodalReactions). ...
Definition: Domain.cpp:1222
const Preprocessor * getPreprocessor(void) const
Returns (if possible) a pointer to the preprocessor.
Definition: Domain.cpp:1238
const double getEffectiveModalMass(int mode) const
Return the effective modal mass of the i-th mode.
Definition: Domain.cpp:965
virtual bool addElement(Element *)
Adds to the domain the element being passed as parameter.
Definition: Domain.cpp:210
virtual int initialize(void)
Inicializa.
Definition: Domain.cpp:778
virtual int setEigenvalues(const Vector &)
Sets eigenvalues.
Definition: Domain.cpp:885
Base class for the finite elements.
Definition: Element.h:109
virtual bool addNodalLoad(NodalLoad *, int loadPatternTag)
Appends a nodal load to the pattern being passed as parameter.
Definition: Domain.cpp:301
virtual const double & getEigenvalue(int) const
Return the eigenvalue of the i-th mode.
Definition: Domain.cpp:896
void resetLoadCase(void)
Prepares the domain to solve for a new load pattern.
Definition: Domain.cpp:196
virtual void setLoadConstant(void)
Set all the loads as constant.
Definition: Domain.cpp:774
const std::string & getCurrentCombinationName(void) const
Return the name of the current load combination.
Definition: Domain.cpp:542
virtual bool addLoadPattern(LoadPattern *)
Appends the load pattern to the domain.
Definition: Domain.cpp:429
virtual void setCommitTag(int newTag)
Set the committed tag to newTag.
Definition: Domain.cpp:728
virtual int getNumNodes(void) const
Return the number of nodes.
Definition: Domain.cpp:690
Vector getEffectiveModalMasses(void) const
Return the effective modal masses for each mode.
Definition: Domain.cpp:969
Registro del tiempo.
Definition: PseudoTimeTracker.h:40
double getTotalMass(void) const
Return the total effective modal mass.
Definition: Domain.cpp:976
virtual MeshRegion * getRegion(int region)
Returns a pointer to the region identified by the argument.
Definition: Domain.cpp:1076
virtual bool removeElement(int tag)
Remove the element identified by the argument.
Definition: Domain.cpp:345
Single freedom constraint.
Definition: SFreedom_Constraint.h:84
Vector getFrecuencias(void) const
Returns a vector with the computed frequencies (for each mode).
Definition: Domain.cpp:936
Domain(CommandEntity *owr, DataOutputHandler::map_output_handlers *oh)
Constructor.
Definition: Domain.cpp:119
virtual Element * getElement(int tag)
Return a pointer to the element identified by the argument.
Definition: Domain.cpp:652
virtual void Print(std::ostream &s, int flag=0)
Print stuff.
Definition: Domain.cpp:1030
The Graph class provides the abstraction of a graph.
Definition: Graph.h:93
virtual bool addLoadCombination(LoadCombination *)
Adds to the domain the load combination being passed as parameter.
Definition: Domain.cpp:460
virtual int update(void)
Updates the state of the domain.
Definition: Domain.cpp:865
virtual bool removeNodeLocker(int nlTag)
Remove from domain el.
Definition: Domain.cpp:508
Object that can manage Recorders.
Definition: ObjWithRecorders.h:44
virtual ConstrContainer & getConstraints(void)
Returns domain constraints.
Definition: Domain.cpp:633
virtual const Vector & getModalParticipationFactors(void) const
Return the modal participation factors.
Definition: Domain.cpp:961
virtual bool removeNode(int tag)
Remove the node identified by the argument.
Definition: Domain.cpp:349
Rayleigh damping factors.
Definition: RayleighDampingFactors.h:58
double getFrecuencia(int) const
Return the frequency of the i-th mode.
Definition: Domain.cpp:908
bool checkNodalReactions(const double &)
Check that al free nodes have zero reaction.
Definition: Domain.cpp:1226
virtual bool removeMFreedom_Constraint(int tag)
Removes from domain the multi-freedom constraint identified by the argument.
Definition: Domain.cpp:400
virtual int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: Domain.cpp:1189
virtual bool addElementalLoad(ElementalLoad *, int loadPatternTag)
Adds a load over element to the pattern.
Definition: Domain.cpp:326
int recvData(const CommParameters &cp)
Receive data through the channel being passed as parameter.
Definition: Domain.cpp:1134
void removeLPs(void)
Remove from domain todos los load patterns.
Definition: Domain.cpp:565
Multiple retained nodes constraint.
Definition: MRMFreedom_Constraint.h:58
bool existNode(int tag)
Return true if the mesh has a node with this tag.
Definition: Domain.cpp:666
virtual void setCurrentTime(double newTime)
Set the current time to newTime.
Definition: Domain.cpp:732
virtual int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: Domain.cpp:1169
Single freedom constraints that make part of a load pattern.
Definition: NodeLocker.h:44
virtual void setDomainChangeStamp(int newStamp)
Set the domain stamp to be newStamp.
Definition: Domain.cpp:988
Vector getAngularFrequencies(void) const
Returns a vector with the computed angular frequencies (for each mode).
Definition: Domain.cpp:916
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
double getAngularFrequency(int) const
Return the angular frequency of the i-th mode.
Definition: Domain.cpp:900
Iterator over the nodes.
Definition: NodeIter.h:73
Communication parameters between processes.
Definition: CommParameters.h:65
Matrix of floats.
Definition: Matrix.h:108
Multi-freedom constraint.
Definition: MFreedom_Constraint.h:110
virtual int getNumElements(void) const
Return the number of elements.
Definition: Domain.cpp:686
Vector de celdas.
Definition: DqMeshRegion.h:40
virtual void setCommittedTime(double newTime)
Set the committed time to newTime.
Definition: Domain.cpp:736
Base class for loads over elements.
Definition: ElementalLoad.h:77
Vector getPeriodos(void) const
Returns a vector with the computed periods (for each mode).
Definition: Domain.cpp:926
Load pattern combination (1.5*PP+1.0*CP+1.6*SC ...).
Definition: LoadCombination.h:43
virtual void applyLoad(double pseudoTime)
Apply the loads for the given time pseudoTime.
Definition: Domain.cpp:756
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
Mesh node.
Definition: Node.h:110
Constraint (essential and natural boundary conditions) container.
Definition: ConstrContainer.h:62
Definition: MeshRegion.h:74
double getPeriodo(int) const
Return the period of the i-th mode.
Definition: Domain.cpp:904
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:368
Load over a node.
Definition: NodalLoad.h:82
virtual const Vector & getEigenvalues(void) const
Return the eigenvalues vector.
Definition: Domain.cpp:912
Finite element mesh.
Definition: Mesh.h:64
virtual Graph & getElementGraph(void)
Builds (if necessary) the domain elements graph and returns a reference to it.
Definition: Domain.cpp:712
void removeLoadCombination(LoadCombination *comb)
Removes from the domain the load combination being passed as parameter.
Definition: Domain.cpp:547
virtual bool addMRMFreedom_Constraint(MRMFreedom_Constraint *)
Adds to the domain a multi-freedom multi-retained node constraint.
Definition: Domain.cpp:259
virtual NodeIter & getNodes(void)
Returns an iterator to the node container.
Definition: Domain.cpp:617
virtual int buildEleGraph(Graph &theEleGraph)
Builds the element graph.
Definition: Domain.cpp:1090