xc
|
Multi-freedom constraint. More...
#include <MFreedom_Constraint.h>
Public Member Functions | |
MFreedom_Constraint (int tag, int classTag) | |
! More... | |
MFreedom_Constraint (int tag) | |
Constructor. More... | |
MFreedom_Constraint (int tag, int nodeRetain, int nodeConstr, int classTag) | |
Constructor to be called from subclasses. More... | |
MFreedom_Constraint (int tag, int nodeRetain, int nodeConstr, const ID &constrainedDOF, const ID &retainedDOF) | |
Constructor to be called from subclasses. More... | |
MFreedom_Constraint (int tag, int nodeRetain, int nodeConstr, const ID &constrainedDOF, const ID &retainedDOF, int classTag) | |
Constructor to be called from subclasses. More... | |
MFreedom_Constraint (int tag, int nodeRetain, int nodeConstr, Matrix &constrnt, ID &constrainedDOF, ID &retainedDOF) | |
Constructor. More... | |
virtual const int & | getNodeRetained (void) const |
Returns the tag of the retained (or master) node. | |
virtual int & | getNodeRetained (void) |
Returns the tag of the retained (or master) node. | |
virtual size_t | getNumRetainedNodes (void) const |
Returns the number of retained nodes. | |
std::vector< XC::Node * > | getPointersToRetainedNodes (void) const |
Returns a vector with the pointers to the retained nodes. | |
bool | affectsNode (int) const |
Returns true ifafecta to the node cuyo tag being passed as parameter. | |
bool | affectsNodeAndDOF (int, int) const |
Returns true if the constraint affects the node and DOF arguments. | |
virtual const ID & | getRetainedDOFs (void) const |
Returns the identifiers of the retained degrees of freedom. | |
virtual int | applyConstraint (double pseudoTime) |
Applies the constraint at the pseudo-time being passed as parameter. More... | |
virtual int | sendSelf (CommParameters &) |
Sends object through the channel being passed as parameter. | |
virtual int | recvSelf (const CommParameters &) |
Receives object through the channel being passed as parameter. | |
int | getVtkCellType (void) const |
Interfaz con VTK. | |
int | addResistingForceToNodalReaction (bool inclInertia) |
Add to nodes the actions due to this constraint. More... | |
virtual void | Print (std::ostream &s, int flag=0) |
Printing. | |
![]() | |
MFreedom_ConstraintBase (int tag, int classTag) | |
Constructor. More... | |
MFreedom_ConstraintBase (int tag, int nodeConstr, int classTag) | |
Constructor to be called from subclasses. More... | |
MFreedom_ConstraintBase (int tag, int nodeConstr, const ID &, int classTag) | |
Constructor to be called from subclasses. More... | |
MFreedom_ConstraintBase (int tag, int nodeConstr, const Matrix &, const ID &, int classTag) | |
Constructor. More... | |
virtual const int & | getNodeConstrained (void) const |
Return the identifier of the constrained node. | |
virtual int & | getNodeConstrained (void) |
Return the identifier of the constrained node. | |
virtual const ID & | getConstrainedDOFs (void) const |
Returns the identifiers of the constrained degrees of fredom. | |
virtual const Matrix & | getConstraint (void) const |
Returns the constraint matrix. More... | |
bool | isTimeVarying (void) const |
Returns true if the constraint varies with time. | |
bool | affectsNode (int) const |
Returns true if the constraints affects the node identified by the tag being passed as parameter. More... | |
bool | affectsNodeAndDOF (int theNode, int theDOF) const |
Returns true if the constraint affects the node and DOF arguments. | |
int | addResistingForceToNodalReaction (bool inclInertia) |
Add reactions to nodes. | |
![]() | |
Constraint (int classTag) | |
Default constructor; receives the tag of the class as a paramenter. More... | |
Constraint (int spTag, int nodeTag, int classTag) | |
Constructor. More... | |
~Constraint (void) | |
Destructor. | |
void | setNodeTag (const int &nt) |
Sets the identifier of the node that will be constrained. More... | |
virtual int | getNodeTag (void) const |
Returns the identifier of the constrained node. | |
virtual const Node * | getNode (void) const |
Returns a pointer to the constrained node. | |
virtual int | getNodeIdx (void) const |
Returns an index for the node (used for VTK arrays). | |
void | setDomain (Domain *) |
Sets the domain for the constraint. More... | |
![]() | |
ContinuaReprComponent (int classTag) | |
ContinuaReprComponent (int tag, int classTag) | |
virtual const bool | isDead (void) const |
virtual const bool | isAlive (void) const |
virtual void | kill (void) |
virtual void | alive (void) |
![]() | |
~DomainComponent (void) | |
Destructor. | |
size_t | getIdx (void) const |
Returns the index of the object (to be used in VTK arrays). | |
virtual Domain * | getDomain (void) const |
Returns a pointer to the enclosing domain. More... | |
const Preprocessor * | getPreprocessor (void) const |
Returns (if possible) a pointer to the preprocessor. | |
Preprocessor * | getPreprocessor (void) |
Return (if possible) a pointer to the preprocessor. | |
void | set_index (const size_t &i) |
Set the index for the object (see numera in Set). More... | |
![]() | |
TaggedObject (int tag, CommandEntity *owr=nullptr) | |
Constructor. More... | |
virtual TaggedObject * | getCopy (void) const |
Virtual constructor. | |
void | assignTag (int newTag) |
Set tag (to be called from Python interface). | |
int | getTag (void) const |
Returns the tag associated with the object. | |
![]() | |
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. | |
Protected Member Functions | |
void | set_retained_dofs (const ID &) |
Sets the retained degrees of freedom. | |
void | set_constrained_retained_dofs (const ID &constrainedDOF, const ID &retainedDOF) |
Sets the retained and constrained degrees of freedom. | |
int | sendData (CommParameters &cp) |
Sends data through the channel being passed as parameter. | |
int | recvData (const CommParameters &cp) |
Receives data through the channel being passed as parameter. | |
![]() | |
void | set_constraint (const Matrix &c) |
Set the constraint matrix. | |
void | set_constrained_dofs (const ID &) |
Set the constrained degrees of freedom. More... | |
int | sendData (CommParameters &cp) |
Send data through the channel being passed as parameter. | |
int | recvData (const CommParameters &cp) |
Receive data through the channel being passed as parameter. | |
![]() | |
int | sendData (CommParameters &) |
Send members through the channel being passed as parameter. More... | |
int | recvData (const CommParameters &) |
Receives members through the channel being passed as parameter. More... | |
![]() | |
int | sendData (CommParameters &) |
Send members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives members through the channel being passed as parameter. | |
![]() | |
DomainComponent (int tag, int classTag) | |
Constructor. More... | |
int | sendData (CommParameters &) |
Send object members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receive object members through the channel being passed as parameter. | |
![]() | |
void | setTag (int newTag) |
Set tag. More... | |
Protected Attributes | |
int | retainedNodeTag |
Tag of the retained node. | |
ID | retainDOF |
ID of retained DOF at retained node. | |
![]() | |
Matrix | constraintMatrix |
Constraint matrix. | |
ID | constrDOF |
ID of constrained DOF at constrained node. | |
![]() | |
int | constrNodeTag |
constrained node tag | |
Multi-freedom constraint.
Objects of this class store the information for a multifreedom constraint. A multifreedom constraint imposes a relationship between the displacement for certain dof at two nodes in the model, typically called the retained
node and the constrained
node: \(U_c = C_{cr} U_r\)
The MFreedom_Constraint class assumes time invariant constraints, i.e. the constraint matrix does not change over time. All the methods are declared as pure virtual, which will allow subclasses for time varying constraints.
An MFreedom_Constraint is responsible for providing information on the relationship between the dof, this is in the form of a constraint Matrix, \(C_{cr}\), and two ID objects, retainedID
and {constrainedID} indicating the dof's at the nodes represented by \(C_{cr}\). For example, for the following constraint imposing a relationship between the displacements at node \(1\), the constrained node, with the displacements at node \(2\), the retained node in a problem where the x,y,z components are identified as the 0,1,2 degrees-of-freedom:
\(\) u_{1,x} = 2 u_{2,x} + u_{2,z} \(\) \(\) u_{1,y} = 3 u_{2,z} \(\)
the constraint matrix is: \(\) C_{cr} = [ {array}{cc} 2 & 1 0 & 3 {array} ] \(\)
constrainedID
= \([0\) \(1]\) and retainedID
\(= [0\) \(2]\).
XC::MFreedom_Constraint::MFreedom_Constraint | ( | int | tag, |
int | classTag | ||
) |
!
Constructor. //Arash
tag | constraint identifier. |
classTag | constraint class identifier. |
XC::MFreedom_Constraint::MFreedom_Constraint | ( | int | tag | ) |
Constructor.
// LCPT
tag | constraint identifier. |
XC::MFreedom_Constraint::MFreedom_Constraint | ( | int | tag, |
int | nodeRetain, | ||
int | nodeConstr, | ||
int | classTag | ||
) |
Constructor to be called from subclasses.
tag | multi-freedom constraint identifier. |
nodeRetain | identifier of the retained node. |
nodeConstr | identifier of the constrained node. |
classTag | constraint class identifier. |
XC::MFreedom_Constraint::MFreedom_Constraint | ( | int | tag, |
int | nodeRetain, | ||
int | nodeConstr, | ||
const ID & | constrainedDOF, | ||
const ID & | retainedDOF | ||
) |
Constructor to be called from subclasses.
tag | identifier for the multi-freedom constraint. |
nodeRetain | identifier of the retained node. |
nodeConstr | identifier of the constrained node. |
constrainedDOF | constrained degrees of freedom. |
retainedDOF | retained degrees of freedom. |
XC::MFreedom_Constraint::MFreedom_Constraint | ( | int | tag, |
int | nodeRetain, | ||
int | nodeConstr, | ||
const ID & | constrainedDOF, | ||
const ID & | retainedDOF, | ||
int | classTag | ||
) |
Constructor to be called from subclasses.
tag | identifier for the multi-freedom constraint. |
nodeRetain | identifier of the retained node. |
nodeConstr | identifier of the constrained node. |
constrainedDOF | constrained degrees of freedom. |
retainedDOF | retained degrees of freedom. |
classTag | identifief for the class. |
XC::MFreedom_Constraint::MFreedom_Constraint | ( | int | tag, |
int | nodeRetain, | ||
int | nodeConstr, | ||
Matrix & | constr, | ||
ID & | constrainedDOF, | ||
ID & | retainedDOF | ||
) |
Constructor.
tag | identifier for the multi-freedom constraint. |
nodeRetain | identifier of the retained node. |
nodeConstr | identifier of the constrained node. |
constr | constraint matrix. |
constrainedDOF | constrained degrees of freedom. |
retainedDOF | retained degrees of freedom. |
int XC::MFreedom_Constraint::addResistingForceToNodalReaction | ( | bool | inclInertia | ) |
Add to nodes the actions due to this constraint.
See "Calculation within MSC/Nastran of the forces transmitted by multifreedom constraints (MFC) and the forces generated in support constraints" by E, de la Fuente and J. San Millán (INTA), Spain.
|
virtual |
Applies the constraint at the pseudo-time being passed as parameter.
A method to invoked to inform the MFreedom_Constraint to determine \(C_{cr}\), for the time timeStamp
. { The base class will do nothing, as Matrix is assumed to be constant.}
Implements XC::Constraint.
Reimplemented in XC::MFreedom_Joint3D, and XC::MFreedom_Joint2D.