xc
|
Trivial constraint handler. More...
#include <PlainHandler.h>
Public Member Functions | |
int | handle (const ID *nodesNumberedLast=0) |
Handle the constraints. More... | |
int | sendSelf (CommParameters &) |
Sends this object through the communicator (not implemented yet). | |
int | recvSelf (const CommParameters &) |
Receives this object through the communicator (not implemented yet). | |
![]() | |
virtual int | update (void) |
Update the state of the constraints. | |
virtual int | applyLoad (void) |
?? | |
virtual int | doneNumberingDOF (void) |
Numbering of degrees of freedom. | |
virtual void | clearAll (void) |
Reset the DOF_Group pointers to nullptr for all the nodes. More... | |
![]() | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (CommParameters &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (CommParameters &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
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. | |
Friends | |
class | ModelWrapper |
class | FEM_ObjectBroker |
Additional Inherited Members | |
![]() | |
const Domain * | getDomainPtr (void) const |
Return a const pointer to the domain object associated with the ConstraintHandler. | |
const AnalysisModel * | getAnalysisModelPtr (void) const |
Return a const pointer to the analysis model object associated with the ConstraintHandler. | |
const Integrator * | getIntegratorPtr (void) const |
Return a pointer to the Integrator object associated with the ConstraintHandler. | |
Domain * | getDomainPtr (void) |
Return a pointer to the Domain object associated with the ConstraintHandler. | |
AnalysisModel * | getAnalysisModelPtr (void) |
Returns a pointer to the AnalysisModel object associated with the ConstraintHandler. | |
Integrator * | getIntegratorPtr (void) |
Returns a pointer to the Integrator object associated with the ConstraintHandler. | |
int | sendData (CommParameters &) |
Send object members through the channel passed as parameter. | |
int | recvData (const CommParameters &) |
Receive object members through the channel passed as parameter. | |
ConstraintHandler (ModelWrapper *, int classTag) | |
Constructor. More... | |
Trivial constraint handler.
This class only deals with homogeneous single point constraints. To do this it creates regular FE_Element and DOF_Group objects and enforces the constraints by specifying that degrees-of-freedom which are constrained are not assigned an equation number. Pointers to the DOF_Group and FE_Element objects are kept in two arrays.
|
virtual |
Handle the constraints.
Determines the number of FE_Elements and DOF_Groups needed from the Domain (a one to one mapping between Elements and FE_Elements and Nodes and DOF_Groups) Creates two arrays of pointers to store the FE_elements and DOF_Groups, returning a warning message and a \(-2\) or \(-3\) if not enough memory is available for these arrays. Then the object will iterate through the Nodes of the Domain, creating a DOF_Group for each node and setting the initial id for each dof to \(-2\) if no SFreedom_Constraint exists for the dof, or \(-1\) if a SFreedom_Constraint exists or \(-3\) if the node identifier is in {nodesToBeNumberedLast}. The object then iterates through the Elements of the Domain creating a FE_Element for each Element, if the Element is a Subdomain setFE_ElementPtr() is invoked on the Subdomain with the new FE_Element as the argument. If not enough memory is available for any DOF_Group or FE_element a warning message is printed and a \(-4\) or \(-5\) is returned. If any MFreedom_Constraint objects exist in the Domain a warning message is printed and \(-6\) is returned. If all is successful, the method returns the number of degrees-of-freedom associated with the DOF_Groups in {nodesToBeNumberedLast}.
Implements XC::ConstraintHandler.