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

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

#include <SplineField.h>

Static Public Member Functions

static bool evalMapping (const Go::SplineSurface &surf, int nsd, const ItgPoint &x, std::vector< int > &ip, 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 Go::SplineSurface &surf, const ItgPoint &x, std::vector< int > &ip, const Matrix &Xnod, const Matrix &Jac, Matrix &dNdX, Matrix3D *d2NdX2=nullptr, Matrix3D *Hess=nullptr)
 Evaluate a basis. More...
 
static bool evalMapping (const Go::SplineVolume &vol, const ItgPoint &x, std::vector< int > &ip, 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 Go::SplineVolume &vol, const ItgPoint &x, std::vector< int > &ip, const Matrix &Xnod, const Matrix &Jac, Matrix &dNdX, Matrix3D *d2NdX2=nullptr, Matrix3D *Hess=nullptr)
 Evaluate a basis. More...
 

Detailed Description

Utility class for 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 SplineField::evalBasis ( const Go::SplineSurface &  surf,
const ItgPoint x,
std::vector< int > &  ip,
const Matrix Xnod,
const Matrix Jac,
Matrix dNdX,
Matrix3D d2NdX2 = nullptr,
Matrix3D Hess = nullptr 
)
static

Evaluate a basis.

Parameters
surfSurface to evaluate for
xPoint to evaluate in
ipVector of basis function indices
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 utl::matrixBase< T >::clear(), SplineUtils::extractBasis(), utl::Hessian(), utl::matrix< T >::multiply(), ASMs2D::scatterInd(), ItgPoint::u, and ItgPoint::v.

Referenced by SplineFields2D::gradFE(), SplineFields2Dmx::gradFE(), SplineFields3D::gradFE(), SplineFields3Dmx::gradFE(), SplineField2D::gradFE(), SplineField3D::gradFE(), SplineField2D::hessianFE(), SplineField3D::hessianFE(), SplineFields2D::hessianFE(), SplineFields2Dmx::hessianFE(), SplineFields3D::hessianFE(), and SplineFields3Dmx::hessianFE().

◆ evalBasis() [2/2]

bool SplineField::evalBasis ( const Go::SplineVolume &  vol,
const ItgPoint x,
std::vector< int > &  ip,
const Matrix Xnod,
const Matrix Jac,
Matrix dNdX,
Matrix3D d2NdX2 = nullptr,
Matrix3D Hess = nullptr 
)
static

Evaluate a basis.

Parameters
volVolume to evaluate for
xPoint to evaluate in
ipVector of basis function indices
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 utl::matrixBase< T >::clear(), SplineUtils::extractBasis(), utl::Hessian(), utl::matrix< T >::multiply(), ASMs3D::scatterInd(), ItgPoint::u, ItgPoint::v, and ItgPoint::w.

◆ evalMapping() [1/2]

bool SplineField::evalMapping ( const Go::SplineSurface &  surf,
int  nsd,
const ItgPoint x,
std::vector< int > &  ip,
Matrix Xnod,
Matrix Jac,
Matrix dNdX,
Matrix3D d2NdX2 = nullptr,
Matrix3D Hess = nullptr 
)
static

Evaluate the Jacobian (and Hessian) of the geometry mapping.

Parameters
surfSurface to evaluate for
nsdNumber of spatial dimensions
xPoint to evaluate in
ipVector of basis function indices
XnodGeometry coefficients in point
JacJacobian of geometry mapping in point
dNdXBasis function derivatives in point
d2NdX2Second derivatives of basis functions in point
HessHessian of geometry mapping in point

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

Referenced by SplineFields2D::gradFE(), SplineFields2Dmx::gradFE(), SplineFields3D::gradFE(), SplineFields3Dmx::gradFE(), SplineField2D::gradFE(), SplineField3D::gradFE(), SplineField2D::hessianFE(), SplineField3D::hessianFE(), SplineFields2D::hessianFE(), SplineFields2Dmx::hessianFE(), SplineFields3D::hessianFE(), and SplineFields3Dmx::hessianFE().

◆ evalMapping() [2/2]

bool SplineField::evalMapping ( const Go::SplineVolume &  vol,
const ItgPoint x,
std::vector< int > &  ip,
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 for
xPoint to evaluate in
ipVector of basis function indices
XnodGeometry coefficients in point
JacJacobian of geometry mapping in point
dNdXBasis function derivatives in point
d2NdX2Second derivatives of basis functions in point
HessHessian of geometry mapping in point

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


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