gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
pointsGenerators.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 POINTSGENERATORS_H
7 #define POINTSGENERATORS_H
8 
9 #include "fullMatrix.h"
10 
11 class FuncSpaceData;
12 
13 // Functions to generate point distributions on the references elements, for all
14 // orders and functions generating exponents of Pascal monomials in the same
15 // order than Gmsh Points.
16 
17 // Points
18 
20 
22 
23 fullMatrix<double> gmshGeneratePointsTriangle(int order, bool serendip = false);
25  bool serendip = false);
26 
28  bool serendip = false);
30  bool serendip = false);
31 fullMatrix<double> gmshGeneratePointsPrism(int order, bool serendip = false);
32 
33 fullMatrix<double> gmshGeneratePointsPyramid(int order, bool serendip = false);
35  bool serendip = false);
36 
37 // Monomial exponents
38 
40 
41 fullMatrix<double> gmshGenerateMonomialsLine(int order, bool serendip = false);
42 
44  bool serendip = false);
46 gmshGenerateMonomialsQuadrangle(int order, bool forSerendipPoints = false);
48 
50  bool serendip = false);
52 gmshGenerateMonomialsHexahedron(int order, bool forSerendipPoints = false);
55  bool forSerendipPoints = false);
57 
58 // Generate monomials of pyramidal nodal space {X^i Y^j Z^k | i,j <= k, k <=
59 // 'order'},
61  bool forSerendipPoints = false);
63 // If 'serendip' == true,
64 // generate monomials of serendipity pyramid at order 'nk',
65 // else if 'pyr' == true,
66 // generate monomials of space {X^i Y^j Z^k | i,j <= k+'nij', k <= 'nk'},
67 // else if 'pyr' == false,
68 // generate monomials of space {X^i Y^j Z^k | i,j <= 'nij', k <= 'nk'}
70 gmshGenerateMonomialsPyramidGeneral(bool pyr, int nij, int nk,
71  bool forSerendipPoints = false);
72 
73 // Ordered points (and monomials)
74 // This order is used for expanding a function into Bezier basis: it allows
75 // the efficient conversion of Lagrange coefficients to Bezier coefficients
76 // (in method bezierCoeff::_computeCoefficients(..))
77 
79 
81  bool onBezierDomain = false);
82 
84 
85 #endif
gmshGenerateMonomialsPyramidSerendipity
fullMatrix< double > gmshGenerateMonomialsPyramidSerendipity(int order)
Definition: pointsGenerators.cpp:845
gmshGeneratePointsPrism
fullMatrix< double > gmshGeneratePointsPrism(int order, bool serendip=false)
Definition: pointsGenerators.cpp:85
gmshGeneratePointsQuadrangle
fullMatrix< double > gmshGeneratePointsQuadrangle(int order, bool serendip=false)
Definition: pointsGenerators.cpp:59
fullVector< double >
gmshGenerateMonomialsTetrahedron
fullMatrix< double > gmshGenerateMonomialsTetrahedron(int order, bool serendip=false)
Definition: pointsGenerators.cpp:317
gmshGenerateOrderedMonomials
void gmshGenerateOrderedMonomials(FuncSpaceData, fullMatrix< double > &)
Definition: pointsGenerators.cpp:1165
gmshGeneratePointsPyramid
fullMatrix< double > gmshGeneratePointsPyramid(int order, bool serendip=false)
Definition: pointsGenerators.cpp:98
gmshGenerateMonomials
void gmshGenerateMonomials(FuncSpaceData, fullMatrix< double > &)
Definition: pointsGenerators.cpp:138
gmshGenerateMonomialsQuadrangle
fullMatrix< double > gmshGenerateMonomialsQuadrangle(int order, bool forSerendipPoints=false)
Definition: pointsGenerators.cpp:222
gmshGenerateOrderedPoints
void gmshGenerateOrderedPoints(FuncSpaceData data, fullMatrix< double > &points, bool onBezierDomain=false)
Definition: pointsGenerators.cpp:1080
gmshGenerateMonomialsHexaSerendipity
fullMatrix< double > gmshGenerateMonomialsHexaSerendipity(int order)
Definition: pointsGenerators.cpp:678
gmshGeneratePointsTriangle
fullMatrix< double > gmshGeneratePointsTriangle(int order, bool serendip=false)
Definition: pointsGenerators.cpp:51
gmshGenerateMonomialsPyramid
fullMatrix< double > gmshGenerateMonomialsPyramid(int order, bool forSerendipPoints=false)
Definition: pointsGenerators.cpp:737
gmshGenerateMonomialsPrismSerendipity
fullMatrix< double > gmshGenerateMonomialsPrismSerendipity(int order)
Definition: pointsGenerators.cpp:517
fullMatrix< double >
gmshGenerateMonomialsPyramidGeneral
fullMatrix< double > gmshGenerateMonomialsPyramidGeneral(bool pyr, int nij, int nk, bool forSerendipPoints=false)
Definition: pointsGenerators.cpp:921
gmshGenerateMonomialsLine
fullMatrix< double > gmshGenerateMonomialsLine(int order, bool serendip=false)
Definition: pointsGenerators.cpp:171
gmshGenerateMonomialsHexahedron
fullMatrix< double > gmshGenerateMonomialsHexahedron(int order, bool forSerendipPoints=false)
Definition: pointsGenerators.cpp:583
gmshGenerateMonomialsPrism
fullMatrix< double > gmshGenerateMonomialsPrism(int order, bool forSerendipPoints=false)
Definition: pointsGenerators.cpp:402
gmshGeneratePointsLine
fullMatrix< double > gmshGeneratePointsLine(int order)
Definition: pointsGenerators.cpp:42
FuncSpaceData
Definition: FuncSpaceData.h:16
gmshGenerateOrderedPointsLine
void gmshGenerateOrderedPointsLine(int order, fullVector< double > &)
Definition: pointsGenerators.cpp:1071
gmshGeneratePoints
void gmshGeneratePoints(FuncSpaceData, fullMatrix< double > &)
Definition: pointsGenerators.cpp:18
gmshGeneratePointsHexahedron
fullMatrix< double > gmshGeneratePointsHexahedron(int order, bool serendip=false)
Definition: pointsGenerators.cpp:76
gmshGeneratePointsPyramidGeneral
fullMatrix< double > gmshGeneratePointsPyramidGeneral(bool pyr, int nij, int nk, bool serendip=false)
Definition: pointsGenerators.cpp:111
gmshGenerateMonomialsQuadSerendipity
fullMatrix< double > gmshGenerateMonomialsQuadSerendipity(int order)
Definition: pointsGenerators.cpp:276
fullMatrix.h
gmshGenerateMonomialsTriangle
fullMatrix< double > gmshGenerateMonomialsTriangle(int order, bool serendip=false)
Definition: pointsGenerators.cpp:182
gmshGeneratePointsTetrahedron
fullMatrix< double > gmshGeneratePointsTetrahedron(int order, bool serendip=false)
Definition: pointsGenerators.cpp:68