29 #ifndef ConstrContainer_h 30 #define ConstrContainer_h 32 #include "domain/mesh/MeshComponentContainer.h" 33 #include "MapCasosActivos.h" 38 class SFreedom_Constraint;
39 class MFreedom_Constraint;
40 class MRMFreedom_Constraint;
45 class SFreedom_ConstraintIter;
46 class MFreedom_ConstraintIter;
47 class MRMFreedom_ConstraintIter;
48 class LoadPatternIter;
51 class SingleDomSFreedom_Iter;
52 class SingleDomMFreedom_Iter;
53 class SingleDomMRMFreedom_Iter;
54 class SingleDomAllSFreedom_Iter;
55 class FEM_ObjectBroker;
57 class TaggedObjectStorage;
65 TaggedObjectStorage *theSPs;
66 TaggedObjectStorage *theMPs;
67 TaggedObjectStorage *theMRMPs;
76 void alloc_containers(
void);
77 void alloc_iters(
void);
78 bool check_containers(
void)
const;
140 virtual void applyLoad(
double pseudoTime);
174 virtual void Print(std::ostream &s,
int flag =0);
virtual SFreedom_Constraint * getSFreedom_Constraint(int tag)
Returns a pointer to the single freedom constraint whose identifier is being passed as parameter...
Definition: ConstrContainer.cc:589
virtual int calculateNodalReactions(bool inclInertia, const double &)
Reactions due to constraints.
Definition: ConstrContainer.cc:1003
int recvLPatternsTags(const int &, const int &, const CommParameters &)
Receives the active load patterns tags through the channel being passed as parameter.
Definition: ConstrContainer.cc:1046
virtual void setLoadConstant(void)
Set as constant all the active load patterns (used in pushover analysis).
Definition: ConstrContainer.cc:996
int sendLPatternsTags(const int &, const int &, CommParameters &)
Send the active load patterns tags through the channel being passed as parameter. ...
Definition: ConstrContainer.cc:1026
virtual void Print(std::ostream &s, int flag=0)
Prints object information.
Definition: ConstrContainer.cc:1197
Iterator over multi-freedom constraints.
Definition: MFreedom_ConstraintIter.h:75
int removeNLs(void)
Removes all nodel lockers.
Definition: ConstrContainer.cc:480
int recvData(const CommParameters &cp)
Receives object members through the channel being passed as parameter.
Definition: ConstrContainer.cc:1157
bool nodeAffectedByConstraints(int) const
Returns true if the node is affected by any constraint.
Definition: ConstrContainer.cc:974
virtual MFreedom_Constraint * getMFreedom_Constraint(int tag)
Returns a pointer to the multi-freedom constraint identified by the argument.
Definition: ConstrContainer.cc:602
virtual SFreedom_ConstraintIter & getDomainAndLoadPatternSPs()
All (domain and load cases) single freedom constraints iterator.
Definition: ConstrContainer.cc:542
virtual bool removeSFreedom_Constraint(int theNode, int theDOF, int loadPatternTag)
Removes a single freedom constraint from this container or from a load pattern.
Definition: ConstrContainer.cc:345
virtual bool addMRMFreedom_Constraint(MRMFreedom_Constraint *)
Appends a multi-retained nodes constraint.
Definition: ConstrContainer.cc:200
virtual bool removeMRMFreedom_Constraint(int tag)
Removes the multi-row multi-freedom constraint identified by the argument.
Definition: ConstrContainer.cc:400
bool isDOFAffectedByMRMPs(int, int) const
Returns true if the DOF is affected by one or more multi-row multi-freedom constraints.
Definition: ConstrContainer.cc:958
virtual bool addSFreedom_Constraint(SFreedom_Constraint *)
Appends a single freedom constraint.
Definition: ConstrContainer.cc:158
std::deque< int > getTagsMRMPsNode(int, int) const
Search on the container all the multi retained multi-freedom constraints that affect the node and deg...
Definition: ConstrContainer.cc:787
ConstrContainer(Domain *owr)
Constructor.
Definition: ConstrContainer.cc:122
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:43
std::deque< int > getTagsSPsNode(int, int) const
Search on the container all the single freedom constraints with the node and degree of freedom being ...
Definition: ConstrContainer.cc:747
virtual void clearAll(void)
Deletes all the members of the container.
Definition: ConstrContainer.cc:133
int removeLPs(void)
Removes all load patterns.
Definition: ConstrContainer.cc:466
virtual bool addMFreedom_Constraint(MFreedom_Constraint *)
Appends a multiple freedom constraint.
Definition: ConstrContainer.cc:180
Definition: SingleDomSFreedom_Iter.h:72
A LoadPattern object is used to to store reference loads and single point constraints and a TimeSerie...
Definition: LoadPattern.h:93
virtual bool addLoadPattern(LoadPattern *)
Appends a load pattern.
Definition: ConstrContainer.cc:220
virtual bool addNodalLoad(NodalLoad *, int loadPatternTag)
Appends a nodal load to a load pattern.
Definition: ConstrContainer.cc:279
bool isDOFAffectedBySPs(int, int) const
Returns true if the DOF is affected by one or more single freedom constraints.
Definition: ConstrContainer.cc:872
Definition: SingleDomAllSFreedom_Iter.h:84
virtual bool addNodeLocker(NodeLocker *)
Appends a node locker.
Definition: ConstrContainer.cc:241
Iterator over multiple retained nodal constraints.
Definition: MRMFreedom_ConstraintIter.h:75
NodeLocker * getNodeLocker(const int &)
Returns a pointer to the node locker identified by the argument.
Definition: ConstrContainer.cc:661
bool nodeAffectedByMPs(int) const
Returns true if the node is affected by one or more multi-freedom constraints.
Definition: ConstrContainer.cc:905
virtual bool addElementalLoad(ElementalLoad *, int loadPatternTag)
Appends an elemental load to a load pattern.
Definition: ConstrContainer.cc:311
std::string getLoadPatternsNames(void) const
Loop over all the load patterns that are currently added to the domain getting their names...
Definition: ConstrContainer.cc:812
virtual int getNumLoadPatterns(void) const
Returns the number of load patterns.
Definition: ConstrContainer.cc:704
virtual bool removeNodeLocker(int spcpTag, int &numSPs)
Removes the node locker whose identifier is being passed as parameter.
Definition: ConstrContainer.cc:439
Single freedom constraint.
Definition: SFreedom_Constraint.h:84
virtual SFreedom_ConstraintIter & getSPs()
Return an iterator to the single freedom constraints.
Definition: ConstrContainer.cc:535
std::set< int > getTagsNodesffectedBySPs(int) const
Returns the tags of the nodes that are which theDOF constrained by one or more single freedom constra...
Definition: ConstrContainer.cc:889
Definition: MapCasosActivos.h:39
std::deque< int > getTagsLPs(void) const
Loop over all the load patterns that are currently added to the domain getting their tag...
Definition: ConstrContainer.cc:802
int sendData(CommParameters &cp)
Send object members through the channel being passed as parameter.
Definition: ConstrContainer.cc:1145
virtual void applyLoad(double pseudoTime)
Apply loads from active node lockers.
Definition: ConstrContainer.cc:712
Definition: SingleDomMRMFreedom_Iter.h:48
int sendNLockersTags(const int &, const int &, CommParameters &cp)
Send the node lockers tags through the channel being passed as parameter.
Definition: ConstrContainer.cc:1093
virtual bool removeMFreedom_Constraint(int tag)
Removes the multi-freedom constraint whose identifier is being passed as parameter.
Definition: ConstrContainer.cc:388
Base class for the element and constraint containers.
Definition: MeshComponentContainer.h:40
bool nodeAffectedBySPs(int) const
Returns true if the node is affected by one or more single freedom constraints.
Definition: ConstrContainer.cc:855
std::deque< int > getTagsMPsNode(int, int) const
Search on the container all the multi-freedom constraints that affect the node and degree of freedom ...
Definition: ConstrContainer.cc:770
bool nodeAffectedByMRMPs(int) const
Returns true if the node is affected by one or more multi-row multi-freedom constraints.
Definition: ConstrContainer.cc:941
LoadPattern * getLoadPattern(const int &)
Returns a pointer to the load pattern identified by the argument.
Definition: ConstrContainer.cc:628
int recvNLockersTags(const int &, const int &, const CommParameters &cp)
Receives the node lockers tags through the channel being passed as parameter.
Definition: ConstrContainer.cc:1113
virtual ~ConstrContainer(void)
Destructor.
Definition: ConstrContainer.cc:152
Multiple retained nodes constraint.
Definition: MRMFreedom_Constraint.h:58
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags of class members.
Definition: ConstrContainer.cc:1019
bool isDOFAffectedByMPs(int, int) const
Returns true if the DOF is affected by one or more multi-freedom constraints.
Definition: ConstrContainer.cc:922
Single freedom constraints that make part of a load pattern.
Definition: NodeLocker.h:44
virtual int getNumMRMPs(void) const
Returns the number of multi-row multi-freedom constraints.
Definition: ConstrContainer.cc:700
virtual MRMFreedom_ConstraintIter & getMRMPs()
Return an iterator to the multi-row multi-freedom constraints.
Definition: ConstrContainer.cc:556
Iterator over single freedom constraints.
Definition: SFreedom_ConstraintIter.h:75
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
virtual int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: ConstrContainer.cc:1183
const std::map< int, LoadPattern * > & getLoadPatterns(void) const
Returns the active load patterns container.
Definition: ConstrContainer.cc:572
Communication parameters between processes.
Definition: CommParameters.h:65
virtual int getNumMPs(void) const
Returns the number of multi-freedom constraints.
Definition: ConstrContainer.cc:696
Multi-freedom constraint.
Definition: MFreedom_Constraint.h:110
Definition: SingleDomMFreedom_Iter.h:72
bool isDOFAffectedByConstraints(int, int) const
Returns true if the DOF is affected by any constraint.
Definition: ConstrContainer.cc:985
Base class for loads over elements.
Definition: ElementalLoad.h:77
virtual bool removeNodalLoad(int tag, int loadPattern)
Removes a nodal load from a load pattern.
Definition: ConstrContainer.cc:496
virtual int getNumSPs(void) const
Returns the number of single freedom constraints.
Definition: ConstrContainer.cc:692
virtual MRMFreedom_Constraint * getMRMFreedom_Constraint(int tag)
Returns a pointer to the multi-row multi-freedom constraint identified by the argument.
Definition: ConstrContainer.cc:615
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
virtual bool removeLoadPattern(int loadTag, int &numSPs)
Removes the load pattern identified by the argument.
Definition: ConstrContainer.cc:412
std::deque< int > getTagsNLs(void) const
Loop over all the load patterns that are currently added to the domain getting their tag...
Definition: ConstrContainer.cc:842
virtual int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: ConstrContainer.cc:1168
Constraint (essential and natural boundary conditions) container.
Definition: ConstrContainer.h:62
virtual int getNumNodeLockers(void) const
Returns the number of node lockers.
Definition: ConstrContainer.cc:708
virtual MFreedom_ConstraintIter & getMPs()
Return an iterator to the multi-freedom constraints.
Definition: ConstrContainer.cc:549
virtual bool removeElementalLoad(int tag, int loadPattern)
Removes a load over elements from a load pattern.
Definition: ConstrContainer.cc:511
Load over a node.
Definition: NodalLoad.h:82
const std::map< int, NodeLocker * > & getNodeLockers(void) const
Returns the active node lockers container.
Definition: ConstrContainer.cc:576