IFEM  90A354
Static Public Member Functions | List of all members
LRSplineField Class Reference

Utility class for LR spline-based finite element fields. More...

#include <LRSplineField.h>

Static Public Member Functions

static bool evalMapping (const LR::LRSplineSurface &surf, const ItgPoint &x, const LR::Element *&elm, Matrix &Xnod, Matrix &Jac, Matrix &dNdX, bool is_rational, Matrix3D *d2NdX2=nullptr, Matrix3D *Hess=nullptr)
 Evaluate the jacobian (and hessian) of the geometry mapping. More...
 
static bool evalBasis (const LR::LRSplineSurface &surf, const ItgPoint &x, const LR::Element *&elm, const Matrix &Xnod, const Matrix &Jac, Matrix &dNdX, bool is_rational, Matrix3D *d2NdX2=nullptr, Matrix3D *Hess=nullptr)
 Evaluate a basis. More...
 
static bool evalMapping (const LR::LRSplineVolume &vol, const ItgPoint &x, const LR::Element *&elm, Matrix &Xnod, Matrix &Jac, Matrix &dNdX, Matrix3D *d2NdX2=nullptr, Matrix3D *Hess=nullptr)
 Evaluate the jacobian (and hessian) of the geometry mapping. More...
 
static bool evalBasis (const LR::LRSplineVolume &vol, const ItgPoint &x, const LR::Element *&elm, const Matrix &Xnod, const Matrix &Jac, Matrix &dNdX, Matrix3D *d2NdX2=nullptr, Matrix3D *Hess=nullptr)
 Evaluate a basis. More...
 

Detailed Description

Utility class for LR spline-based finite element fields.

This class implements the method to extract the geometry mapping and evaluate a basis.

Member Function Documentation

◆ evalBasis() [1/2]

bool LRSplineField::evalBasis ( const LR::LRSplineSurface &  surf,
const ItgPoint x,
const LR::Element *&  elm,
const Matrix Xnod,
const Matrix Jac,
Matrix dNdX,
bool  is_rational,
Matrix3D d2NdX2 = nullptr,
Matrix3D Hess = nullptr 
)
static

Evaluate a basis.

Parameters
surfSurface to evaluate
xPoint to evaluate in
elmElement info for point
XnodGeometry coefficients in point
JacJacobian of geometry mapping in point
dNdXDerivatives of basis functions in point
is_rationalTrue if surface is rational
d2NdX2Second derivatives of basis functions in point
HessHessian of geometry mapping in point

References ASMu2D::computeBasisNurbs(), SplineUtils::extractBasis(), utl::Hessian(), utl::matrix< T >::multiply(), ItgPoint::u, and ItgPoint::v.

Referenced by LRSplineFields2D::gradFE(), LRSplineFields2Dmx::gradFE(), LRSplineFields3D::gradFE(), LRSplineFields3Dmx::gradFE(), LRSplineField2D::gradFE(), LRSplineField3D::gradFE(), LRSplineField2D::hessianFE(), LRSplineField3D::hessianFE(), LRSplineFields2D::hessianFE(), LRSplineFields2Dmx::hessianFE(), LRSplineFields3D::hessianFE(), and LRSplineFields3Dmx::hessianFE().

◆ evalBasis() [2/2]

bool LRSplineField::evalBasis ( const LR::LRSplineVolume &  vol,
const ItgPoint x,
const LR::Element *&  elm,
const Matrix Xnod,
const Matrix Jac,
Matrix dNdX,
Matrix3D d2NdX2 = nullptr,
Matrix3D Hess = nullptr 
)
static

Evaluate a basis.

Parameters
volVolume to evaluate
xPoint to evaluate in
elmElement info for point
XnodGeometry coefficients in point
JacJacobian of geometry mapping in point
dNdXDerivatives of basis functions in point
d2NdX2Second derivatives of basis functions in point
HessHessian of geometry mapping in point

References SplineUtils::extractBasis(), utl::Hessian(), utl::matrix< T >::multiply(), ItgPoint::u, ItgPoint::v, and ItgPoint::w.

◆ evalMapping() [1/2]

bool LRSplineField::evalMapping ( const LR::LRSplineSurface &  surf,
const ItgPoint x,
const LR::Element *&  elm,
Matrix Xnod,
Matrix Jac,
Matrix dNdX,
bool  is_rational,
Matrix3D d2NdX2 = nullptr,
Matrix3D Hess = nullptr 
)
static

Evaluate the jacobian (and hessian) of the geometry mapping.

Parameters
surfSurface to evaluate
xPoint to evaluate in
elmElement info for point
XnodGeometry coefficients in point
JacJacobian of geometry mapping in point
dNdXDerivatives of basis functions in point
is_rationalTrue if surface is rational
d2NdX2Second derivatives of basis functions in point
HessHessian of geometry mapping in point

References ASMu2D::computeBasisNurbs(), SplineUtils::extractBasis(), ASMu2D::getCoordinates(), utl::Hessian(), utl::Jacobian(), ItgPoint::u, and ItgPoint::v.

Referenced by LRSplineFields2D::gradFE(), LRSplineFields2Dmx::gradFE(), LRSplineFields3D::gradFE(), LRSplineFields3Dmx::gradFE(), LRSplineField2D::gradFE(), LRSplineField3D::gradFE(), LRSplineField2D::hessianFE(), LRSplineField3D::hessianFE(), LRSplineFields2D::hessianFE(), LRSplineFields2Dmx::hessianFE(), LRSplineFields3D::hessianFE(), and LRSplineFields3Dmx::hessianFE().

◆ evalMapping() [2/2]

bool LRSplineField::evalMapping ( const LR::LRSplineVolume &  vol,
const ItgPoint x,
const LR::Element *&  elm,
Matrix Xnod,
Matrix Jac,
Matrix dNdX,
Matrix3D d2NdX2 = nullptr,
Matrix3D Hess = nullptr 
)
static

Evaluate the jacobian (and hessian) of the geometry mapping.

Parameters
volVolume to evaluate
xPoint to evaluate in
elmElement info for point
XnodGeometry coefficients in point
JacJacobian of geometry mapping in point
dNdXDerivatives of basis functions in point
d2NdX2Second derivatives of basis functions in point
HessHessian of geometry mapping in point

References SplineUtils::extractBasis(), utl::Hessian(), utl::Jacobian(), utl::matrix< T >::resize(), ItgPoint::u, ItgPoint::v, and ItgPoint::w.


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