MAST
|
This object stores the information about the coupling of nodes. More...
#include <kinematic_coupling_constraint.h>
Public Member Functions | |
KinematicCouplingConstraint (MAST::SystemInitialization &sys_init, const libMesh::Node &slave_node, const std::set< const libMesh::Node * > &master_nodes, bool constrain_rotations) | |
virtual | ~KinematicCouplingConstraint () |
unsigned int | n_constrain_nodes () const |
void | get_dof_constraint_row (std::vector< std::tuple< libMesh::dof_id_type, libMesh::DofConstraintRow, Real >> &constraints) const |
initializes the vector of libMesh::DofConstraintRow objects and rhs values for this node More... | |
Protected Attributes | |
MAST::SystemInitialization & | _sys_init |
const libMesh::Node * | _slave |
std::set< const libMesh::Node * > | _masters |
bool | _constrain_rotations |
This object stores the information about the coupling of nodes.
A slave node can be constrained to one or more nodes and the rotations of the slave can be constrained (set equal to) the rotation of the master node. In case more than one master nodes are specified, then the coefficients in the constraint equation are weighted based on inverse relationship with the geometric distance and partition-of-unity.
The constraints are defined such that the displacement of the slave nodes is identified as
where, is the rotation vector , and are the translation and location of the slave nodes, respectively, and likewise for the master node with subscript . Note, that the rotations of the slave node are not constrained to those of the master node. The cross product is written as
Therefore, the constraint for displacement along the x-axis is
for displacement along the y-axis,
and for displacement along the z-axis,
Definition at line 71 of file kinematic_coupling_constraint.h.
MAST::KinematicCouplingConstraint::KinematicCouplingConstraint | ( | MAST::SystemInitialization & | sys_init, |
const libMesh::Node & | slave_node, | ||
const std::set< const libMesh::Node * > & | master_nodes, | ||
bool | constrain_rotations | ||
) |
Definition at line 27 of file kinematic_coupling_constraint.cpp.
|
virtual |
Definition at line 39 of file kinematic_coupling_constraint.cpp.
void MAST::KinematicCouplingConstraint::get_dof_constraint_row | ( | std::vector< std::tuple< libMesh::dof_id_type, libMesh::DofConstraintRow, Real >> & | constraints | ) | const |
initializes the vector of libMesh::DofConstraintRow
objects and rhs values for this node
Definition at line 46 of file kinematic_coupling_constraint.cpp.
|
inline |
Definition at line 86 of file kinematic_coupling_constraint.h.
|
protected |
Definition at line 106 of file kinematic_coupling_constraint.h.
|
protected |
Definition at line 105 of file kinematic_coupling_constraint.h.
|
protected |
Definition at line 104 of file kinematic_coupling_constraint.h.
|
protected |
Definition at line 103 of file kinematic_coupling_constraint.h.