gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
polynomialBasis.h
Go to the documentation of this file.
1 // Gmsh - Copyright (C) 1997-2022 C. Geuzaine, J.-F. Remacle
2 //
3 // See the LICENSE.txt file in the Gmsh root directory for license information.
4 // Please report all issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
5 
6 #ifndef POLYNOMIAL_BASIS_H
7 #define POLYNOMIAL_BASIS_H
8 
9 #include <math.h>
10 #include <iostream>
11 #include <map>
12 #include <vector>
13 #include "fullMatrix.h"
14 #include "nodalBasis.h"
15 
16 class polynomialBasis : public nodalBasis {
17 public:
18  // for now the only implemented polynomial basis are nodal poly basis, we use
19  // the type of the corresponding gmsh element as type
22 
24  polynomialBasis(int tag);
26 
27  virtual inline int getNumShapeFunctions() const
28  {
29  return coefficients.size1();
30  }
31 
32  virtual void f(double u, double v, double w, double *sf) const;
33  virtual void f(const fullMatrix<double> &coord, fullMatrix<double> &sf) const;
34  virtual void f(double u, double v, double w, int i, double *sf) const;
35  virtual void df(const fullMatrix<double> &coord,
36  fullMatrix<double> &dfm) const;
37  virtual void df(double u, double v, double w, double grads[][3]) const;
38  virtual void df(double u, double v, double w, int i, double grad[3]) const;
39  virtual void ddf(double u, double v, double w, double hess[][3][3]) const;
40  virtual void dddf(double u, double v, double w,
41  double third[][3][3][3]) const;
42 
43  void evaluateMonomials(double u, double v, double w, double p[]) const;
44 };
45 
46 #endif
polynomialBasis::monomials
fullMatrix< double > monomials
Definition: polynomialBasis.h:20
polynomialBasis::df
virtual void df(const fullMatrix< double > &coord, fullMatrix< double > &dfm) const
Definition: polynomialBasis.cpp:167
nodalBasis.h
polynomialBasis::polynomialBasis
polynomialBasis()
Definition: polynomialBasis.h:23
fullMatrix< double >
polynomialBasis::ddf
virtual void ddf(double u, double v, double w, double hess[][3][3]) const
Definition: polynomialBasis.cpp:294
polynomialBasis::~polynomialBasis
~polynomialBasis()
Definition: polynomialBasis.cpp:107
polynomialBasis::evaluateMonomials
void evaluateMonomials(double u, double v, double w, double p[]) const
Definition: polynomialBasis.cpp:109
polynomialBasis::coefficients
fullMatrix< double > coefficients
Definition: polynomialBasis.h:21
polynomialBasis::dddf
virtual void dddf(double u, double v, double w, double third[][3][3][3]) const
Definition: polynomialBasis.cpp:378
nodalBasis
Definition: nodalBasis.h:12
fullMatrix::size1
int size1() const
Definition: fullMatrix.h:274
polynomialBasis::f
virtual void f(double u, double v, double w, double *sf) const
Definition: polynomialBasis.cpp:123
polynomialBasis
Definition: polynomialBasis.h:16
fullMatrix.h
polynomialBasis::getNumShapeFunctions
virtual int getNumShapeFunctions() const
Definition: polynomialBasis.h:27