20 #ifndef __mast__kinematic_coupling_h__ 21 #define __mast__kinematic_coupling_h__ 32 #include "libmesh/node.h" 37 class KinematicCouplingConstraint;
38 class MeshCouplingBase;
63 const libMesh::Node& slave,
64 bool constrain_rotations);
72 (
const std::vector<std::pair<
const libMesh::Node*, std::set<const libMesh::Node*>>>& couplings,
73 bool constrain_rotations);
87 get_constraint_rows(std::vector<std::tuple<libMesh::dof_id_type, libMesh::DofConstraintRow, Real>>& constrs);
98 #endif // __mast__kinematic_coupling_h__
std::map< const libMesh::Node *, const MAST::KinematicCouplingConstraint * > _slave_node_constraints
virtual ~KinematicCoupling()
void add_dof_constraints_to_dof_map()
initializes the dof constraint rows in the DofMap object associated with the system.
void add_master_and_slave(const std::set< const libMesh::Node * > &master, const libMesh::Node &slave, bool constrain_rotations)
Constrain the slave node to the specified set of master nodes.
This provides a base class to couple degrees-of-freedom within a single system.
virtual void get_constraint_rows(std::vector< std::tuple< libMesh::dof_id_type, libMesh::DofConstraintRow, Real >> &constrs)
Provides the vector of constraints and right-hand-side value pairs to be added to the system...
This constrains the slave nodes to be kinematically constrained to the master node.
KinematicCoupling(MAST::SystemInitialization &sys_init)