IFEM  90A354
Classes | Functions
LR Namespace Reference

Utilities for LR-splines. More...

Classes

struct  RefineData
 A struct of data to control the mesh refinement. More...
 

Functions

int extendControlPoints (LRSpline *basis, const Vector &v, int nf, int ofs=0)
 Expands the basis coefficients of an LR-spline object. More...
 
void contractControlPoints (LRSpline *basis, Vector &v, int nf, int ofs=0)
 Contracts the basis coefficients of an LR-spline object. More...
 
void getGaussPointParameters (const LRSpline *spline, RealArray &uGP, int d, int nGauss, int iel, const double *xi)
 Extracts parameter values of the Gauss points in one direction. More...
 
void generateThreadGroups (ThreadGroups &threadGroups, const LRSpline *lr, const std::vector< LRSpline * > &addConstraints={})
 Generates thread groups for a LR-spline mesh. More...
 
void createMNPC (const LR::LRSpline *basis, IntMat &result)
 Createss the matrix of nodal point correspondance for a LR-spline. More...
 

Detailed Description

Utilities for LR-splines.

Function Documentation

◆ contractControlPoints()

void LR::contractControlPoints ( LRSpline *  basis,
Vector v,
int  nf,
int  ofs = 0 
)

Contracts the basis coefficients of an LR-spline object.

Parameters
basisThe spline object to contact
[out]vVector containing the extracted basis coefficients
[in]nfNumber of fields in the given vector
[in]ofsOffset in vector

Referenced by ASMu2Dmx::refine(), and ASMu3Dmx::refine().

◆ createMNPC()

void LR::createMNPC ( const LR::LRSpline *  basis,
IntMat result 
)

Createss the matrix of nodal point correspondance for a LR-spline.

Parameters
[in]basisLR-spline to get nodal point correspondance for
[out]resultMatrix of nodal point correspondance for the elements

Referenced by ASMu2D::generateFEMTopology(), ASMu3D::generateFEMTopology(), ASMu2D::getElmNodes(), and ASMu3D::getElmNodes().

◆ extendControlPoints()

int LR::extendControlPoints ( LRSpline *  basis,
const Vector v,
int  nf,
int  ofs = 0 
)

Expands the basis coefficients of an LR-spline object.

Parameters
basisThe spline object to extend
[in]vThe vector to append to the basis coefficients
[in]nfNumber of fields in the given vector
[in]ofsOffset in vector

Referenced by ASMu2Dmx::refine(), and ASMu3Dmx::refine().

◆ generateThreadGroups()

void LR::generateThreadGroups ( ThreadGroups threadGroups,
const LRSpline *  lr,
const std::vector< LRSpline * > &  addConstraints = {} 
)

Generates thread groups for a LR-spline mesh.

Parameters
[out]threadGroupsThe generated thread groups
[in]lrThe LR-spline to generate thread groups for
[in]addConstraintsIf given, additional constraint bases

Referenced by ASMu2D::generateThreadGroups(), ASMu2Dmx::generateThreadGroups(), ASMu3D::generateThreadGroups(), and ASMu3Dmx::generateThreadGroups().

◆ getGaussPointParameters()

void LR::getGaussPointParameters ( const LRSpline *  spline,
RealArray uGP,
int  d,
int  nGauss,
int  iel,
const double *  xi 
)

Extracts parameter values of the Gauss points in one direction.

Parameters
[in]splineThe LR-spline object to get parameter values for
[out]uGPParameter values in given direction for all points
[in]dParameter direction (0,1,2)
[in]nGaussNumber of Gauss points along a knot-span
[in]ielElement index
[in]xiDimensionless Gauss point coordinates [-1,1]

Referenced by ASMu2D::getGaussPointParameters().