IFEM  90A354
SplineFields1D.h
Go to the documentation of this file.
1 // $Id$
2 //==============================================================================
12 //==============================================================================
13 
14 #ifndef _SPLINE_FIELDS_1D_H
15 #define _SPLINE_FIELDS_1D_H
16 
17 #include "Fields.h"
18 
19 namespace Go {
20  class SplineCurve;
21 }
22 
23 
31 class SplineFields1D : public Fields
32 {
33 public:
39  SplineFields1D(const Go::SplineCurve* crv, const RealArray& v, int ncmp,
40  const char* name = nullptr);
41 
43  virtual ~SplineFields1D() {}
44 
45  // Methods to evaluate the field
46  //==============================
47 
51  virtual bool valueFE(const ItgPoint& x, Vector& vals) const;
52 
56  virtual bool gradFE(const ItgPoint& x, Matrix& grad) const;
57 
61  virtual bool hessianFE(const ItgPoint& x, Matrix3D& H) const;
62 
63 protected:
64  const Go::SplineCurve* curv;
65 
66 private:
67  unsigned char nsd;
68 };
69 
70 #endif
Base class for vector fields.
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition: ImmersedBoundaries.h:29
Base class for vector fields.
Definition: Fields.h:35
Class representing an integration point.
Definition: ItgPoint.h:25
Class for spline-based finite element vector fields in 1D.
Definition: SplineFields1D.h:32
const Go::SplineCurve * curv
Spline geometry description.
Definition: SplineFields1D.h:64
virtual bool hessianFE(const ItgPoint &x, Matrix3D &H) const
Computes the hessian for a given local coordinate.
Definition: SplineFields1D.C:109
SplineFields1D(const Go::SplineCurve *crv, const RealArray &v, int ncmp, const char *name=nullptr)
Construct directly from curve.
Definition: SplineFields1D.C:23
unsigned char nsd
Number of space dimensions.
Definition: SplineFields1D.h:67
virtual bool valueFE(const ItgPoint &x, Vector &vals) const
Computes the value for a given local coordinate.
Definition: SplineFields1D.C:33
virtual ~SplineFields1D()
Empty destructor.
Definition: SplineFields1D.h:43
virtual bool gradFE(const ItgPoint &x, Matrix &grad) const
Computes the gradient for a given local coordinate.
Definition: SplineFields1D.C:73
A vector class with some added algebraic operations.
Definition: matrix.h:64