IFEM 90A354
SplineField2D.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _SPLINE_FIELD_2D_H
15#define _SPLINE_FIELD_2D_H
16
17#include "FieldBase.h"
18
19class ASMs2D;
20
21namespace Go {
22 class SplineSurface;
23}
24
25
34{
35public:
42 SplineField2D(const ASMs2D* patch, const RealArray& v,
43 char basis = 1, char cmp = 1, const char* name = nullptr);
48 SplineField2D(const Go::SplineSurface* srf, const RealArray& v,
49 const char* name = nullptr);
51 virtual ~SplineField2D() {}
52
53 // Methods to evaluate the field
54 //==============================
55
58 virtual double valueNode(size_t node) const;
59
62 virtual double valueFE(const ItgPoint& x) const;
63
66 virtual double valueCoor(const Vec4& x) const;
67
71 virtual bool valueGrid(RealArray& val, const int* npe) const;
72
76 virtual bool gradFE(const ItgPoint& x, Vector& grad) const;
77
81 virtual bool hessianFE(const ItgPoint& x, Matrix& H) const;
82
83protected:
84 const Go::SplineSurface* basis;
85 const Go::SplineSurface* surf;
86
87private:
88 unsigned char nsd;
89};
90
91#endif
Base class for scalar 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 scalar fields.
Definition FieldBase.h:30
Class representing an integration point.
Definition ItgPoint.h:25
Class for spline-based finite element scalar fields in 2D.
Definition SplineField2D.h:34
virtual ~SplineField2D()
Empty destructor.
Definition SplineField2D.h:51
const Go::SplineSurface * basis
Spline basis description.
Definition SplineField2D.h:84
virtual double valueCoor(const Vec4 &x) const
Computes the value at a given global coordinate.
Definition SplineField2D.C:97
virtual double valueNode(size_t node) const
Computes the value in a given node/control point.
Definition SplineField2D.C:70
const Go::SplineSurface * surf
Spline geometry description.
Definition SplineField2D.h:85
virtual bool gradFE(const ItgPoint &x, Vector &grad) const
Computes the gradient for a given local coordinate.
Definition SplineField2D.C:167
virtual bool hessianFE(const ItgPoint &x, Matrix &H) const
Computes the hessian for a given local coordinate.
Definition SplineField2D.C:189
unsigned char nsd
Number of space dimensions.
Definition SplineField2D.h:88
virtual bool valueGrid(RealArray &val, const int *npe) const
Computes the value at a grid of visualization points.
Definition SplineField2D.C:112
virtual double valueFE(const ItgPoint &x) const
Computes the value at a given local coordinate.
Definition SplineField2D.C:76
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