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: