xc
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members

Multi-freedom constraint. More...

#include <MFreedom_Constraint.h>

Inheritance diagram for XC::MFreedom_Constraint:
XC::MFreedom_ConstraintBase XC::Constraint XC::ContinuaReprComponent XC::DomainComponent XC::TaggedObject XC::MovableObject XC::DistributedBase XC::EqualDOF XC::MFreedom_Joint XC::RigidBase XC::RigidDiaphragm XC::MFreedom_Joint2D XC::MFreedom_Joint3D XC::RigidBeam XC::RigidRod

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 IDgetRetainedDOFs (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.
 
- Public Member Functions inherited from XC::MFreedom_ConstraintBase
 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 IDgetConstrainedDOFs (void) const
 Returns the identifiers of the constrained degrees of fredom.
 
virtual const MatrixgetConstraint (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.
 
- Public Member Functions inherited from XC::Constraint
 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 NodegetNode (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...
 
- Public Member Functions inherited from XC::ContinuaReprComponent
 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)
 
- Public Member Functions inherited from XC::DomainComponent
 ~DomainComponent (void)
 Destructor.
 
size_t getIdx (void) const
 Returns the index of the object (to be used in VTK arrays).
 
virtual DomaingetDomain (void) const
 Returns a pointer to the enclosing domain. More...
 
const PreprocessorgetPreprocessor (void) const
 Returns (if possible) a pointer to the preprocessor.
 
PreprocessorgetPreprocessor (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...
 
- Public Member Functions inherited from XC::TaggedObject
 TaggedObject (int tag, CommandEntity *owr=nullptr)
 Constructor. More...
 
virtual TaggedObjectgetCopy (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.
 
- Public Member Functions inherited from XC::MovableObject
 MovableObject (int classTag, int dbTag)
 Constructor. More...
 
 MovableObject (int classTag)
 Constructor. More...
 
 MovableObject (const MovableObject &)
 Copy constructor. Doesn't copy the dbTag.
 
MovableObjectoperator= (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 &param)
 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.
 
- Public Member Functions inherited from XC::DistributedBase
 DistributedBase (void)
 Constructor.
 
virtual DbTagDatagetDbTagData (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.
 
- Protected Member Functions inherited from XC::MFreedom_ConstraintBase
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.
 
- Protected Member Functions inherited from XC::Constraint
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...
 
- Protected Member Functions inherited from XC::ContinuaReprComponent
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.
 
- Protected Member Functions inherited from XC::DomainComponent
 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.
 
- Protected Member Functions inherited from XC::TaggedObject
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.
 
- Protected Attributes inherited from XC::MFreedom_ConstraintBase
Matrix constraintMatrix
 Constraint matrix.
 
ID constrDOF
 ID of constrained DOF at constrained node.
 
- Protected Attributes inherited from XC::Constraint
int constrNodeTag
 constrained node tag
 

Detailed Description

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]\).

Constructor & Destructor Documentation

§ MFreedom_Constraint() [1/6]

XC::MFreedom_Constraint::MFreedom_Constraint ( int  tag,
int  classTag 
)

!

Constructor. //Arash

Parameters
tagconstraint identifier.
classTagconstraint class identifier.

§ MFreedom_Constraint() [2/6]

XC::MFreedom_Constraint::MFreedom_Constraint ( int  tag)

Constructor.

// LCPT

Parameters
tagconstraint identifier.

§ MFreedom_Constraint() [3/6]

XC::MFreedom_Constraint::MFreedom_Constraint ( int  tag,
int  nodeRetain,
int  nodeConstr,
int  classTag 
)

Constructor to be called from subclasses.

Parameters
tagmulti-freedom constraint identifier.
nodeRetainidentifier of the retained node.
nodeConstridentifier of the constrained node.
classTagconstraint class identifier.

§ MFreedom_Constraint() [4/6]

XC::MFreedom_Constraint::MFreedom_Constraint ( int  tag,
int  nodeRetain,
int  nodeConstr,
const ID constrainedDOF,
const ID retainedDOF 
)

Constructor to be called from subclasses.

Parameters
tagidentifier for the multi-freedom constraint.
nodeRetainidentifier of the retained node.
nodeConstridentifier of the constrained node.
constrainedDOFconstrained degrees of freedom.
retainedDOFretained degrees of freedom.

§ MFreedom_Constraint() [5/6]

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.

Parameters
tagidentifier for the multi-freedom constraint.
nodeRetainidentifier of the retained node.
nodeConstridentifier of the constrained node.
constrainedDOFconstrained degrees of freedom.
retainedDOFretained degrees of freedom.
classTagidentifief for the class.

§ MFreedom_Constraint() [6/6]

XC::MFreedom_Constraint::MFreedom_Constraint ( int  tag,
int  nodeRetain,
int  nodeConstr,
Matrix constr,
ID constrainedDOF,
ID retainedDOF 
)

Constructor.

Parameters
tagidentifier for the multi-freedom constraint.
nodeRetainidentifier of the retained node.
nodeConstridentifier of the constrained node.
constrconstraint matrix.
constrainedDOFconstrained degrees of freedom.
retainedDOFretained degrees of freedom.

Member Function Documentation

§ addResistingForceToNodalReaction()

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.

§ applyConstraint()

int XC::MFreedom_Constraint::applyConstraint ( double  timeStamp)
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.


The documentation for this class was generated from the following files: