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 primary) node. | |
virtual int & | getNodeRetained (void) |
Returns the tag of the retained (or primary) node. | |
virtual size_t | getNumRetainedNodes (void) const |
Returns the number of retained nodes. | |
std::vector< Node * > | getPointersToRetainedNodes (void) |
Returns a vector with the pointers to the retained nodes. | |
std::vector< const 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 const Vector & | getRetainedDOFsInitialDisplacement (void) const |
Return the initial displacements of the retained DOFs. | |
void | setDomain (Domain *) |
Sets the domain for the constraint. More... | |
virtual int | sendSelf (Communicator &) |
Sends object through the communicator argument. | |
virtual int | recvSelf (const Communicator &) |
Receives object through the communicator argument. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
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) const |
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... | |
virtual const Vector & | getConstrainedDOFsInitialDisplacement (void) const |
std::vector< int > | getIdxNodes (void) const |
Return the indices of the nodes (for VTK). | |
bool | isTimeVarying (void) const |
Returns true if the constraint varies with time. | |
void | setDomain (Domain *) |
Sets the domain for the constraint. More... | |
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. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
![]() | |
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). | |
![]() | |
ContinuaReprComponent (int classTag) | |
ContinuaReprComponent (int tag, int classTag) | |
virtual const bool | isDead (void) const |
Return true if the component is not active. | |
virtual const bool | isAlive (void) const |
Return true if the component is active. | |
virtual void | kill (void) |
Deactivates the component. | |
virtual void | alive (void) |
Activates the component. | |
![]() | |
~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. | |
const LoadPattern * | getCurrentLoadPattern (void) const |
Return the current load pattern. | |
LoadPattern * | getCurrentLoadPattern (void) |
Return the current load pattern. | |
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. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
![]() | |
CommandEntity (CommandEntity *owr=nullptr) | |
Default constructor. | |
CommandEntity * | Owner (void) |
Return a pointer to the object owner. | |
const CommandEntity * | Owner (void) const |
Return un puntero al objeto propietario de ESTE. | |
const StandardOutputWrapper & | getStandardOutputWrapper (void) const |
Return the regular output stream wrapper. | |
StandardOutputWrapper & | getStandardOutputWrapper (void) |
Return the regular output stream wrapper. | |
const std::string & | getLogFileName (void) const |
Returns log file name. | |
void | setLogFileName (const std::string &) |
Sets log file name. | |
const std::string & | getErrFileName (void) const |
Returns err file name. | |
void | setErrFileName (const std::string &) |
Sets error file name. | |
const std::string & | getOutputFileName (void) const |
Returns regular output file name. | |
void | setOutputFileName (const std::string &) |
Sets regular output file name. | |
boost::python::object | evalPy (boost::python::object dict, const std::string &) |
Return the Python object that results from evaluating the argument. | |
boost::python::object | execPy (boost::python::object dict, const std::string &) |
Return the Python objects that results from executing the code in the string argument. | |
boost::python::object | execFilePy (boost::python::object dict, const std::string &) |
Return the Python object that results from executing the code in the file. | |
![]() | |
EntityWithProperties (EntityWithProperties *owr=nullptr) | |
Default constructor. | |
void | clearPyProps (void) |
Clear python properties map. | |
bool | hasPyProp (const std::string &) |
Returns true if property exists. | |
boost::python::object | getPyProp (const std::string &str) |
Return the Python object with the name being passed as parameter. | |
void | setPyProp (std::string str, boost::python::object val) |
Sets/appends a value tho the Python object's dictionary. | |
void | copyPropsFrom (const EntityWithProperties &) |
Copy the properties from the argument. | |
boost::python::list | getPropNames (void) const |
Return the names of the object properties weightings. | |
const PythonDict & | getPropertiesDict (void) const |
Return a std::map container with the properties of the object. | |
![]() | |
EntityWithOwner (EntityWithOwner *owr=nullptr) | |
Default constructor. | |
EntityWithOwner (const EntityWithOwner &) | |
Copy constructor. | |
EntityWithOwner & | operator= (const EntityWithOwner &) |
Assignment operator. | |
virtual bool | operator== (const EntityWithOwner &) const |
Comparison operator. | |
virtual | ~EntityWithOwner (void) |
Virtual destructor. | |
virtual std::string | getClassName (void) const |
Returns demangled class name. | |
void | set_owner (EntityWithOwner *owr) |
Assigns the owner of the object. | |
EntityWithOwner * | Owner (void) |
const EntityWithOwner * | Owner (void) const |
![]() | |
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 (Communicator &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (Communicator &) |
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 | ~DistributedBase (void) |
Destructor. | |
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. | |
void | initializeUr0 (const Domain *) |
Compute the initial displacement at retained DOFs. | |
int | sendData (Communicator &comm) |
Sends data through the communicator argument. | |
int | recvData (const Communicator &comm) |
Receives data through the communicator argument. | |
![]() | |
void | set_constraint (const Matrix &c) |
Set the constraint matrix. | |
void | set_constrained_dofs (const ID &) |
Set the constrained degrees of freedom. More... | |
void | initializeUc0 (const Domain *) |
Compute the initial displacement at constrained DOFs. | |
int | sendData (Communicator &comm) |
Send data through the communicator argument. | |
int | recvData (const Communicator &comm) |
Receive data through the communicator argument. | |
![]() | |
int | sendData (Communicator &) |
Send members through the communicator argument. More... | |
int | recvData (const Communicator &) |
Receives members through the communicator argument. More... | |
![]() | |
int | sendData (Communicator &) |
Send members through the communicator argument. | |
int | recvData (const Communicator &) |
Receives members through the communicator argument. | |
![]() | |
DomainComponent (int tag, int classTag) | |
Constructor. More... | |
int | sendData (Communicator &) |
Send object members through the communicator argument. | |
int | recvData (const Communicator &) |
Receive object members through the communicator argument. | |
![]() | |
void | setTag (int newTag) |
Set tag. More... | |
bool | isEqual (const TaggedObject &) const |
Return true if both objects are equal. | |
![]() | |
template<class T > | |
void | string_to (T &, const std::string &) const |
![]() | |
bool | isEqual (const EntityWithProperties &) const |
Return true if both objects are equal. | |
![]() | |
virtual bool | isEqual (const EntityWithOwner &) const |
Return true if both objects are equal. | |
Protected Attributes | |
int | retainedNodeTag |
Tag of the retained node. | |
ID | retainDOF |
ID of retained DOF at retained node. | |
Vector | Ur0 |
initial displacement at retained node (same size as retainDOF) | |
![]() | |
Matrix | constraintMatrix |
Constraint matrix. | |
ID | constrDOF |
ID of constrained DOF at constrained node. | |
Vector | Uc0 |
initial displacement at constrained DOFs (same size as constrDOF) | |
![]() | |
int | constrNodeTag |
constrained node tag | |
bool | initialized |
a flag to avoid recomputing the intial value in setDomain if already initialized | |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, boost::python::object > | PythonDict |
![]() | |
static void | resetStandardOutput (void) |
Reset the standard output streams to its defaults buffers. | |
![]() | |
static int | getVerbosityLevel (void) |
Get the value of the verbosity level. | |
static void | setVerbosityLevel (const int &) |
Set the value of the verbosity level. | |
![]() | |
static CommandEntity * | entcmd_cast (boost::any &data) |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
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} = \left[ \begin{array}{cc} 2 & 1\\ 0 & 3 \end{array} \right] \)
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.
|
virtual |
Sets the domain for the constraint.
model | domain in which the constraint is created. |
Reimplemented from XC::Constraint.
Reimplemented in XC::MFreedom_Joint3D, XC::MFreedom_Joint, and XC::RigidBase.