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

ASMbase * bpch
 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: