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 
21 namespace Go {
22  class SplineSurface;
23  class SplineVolume;
24 }
25 class ItgPoint;
26 
27 
36 {
37 public:
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