IFEM 90A354
SplineFields2D.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _SPLINE_FIELDS_2D_H
15#define _SPLINE_FIELDS_2D_H
16
17#include "Fields.h"
18
19class ASMs2D;
20
21namespace Go {
22 class SplineSurface;
23}
24
25
33class SplineFields2D : public Fields
34{
35public:
42 SplineFields2D(const ASMs2D* patch, const RealArray& v,
43 char basis = 1, int nf = 0, const char* name = nullptr);
44
50 SplineFields2D(const Go::SplineSurface* srf, const RealArray& v, int ncmp,
51 const char* name = nullptr);
52
54 virtual ~SplineFields2D() {}
55
56 // Methods to evaluate the field
57 //==============================
58
62 virtual bool valueNode(size_t node, Vector& vals) const;
63
67 virtual bool valueFE(const ItgPoint& x, Vector& vals) const;
68
72 virtual bool valueCoor(const Vec4& x, Vector& vals) const;
73
77 virtual bool gradFE(const ItgPoint& x, Matrix& grad) const;
78
82 virtual bool hessianFE(const ItgPoint& x, Matrix3D& H) const;
83
84protected:
85 const Go::SplineSurface* basis;
86 const Go::SplineSurface* surf;
87
88private:
89 unsigned char nsd;
90};
91
92#endif
Base class for vector fields.
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition ImmersedBoundaries.h:32
Driver for assembly of structured 2D spline FE models.
Definition ASMs2D.h:39
Base class for vector fields.
Definition Fields.h:35
unsigned char nf
Number of field components.
Definition Fields.h:101
Class representing an integration point.
Definition ItgPoint.h:25
Class for spline-based finite element vector fields in 2D.
Definition SplineFields2D.h:34
const Go::SplineSurface * surf
Spline geometry description.
Definition SplineFields2D.h:86
virtual bool valueCoor(const Vec4 &x, Vector &vals) const
Computes the value at a given global coordinate.
Definition SplineFields2D.C:108
virtual ~SplineFields2D()
Empty destructor.
Definition SplineFields2D.h:54
virtual bool hessianFE(const ItgPoint &x, Matrix3D &H) const
Computes the hessian for a given local coordinate.
Definition SplineFields2D.C:144
unsigned char nsd
Number of space dimensions.
Definition SplineFields2D.h:89
virtual bool gradFE(const ItgPoint &x, Matrix &grad) const
Computes the gradient for a given local coordinate.
Definition SplineFields2D.C:123
const Go::SplineSurface * basis
Spline basis description.
Definition SplineFields2D.h:85
virtual bool valueFE(const ItgPoint &x, Vector &vals) const
Computes the value at a given local coordinate.
Definition SplineFields2D.C:85
virtual bool valueNode(size_t node, Vector &vals) const
Computes the value in a given node/control point.
Definition SplineFields2D.C:75
Simple class for representing a point in 3D space and time.
Definition Vec3.h:209
A vector class with some added algebraic operations.
Definition matrix.h:64