30 #ifndef ConstrContainer_h    31 #define ConstrContainer_h    33 #include "domain/mesh/MeshComponentContainer.h"    34 #include "MapActiveLoadPatterns.h"    40 class SFreedom_Constraint;
    41 class MFreedom_Constraint;
    42 class MRMFreedom_Constraint;
    47 class SFreedom_ConstraintIter;
    48 class MFreedom_ConstraintIter;
    49 class MRMFreedom_ConstraintIter;
    50 class LoadPatternIter;
    53 class SingleDomSFreedom_Iter;
    54 class SingleDomMFreedom_Iter;
    55 class SingleDomMRMFreedom_Iter;
    56 class SingleDomAllSFreedom_Iter;
    57 class FEM_ObjectBroker;
    59 class TaggedObjectStorage;
    67     TaggedObjectStorage *theSPs;
    68     TaggedObjectStorage *theMPs;
    69     TaggedObjectStorage *theMRMPs;
    78     void alloc_containers(
void);
    79     void alloc_iters(
void);
    80     bool check_containers(
void) 
const;
   151     virtual void applyLoad(
double pseudoTime);
   185     boost::python::dict 
getPyDict(
void) 
const;
   186     void setPyDict(
const boost::python::dict &);
   188     virtual void Print(std::ostream &s, 
int flag =0) 
const;
   189     friend std::ostream &operator<<(std::ostream &, 
const ConstrContainer &);
 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:596
virtual int calculateNodalReactions(bool inclInertia, const double &)
Reactions due to constraints. 
Definition: ConstrContainer.cc:1097
virtual int recvSelf(const Communicator &)
Receives object through the communicator argument. 
Definition: ConstrContainer.cc:1348
virtual void setLoadConstant(void)
Set as constant all the active load patterns (used in pushover analysis). 
Definition: ConstrContainer.cc:1090
void setPyDict(const boost::python::dict &)
Set the values of the object members from a Python dictionary. 
Definition: ConstrContainer.cc:1300
Iterator over multi-freedom constraints. 
Definition: MFreedom_ConstraintIter.h:76
boost::python::dict getPyDict(void) const
Return a Python dictionary with the object members values. 
Definition: ConstrContainer.cc:1276
int removeNLs(void)
Removes all node lockers. 
Definition: ConstrContainer.cc:487
bool nodeAffectedByConstraints(int) const
Returns true if the node is affected by any constraint. 
Definition: ConstrContainer.cc:1068
Communication parameters between processes. 
Definition: Communicator.h:66
virtual MFreedom_Constraint * getMFreedom_Constraint(int tag)
Returns a pointer to the multi-freedom constraint identified by the argument. 
Definition: ConstrContainer.cc:618
virtual SFreedom_ConstraintIter & getDomainAndLoadPatternSPs()
All (domain and load cases) single freedom constraints iterator. 
Definition: ConstrContainer.cc:549
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:353
virtual bool addMRMFreedom_Constraint(MRMFreedom_Constraint *)
Appends a multi-retained nodes constraint. 
Definition: ConstrContainer.cc:200
int recvNLockersTags(const int &, const int &, const Communicator &comm)
Receives the node lockers tags through the communicator argument. 
Definition: ConstrContainer.cc:1238
virtual bool removeMRMFreedom_Constraint(int tag)
Removes the multi-row multi-freedom constraint identified by the argument. 
Definition: ConstrContainer.cc:408
int sendLPatternsTags(const int &, const int &, Communicator &)
Send the active load patterns tags through the communicator argument. 
Definition: ConstrContainer.cc:1120
bool isDOFAffectedByMRMPs(int, int) const
Returns true if the DOF is affected by one or more multi-row multi-freedom constraints. 
Definition: ConstrContainer.cc:1052
virtual bool addSFreedom_Constraint(SFreedom_Constraint *)
Appends a single freedom constraint. 
Definition: ConstrContainer.cc:157
void setTagsNLs(const ID &)
Sets the tags of the node lockers. 
Definition: ConstrContainer.cc:1215
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:881
int sendData(Communicator &comm)
Send object members through the communicator argument. 
Definition: ConstrContainer.cc:1253
ConstrContainer(Domain *owr)
Constructor. 
Definition: ConstrContainer.cc:121
Vector that stores the dbTags of the class members. 
Definition: DbTagData.h:44
std::deque< int > getTagsSPsNode(int, int) const
Search on the container all the single freedom constraints with the node and degree of freedom given...
Definition: ConstrContainer.cc:841
virtual void clearAll(void)
Deletes all the members of the container. 
Definition: ConstrContainer.cc:132
void setTagsLPs(const ID &)
Set the tags of the active load patterns. 
Definition: ConstrContainer.cc:1140
Vector of integers. 
Definition: ID.h:95
int sendNLockersTags(const int &, const int &, Communicator &comm)
Send the node lockers tags through the communicator argument. 
Definition: ConstrContainer.cc:1195
int removeLPs(void)
Removes all load patterns. 
Definition: ConstrContainer.cc:473
virtual bool addMFreedom_Constraint(MFreedom_Constraint *)
Appends a multiple freedom constraint. 
Definition: ConstrContainer.cc:180
Definition: SingleDomSFreedom_Iter.h:73
virtual bool existMFreedom_Constraint(int tag) const
Returns true if the constraint exists. 
Definition: ConstrContainer.cc:673
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 bool addLoadPattern(LoadPattern *)
Appends a load pattern. 
Definition: ConstrContainer.cc:220
int recvLPatternsTags(const int &, const int &, const Communicator &)
Receives the active load patterns tags through the communicator argument. 
Definition: ConstrContainer.cc:1180
virtual bool addNodalLoad(NodalLoad *, int loadPatternTag)
Appends a nodal load to a load pattern. 
Definition: ConstrContainer.cc:287
bool isDOFAffectedBySPs(int, int) const
Returns true if the DOF is affected by one or more single freedom constraints. 
Definition: ConstrContainer.cc:966
Definition: SingleDomAllSFreedom_Iter.h:85
virtual bool addNodeLocker(NodeLocker *)
Appends a node locker. 
Definition: ConstrContainer.cc:247
Iterator over multiple retained nodal constraints. 
Definition: MRMFreedom_ConstraintIter.h:76
bool nodeAffectedByMPs(int) const
Returns true if the node is affected by one or more multi-freedom constraints. 
Definition: ConstrContainer.cc:999
virtual bool addElementalLoad(ElementalLoad *, int loadPatternTag)
Appends an elemental load to a load pattern. 
Definition: ConstrContainer.cc:319
std::string getLoadPatternsNames(void) const
Loop over all the load patterns that are currently added to the domain getting their names...
Definition: ConstrContainer.cc:906
virtual int getNumLoadPatterns(void) const
Returns the number of load patterns. 
Definition: ConstrContainer.cc:780
virtual int sendSelf(Communicator &)
Sends object through the communicator argument. 
Definition: ConstrContainer.cc:1332
virtual bool removeNodeLocker(int spcpTag, int &numSPs)
Removes the node locker whose identifier is being passed as parameter. 
Definition: ConstrContainer.cc:446
virtual bool isLoadPatternActive(const LoadPattern *) const
Return true if the load pattern is already added to the domain. 
Definition: ConstrContainer.cc:242
Single freedom constraint. 
Definition: SFreedom_Constraint.h:85
virtual SFreedom_ConstraintIter & getSPs()
Return an iterator to the single freedom constraints. 
Definition: ConstrContainer.cc:542
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:983
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:896
virtual void applyLoad(double pseudoTime)
Apply loads from active node lockers. 
Definition: ConstrContainer.cc:805
int recvData(const Communicator &comm)
Receives object members through the communicator argument. 
Definition: ConstrContainer.cc:1265
Definition: SingleDomMRMFreedom_Iter.h:49
virtual bool removeMFreedom_Constraint(int tag)
Removes the multi-freedom constraint whose identifier is being passed as parameter. 
Definition: ConstrContainer.cc:396
Base class for the element and constraint containers. 
Definition: MeshComponentContainer.h:41
bool nodeAffectedBySPs(int) const
Returns true if the node is affected by one or more single freedom constraints. 
Definition: ConstrContainer.cc:949
Definition: MapActiveLoadPatterns.h:40
virtual bool existSFreedom_Constraint(int tag) const
Returns true if the constraint exists. 
Definition: ConstrContainer.cc:663
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:864
bool nodeAffectedByMRMPs(int) const
Returns true if the node is affected by one or more multi-row multi-freedom constraints. 
Definition: ConstrContainer.cc:1035
LoadPattern * getLoadPattern(const int &)
Returns a pointer to the load pattern identified by the argument. 
Definition: ConstrContainer.cc:694
virtual ~ConstrContainer(void)
Destructor. 
Definition: ConstrContainer.cc:151
Multiple retained nodes constraint. 
Definition: MRMFreedom_Constraint.h:59
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags of class members. 
Definition: ConstrContainer.cc:1113
bool isDOFAffectedByMPs(int, int) const
Returns true if the DOF is affected by one or more multi-freedom constraints. 
Definition: ConstrContainer.cc:1016
Single freedom constraints that make part of a load pattern. 
Definition: NodeLocker.h:45
virtual int getNumMRMPs(void) const
Returns the number of multi-row multi-freedom constraints. 
Definition: ConstrContainer.cc:776
virtual MRMFreedom_ConstraintIter & getMRMPs()
Return an iterator to the multi-row multi-freedom constraints. 
Definition: ConstrContainer.cc:563
Iterator over single freedom constraints. 
Definition: SFreedom_ConstraintIter.h:76
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
const std::map< int, LoadPattern * > & getLoadPatterns(void) const
Returns the active load patterns container. 
Definition: ConstrContainer.cc:579
virtual int getNumMPs(void) const
Returns the number of multi-freedom constraints. 
Definition: ConstrContainer.cc:772
Multi-freedom constraint. 
Definition: MFreedom_Constraint.h:113
Definition: SingleDomMFreedom_Iter.h:73
bool isDOFAffectedByConstraints(int, int) const
Returns true if the DOF is affected by any constraint. 
Definition: ConstrContainer.cc:1079
Base class for loads over elements. 
Definition: ElementalLoad.h:79
virtual bool removeNodalLoad(int tag, int loadPattern)
Removes a nodal load from a load pattern. 
Definition: ConstrContainer.cc:503
virtual int getNumSPs(void) const
Returns the number of single freedom constraints. 
Definition: ConstrContainer.cc:768
virtual MRMFreedom_Constraint * getMRMFreedom_Constraint(int tag)
Returns a pointer to the multi-row multi-freedom constraint identified by the argument. 
Definition: ConstrContainer.cc:641
Domain (mesh and boundary conditions) of the finite element model. 
Definition: Domain.h:117
virtual bool removeLoadPattern(int loadTag, int &numSPs)
Removes the load pattern identified by the argument. 
Definition: ConstrContainer.cc:420
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:936
Constraint (essential and natural boundary conditions) container. 
Definition: ConstrContainer.h:64
NodeLocker * getNodeLocker(const int &, bool silent=false)
Returns a pointer to the node locker identified by the argument. 
Definition: ConstrContainer.cc:729
virtual int getNumNodeLockers(void) const
Returns the number of node lockers. 
Definition: ConstrContainer.cc:800
virtual void Print(std::ostream &s, int flag=0) const
Prints object information. 
Definition: ConstrContainer.cc:1363
virtual std::string getActiveLoadCaseDescription(void) const
Return the load case description from the active load patterns. 
Definition: ConstrContainer.cc:785
virtual MFreedom_ConstraintIter & getMPs()
Return an iterator to the multi-freedom constraints. 
Definition: ConstrContainer.cc:556
virtual bool removeElementalLoad(int tag, int loadPattern)
Removes a load over elements from a load pattern. 
Definition: ConstrContainer.cc:518
Load over a node. 
Definition: NodalLoad.h:83
virtual bool existMRMFreedom_Constraint(int tag) const
Returns true if the constraint exists. 
Definition: ConstrContainer.cc:683
const std::map< int, NodeLocker * > & getNodeLockers(void) const
Returns the active node lockers container. 
Definition: ConstrContainer.cc:583