IFEM 90A354
SplineField.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _SPLINE_FIELD_H
15#define _SPLINE_FIELD_H
16
17#include "MatVec.h"
18
19#include <vector>
20
21namespace Go {
22 class SplineSurface;
23 class SplineVolume;
24}
25class ItgPoint;
26
27
36{
37public:
48 static bool evalMapping(const Go::SplineSurface& surf,
49 int nsd,
50 const ItgPoint& x,
51 std::vector<int>& ip,
52 Matrix& Xnod,
53 Matrix& Jac,
54 Matrix& dNdX,
55 Matrix3D* d2NdX2 = nullptr,
56 Matrix3D* Hess = nullptr);
57
67 static bool evalBasis (const Go::SplineSurface& surf,
68 const ItgPoint& x,
69 std::vector<int>& ip,
70 const Matrix& Xnod,
71 const Matrix& Jac,
72 Matrix& dNdX,
73 Matrix3D* d2NdX2 = nullptr,
74 Matrix3D* Hess = nullptr);
75
85 static bool evalMapping(const Go::SplineVolume& vol,
86 const ItgPoint& x,
87 std::vector<int>& ip,
88 Matrix& Xnod,
89 Matrix& Jac,
90 Matrix& dNdX,
91 Matrix3D* d2NdX2 = nullptr,
92 Matrix3D* Hess = nullptr);
93
103 static bool evalBasis (const Go::SplineVolume& vol,
104 const ItgPoint& x,
105 std::vector<int>& ip,
106 const Matrix& Xnod,
107 const Matrix& Jac,
108 Matrix& dNdX,
109 Matrix3D* d2NdX2 = nullptr,
110 Matrix3D* Hess = nullptr);
111};
112
113#endif
Global algebraic operations on index 1-based matrices and vectors.
Class representing an integration point.
Definition ItgPoint.h:25
Utility class for spline-based finite element fields.
Definition SplineField.h:36
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.
Definition SplineField.C:26
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.
Definition SplineField.C:70