IFEM  90A354
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NodalConstraintASMHelper Class Referenceabstract

Base class for helpers applying nodal constraints. More...

Inheritance diagram for NodalConstraintASMHelper:
Inheritance graph
[legend]
Collaboration diagram for NodalConstraintASMHelper:
Collaboration graph
[legend]

Public Member Functions

 NodalConstraintASMHelper (ASMbase *pch)
 The constructor initializes the patch pointer.
 
virtual ~NodalConstraintASMHelper ()
 Empty destructor.
 
virtual int getCorner (int vertex, int basis) const =0
 Returns the local node number of a given corner of the patch. More...
 
virtual void constrainEdge (int item, int comp, int basis, int idx)
 Constrains a given edge to a given node. More...
 
virtual void constrainFace (int item, int comp, int basis, int idx)
 Constrains a given face to a given node. More...
 
void constrainVertex (int item, int comp, int basis, int idx)
 Constrains a given vertex to a given node. More...
 
void constrainPatch (int comp, int basis, int idx)
 Constrains the whole patch to a given node. More...
 

Protected Member Functions

void constrainNode (int item, int comp, int idx)
 Constrains a given node to another node. More...
 
int getStartNode (int basis) const
 Returns the starting node for the given basis.
 

Protected Attributes

ASMbasebpch
 Pointer to the associated patch.
 

Detailed Description

Base class for helpers applying nodal constraints.

Member Function Documentation

◆ constrainEdge()

virtual void NodalConstraintASMHelper::constrainEdge ( int  item,
int  comp,
int  basis,
int  idx 
)
inlinevirtual

Constrains a given edge to a given node.

Parameters
[in]itemEdge index on patch
[in]compComponent to constrain
[in]basisBasis to constrain edge for
[in]idxGlobal node to constrain edge to

Reimplemented in NodalConstraintASMs3DHelper, and NodalConstraintASMs2DHelper.

◆ constrainFace()

virtual void NodalConstraintASMHelper::constrainFace ( int  item,
int  comp,
int  basis,
int  idx 
)
inlinevirtual

Constrains a given face to a given node.

Parameters
[in]itemFace index on patch
[in]compComponent to constrain
[in]basisBasis to constrain face for
[in]idxGlobal node to constrain face to

Reimplemented in NodalConstraintASMs3DHelper.

◆ constrainNode()

void NodalConstraintASMHelper::constrainNode ( int  item,
int  comp,
int  idx 
)
inlineprotected

Constrains a given node to another node.

Parameters
[in]itemLocal index of node to constrain
[in]compComponent to constrain
[in]idxGlobal index of the node to constrain to

References ASMbase::add2PC(), bpch, and ASMbase::getNodeID().

Referenced by NodalConstraintASMs2DHelper::constrainEdge(), NodalConstraintASMs3DHelper::constrainEdge(), NodalConstraintASMs3DHelper::constrainFace(), constrainPatch(), and constrainVertex().

◆ constrainPatch()

void NodalConstraintASMHelper::constrainPatch ( int  comp,
int  basis,
int  idx 
)
inline

Constrains the whole patch to a given node.

Parameters
[in]compComponent to constrain
[in]basisBasis to constrain patch for
[in]idxGlobal node to constrain patch to

References bpch, constrainNode(), ASMbase::getNoNodes(), and getStartNode().

Referenced by SIMNodalConstraint< Dim >::applyConstraint().

◆ constrainVertex()

void NodalConstraintASMHelper::constrainVertex ( int  item,
int  comp,
int  basis,
int  idx 
)
inline

Constrains a given vertex to a given node.

Parameters
[in]itemVertex index on patch
[in]compComponent to constrain
[in]basisBasis to constrain vertex for
[in]idxGlobal node to constrain edge to

References constrainNode(), and getCorner().

Referenced by SIMNodalConstraint< Dim >::applyConstraint().

◆ getCorner()

virtual int NodalConstraintASMHelper::getCorner ( int  vertex,
int  basis 
) const
pure virtual

Returns the local node number of a given corner of the patch.

Parameters
[in]vertexVertex index to return the node number for
[in]basisBasis for vertex

Implemented in NodalConstraintASMs3DHelper, NodalConstraintASMs2DHelper, and NodalConstraintASMs1DHelper.

Referenced by constrainVertex().


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