IFEM 90A354
SplineFields3Dmx.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _SPLINE_FIELDS_3D_MX_H
15#define _SPLINE_FIELDS_3D_MX_H
16
17#include "Fields.h"
18#include <set>
19
20class ASMs3Dmx;
21
22namespace Go {
23 class SplineVolume;
24}
25
26
35{
36public:
42 SplineFields3Dmx(const ASMs3Dmx* patch, const RealArray& v,
43 char basis = 12, const char* name = nullptr);
45 virtual ~SplineFields3Dmx() {}
46
47 // Methods to evaluate the field
48 //==============================
49
53 bool valueNode(size_t node, Vector& vals) const;
54
58 virtual bool valueCoor(const Vec4& x, Vector& vals) const;
59
63 bool valueFE(const ItgPoint& x, Vector& vals) const;
64
68 bool gradFE(const ItgPoint& x, Matrix& grad) const;
69
73 virtual bool hessianFE(const ItgPoint& x, Matrix3D& H) const;
74
75protected:
76 const ASMs3Dmx* svol;
77 std::set<int> bases;
78};
79
80#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 3D spline mixed FE models.
Definition ASMs3Dmx.h:33
Base class for vector fields.
Definition Fields.h:35
Class representing an integration point.
Definition ItgPoint.h:25
Class for mixed spline-based finite element vector fields in 3D.
Definition SplineFields3Dmx.h:35
std::set< int > bases
Bases to use.
Definition SplineFields3Dmx.h:77
bool valueFE(const ItgPoint &x, Vector &vals) const
Computes the value at a given local coordinate.
Definition SplineFields3Dmx.C:77
bool valueNode(size_t node, Vector &vals) const
Computes the value in a given node/control point.
Definition SplineFields3Dmx.C:53
bool gradFE(const ItgPoint &x, Matrix &grad) const
Computes the gradient for a given local coordinate.
Definition SplineFields3Dmx.C:111
virtual bool hessianFE(const ItgPoint &x, Matrix3D &H) const
Computes the hessian for a given local coordinate.
Definition SplineFields3Dmx.C:147
const ASMs3Dmx * svol
Patch description.
Definition SplineFields3Dmx.h:76
virtual ~SplineFields3Dmx()
Empty destructor.
Definition SplineFields3Dmx.h:45
virtual bool valueCoor(const Vec4 &x, Vector &vals) const
Computes the value at a given global coordinate.
Definition SplineFields3Dmx.C:59
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