Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
MAST::DoFCouplingBase Class Referenceabstract

Detailed Description

This provides a base class to couple degrees-of-freedom within a single system.

This makes use of libMesh::DofConstraintRow as provided in libMesh::DofMap. For the $ k^{th}$ dof , $ u_k $, the libMesh::DofConstraintRow is defined as a linear equation

\[ u_k + \sum_{i=0, i\neq k}^{n-1} a_{u_i} u_i = b_k, \]

where, $ n $ is the number of degrees-of-freedom in the system. Note that a DofConstraintRow only requires non-zero $ a_{u_i} $ to be specified in the constraint.

Definition at line 46 of file dof_coupling_base.h.

#include <dof_coupling_base.h>

Inheritance diagram for MAST::DoFCouplingBase:
Collaboration diagram for MAST::DoFCouplingBase:

Public Member Functions

 DoFCouplingBase (MAST::SystemInitialization &sys_init)
virtual ~DoFCouplingBase ()
virtual void get_constraint_rows (std::vector< std::tuple< libMesh::dof_id_type, libMesh::DofConstraintRow, Real >> &constrs)=0
 Provides the vector of constraints and right-hand-side value pairs to be added to the system. More...

Protected Attributes


Constructor & Destructor Documentation

◆ DoFCouplingBase()

MAST::DoFCouplingBase::DoFCouplingBase ( MAST::SystemInitialization sys_init)

Definition at line 24 of file dof_coupling_base.cpp.

◆ ~DoFCouplingBase()

MAST::DoFCouplingBase::~DoFCouplingBase ( )

Definition at line 31 of file dof_coupling_base.cpp.

Member Function Documentation

◆ get_constraint_rows()

virtual void MAST::DoFCouplingBase::get_constraint_rows ( std::vector< std::tuple< libMesh::dof_id_type, libMesh::DofConstraintRow, Real >> &  constrs)
pure virtual

Provides the vector of constraints and right-hand-side value pairs to be added to the system.

Implemented in MAST::KinematicCoupling.

Member Data Documentation

◆ _system_init

MAST::SystemInitialization& MAST::DoFCouplingBase::_system_init

Definition at line 63 of file dof_coupling_base.h.

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