IFEM 90A354
BasisFunctionVals.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _BASIS_FUNCTION_VALS_H
15#define _BASIS_FUNCTION_VALS_H
16
17#include "MatVec.h"
18
19
31
32
34using BasisValuesPtrs = std::vector<const BasisFunctionVals*>;
35
36
45class BasisValues : public std::vector<BasisFunctionVals>
46{
47public:
49 explicit BasisValues(size_t size) : std::vector<BasisFunctionVals>(size)
50 {
51 pointers.reserve(this->size());
52 for (const BasisFunctionVals& val : *this)
53 pointers.push_back(&val);
54 }
55
59 {
60 this->clear();
61 }
62
64 void clear() noexcept
65 {
66 this->std::vector<BasisFunctionVals>::clear();
67 pointers.clear();
68 }
69
72 {
73 this->std::vector<BasisFunctionVals>::push_back(v);
74 pointers.push_back(&this->back());
75 }
76
79 {
80 this->std::vector<BasisFunctionVals>::push_back(v);
81 pointers.push_back(&this->back());
82 }
83
85 operator const BasisValuesPtrs& () const { return pointers; }
86
87private:
89};
90
91#endif
std::vector< const BasisFunctionVals * > BasisValuesPtrs
Convenience type alias.
Definition BasisFunctionVals.h:34
Global algebraic operations on index 1-based matrices and vectors.
Utility class holding a vector of basis function values.
Definition BasisFunctionVals.h:46
BasisValuesPtrs pointers
Vector of pointers to our values.
Definition BasisFunctionVals.h:88
void push_back(BasisFunctionVals &&v)
Push back for r-reference.
Definition BasisFunctionVals.h:78
~BasisValues()
Destructor.
Definition BasisFunctionVals.h:58
void clear() noexcept
Clears the container.
Definition BasisFunctionVals.h:64
void push_back(const BasisFunctionVals &v)
Push back for reference.
Definition BasisFunctionVals.h:71
BasisValues(size_t size)
Constructor resizing to a given size.
Definition BasisFunctionVals.h:49
A vector class with some added algebraic operations.
Definition matrix.h:64
Struct holding basis function values and derivatives.
Definition BasisFunctionVals.h:25
Matrix dNdu
Basis function derivatives.
Definition BasisFunctionVals.h:27
Vector N
Basis function values.
Definition BasisFunctionVals.h:26
Matrix4D d3Ndu3
Third order derivatives of basis functions.
Definition BasisFunctionVals.h:29
Matrix3D d2Ndu2
Second order derivatives of basis functions.
Definition BasisFunctionVals.h:28