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