Meaning of variable names in PyFR source code

Hi Developers,

I am reading the source code of PyFR. But I am confused by the abbreviations of some variables. For example, in PyFR/pyfr/shapes.py:

1. self.upts
2. self.nupts
3. self.qpts
4. self.nqpts
5. self.fpts
6. self.fpts_wts
7. self.nspts
8. npts_coeffs
9. npts_cdenom

Hence, I’d like to inquire

  1. are there some documents that explain the specific physical meaning of these abbreviations?
  2. are there some papers that show the computing process of the quadrule and polybasis of different shapes.

Looking forward to your reply.

Many thanks,

Yubo

In answer to your first question no there isn’t a document with this written down (unless you count the code)

upts are solution points
qpts are quadrature points
fpts are flux poitns
spts are shape points

Prefixing with a n tells you the number of those points. fpts are the flux point weights. I don’t recognise npts_coeffs but that is probably because it is an abstracted name that is used in some function. Same with npts_cdenom. (Although I would guess that cdenom i sthe the demoniator of whatever npts_coeffs).

Freddie’s paper on finding quadratures is a good place to start (Redirecting). The polynomal basis depends on the eleement type but Hesthaven and Warburton 2008 is a good book for these. Generally for some chpoice of polynomial degrees we evaluate some combination of Jacobi polynomials at the solution points to form a Vandermonde matrix. shape.py is a good place to start as is solver/base/elements.py

2 Likes

Thank you very much for your reply, WillT. It is really helpful!