IFEM 90A354
LRSplineField3D.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _LRSPLINE_FIELD_3D_H
15#define _LRSPLINE_FIELD_3D_H
16
17#include "FieldBase.h"
18
19class ASMu3D;
20
21namespace LR {
22 class Element;
23 class LRSplineVolume;
24}
25
26
35{
36public:
44 LRSplineField3D(const ASMu3D* patch, const RealArray& v,
45 char basis = 1, char cmp = 1, const char* name = nullptr);
50 LRSplineField3D(const LR::LRSplineVolume* svol, const RealArray& v,
51 const char* name = nullptr);
53 virtual ~LRSplineField3D() {}
54
55 // Methods to evaluate the field
56 //==============================
57
60 virtual double valueNode(size_t node) const;
61
64 virtual double valueFE(const ItgPoint& x) const;
65
68 virtual double valueCoor(const Vec4& x) const;
69
73 virtual bool gradFE(const ItgPoint& x, Vector& grad) const;
74
78 virtual bool hessianFE(const ItgPoint& x, Matrix& H) const;
79
80protected:
81 const LR::LRSplineVolume* basis;
82 const LR::LRSplineVolume* vol;
83};
84
85#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 unstructured 3D spline FE models.
Definition ASMu3D.h:45
Base class for scalar fields.
Definition FieldBase.h:30
Class representing an integration point.
Definition ItgPoint.h:25
Class for LR spline-based finite element scalar fields in 3D.
Definition LRSplineField3D.h:35
virtual bool hessianFE(const ItgPoint &x, Matrix &H) const
Computes the hessian for a given local coordinate.
Definition LRSplineField3D.C:123
virtual ~LRSplineField3D()
Empty destructor.
Definition LRSplineField3D.h:53
virtual double valueFE(const ItgPoint &x) const
Computes the value at a given local coordinate.
Definition LRSplineField3D.C:67
virtual bool gradFE(const ItgPoint &x, Vector &grad) const
Computes the gradient for a given local coordinate.
Definition LRSplineField3D.C:98
virtual double valueNode(size_t node) const
Computes the value in a given node/control point.
Definition LRSplineField3D.C:61
virtual double valueCoor(const Vec4 &x) const
Computes the value at a given global coordinate.
Definition LRSplineField3D.C:86
const LR::LRSplineVolume * basis
Spline basis description.
Definition LRSplineField3D.h:81
const LR::LRSplineVolume * vol
Spline geometry description.
Definition LRSplineField3D.h:82
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
Utilities for LR-splines.
Definition AdaptiveSetup.h:24