How does pyfr organize its data

Hi, everyone . I really want to know how Pyfr organizes its data? Where does it appear in the code?

What memory is used depends on the kernel, but the memory used to perform the calculation is mostly allocated here: https://github.com/PyFR/PyFR/blob/98929401cd2d607da4058f13ecac3f4a6aeee60b/pyfr/solvers/base/elements.py#L154

Which malloc is used depends on the backend, but you can see some memory being allocated as well as some optional memory for things like the quadrature point when using anti-aliasing.