Bibliography

[1]    std::shared_ptr - cppreference.com. [Accessed 21 March 2018].

[2]    boost.python/howto - python wiki, 2015. [Accessed 1st May 2018].

[3]    osgboostpython/manualwrappingrationale.md at wiki ⋅ skylark13/osgboostpython ⋅ github, 2015. [Accessed 7th May 2018].

[4]    osgboostpython/wrappingcookbook.md at wiki ⋅ skylark13/osgboostpython ⋅ github, 2015. [Accessed 7th May 2018].

[5]    Github - tng/boost-python-examples: Some examples for the use of boost::python, 2016. [Accessed 7th May 2018].

[6]    Mark Ainsworth. Pyramid algorithms for bernstein-bézier finite elements of high, nonuniform order in any dimension. SIAM Journal of Scientific Computing, 36:A543–A569, 2014.

[7]    Mark Ainsworth, Gaelle Andriamaro, and Oleg Davydov. Bernstein-bézier finite elements of arbitrary order and optimal assembly procedures. SIAM Journal of Scientific Computing, 33:3087–3109, 2011.

[8]    R. Aris. Vectors, tensors, and the basic equations of fluid mechanics. Dover Pubns, 1989.

[9]    Ivo Babuska, Barna A Szabo, and I Norman Katz. The p-version of the finite element method. SIAM journal on numerical analysis, 18(3):515–545, 1981.

[10]   Wolfgang Bangerth, Ralf Hartmann, and Guido Kanschat. deal.II–a general-purpose object-oriented finite element library. ACM Transactions on Mathematical Software (TOMS), 33(4):24, 2007.

[11]   Hugh M Blackburn and SJ Sherwin. Formulation of a galerkin spectral element–fourier method for three-dimensional incompressible flows in cylindrical geometries. Journal of Computational Physics, 197(2):759–778, 2004.

[12]   A. Bolis, C.D. Cantwell, R.M. Kirby, and S.J. Sherwin. h-to-p efficiently: Optimal implementation strategies for explicit time-dependent problems using the spectral/hp element method. International Journal for Numerical Methods in Fluids, 75:591–607, 2014.

[13]   A.I. Borisenko, I.E. Tarapov, and R.A. Silverman (Translator). Vector and Tensor Analysis with Applications. Dover Books on Mathematics, 2012.

[14]   J. C. Butcher. General linear methods. Acta Numerica, 15:157–256, 2006.

[15]   C.D. Cantwell, D. Moxey, A. Comerford, A. Bolis, G. Rocco, G. Mengaldo, D. de Grazia, S. Yakovlev, J-E Lombard, D. Ekelschot, B. Jordi, H. Xu, Y. Mohamied, C. Eskilsson, B. Nelson, P. Vos, C. Biotto, R.M. Kirby, and S.J. Sherwin. Nektar++: An open-source spectral/hp element framework. Computer Physics Communications, 192:205–219, 2015.

[16]   C.D. Cantwell, S.J. Sherwin, R.M. Kirby, and P.H. Kelly. From h-to-p efficiently: Selecting the optimal spectral/hp discretisation in three dimensions. Math. Model. Nat. Phenom., 6(3):84–96, 2011.

[17]   C.D. Cantwell, S.J. Sherwin, R.M. Kirby, and P.H.J. Kelly. From h-to-p efficiently: Strategy selection for operator evaluation on hexahedral and tetrahedral elements. Computers and Fluids, 43:23–28, 2011.

[18]   C.D. Cantwell, S. Yakovlev, R.M. Kirby, N.S. Peters, and S.J. Sherwin. High-order continuous spectral/hp element discretisation for reaction-diffusion problems on a surface. Journal of Computational Physics, 257:813–829, 2014.

[19]   C. Canuto, M.Y. Hussaini, A. Quarteroni, and T.A. Zang. Spectral Methods in Fluid Mechanics. Springer-Verlag, New York, 1987.

[20]   Bernardo Cockburn, George Karniadakis, and Chi-Wang Shu. Discontinuous Galerkin Methods: Theory, Computation and Applications. Springer-Verlag, 2000.

[21]   J. Austin Cottrell, Thomas J. R. Hughes, and Yuri Bazilevs. Isogeometric Analysis: Toward Integration of CAD and FEA. John Wiley and Sons, 2009.

[22]   Abrahams D. de Guzman J. Boost.python tutorial - 1.67.0, 2018. [Accessed 1st May 2018].

[23]   Andreas Dedner, Robert Klöfkorn, Martin Nolte, and Mario Ohlberger. A generic interface for parallel and adaptive discretization schemes: abstraction principles and the DUNE-FEM module. Computing, 90(3-4):165–196, 2010.

[24]   James W. Demmel. Applied Numerical Linear Algebra. SIAM, Philadelphia, PA, USA, 1997.

[25]   M.O. Deville, P.F. Fisher, and E.H. Mund. High-Order Methods for Incompressible Fluid Flow. Cambridge University Press, 2002.

[26]   Julia Docampo-Sánchez, Jennifer K Ryan, Mahsa Mirzargar, and Robert M Kirby. Multi-dimensional filtering: Reducing the dimension through rotation. SIAM Journal on Scientific Computing, 39(5):A2179–A2200, 2017.

[27]   M. Dubiner. Spectral methods on triangles and other domains. J. Sci. Comp., 6:345, 1991.

[28]   M.G. Duffy. Quadrature over a pyramid or cube of integrands with a singularity at a vertex. SIAM J. Numer. Anal., 19:1260, 1982.

[29]   Paul Fischer, James Lottes, Stefan Kerkemeier, Oana Marin, Katherine Heisey, Aleks Obabko, Elia Merzari, and Yulia Peet. Nek5000 User Manual. ANL/MCS-TM-351, 2014.

[30]   Python Software Foundation. Memory management - python 2.7.14 documentation. [Accessed 21 March 2018].

[31]   Python Software Foundation. Reference counting - python 2.7.14 documentation. [Accessed 21 March 2018].

[32]   D. Funaro. Polynomial Approximations of Differential Equations: Lecture Notes in Physics, Volume 8. Springer-Verlag, New York, 1992.

[33]   F.X. Giraldo, J.F. Kelly, and E.M. Constantinescu. Implicit explicit formulations of a three dimensional non-hydrostatic unified model of the atmosphere (NUMA). SIAM Journal of Scientific Computing, 35:1162–1194, 2013.

[34]   van Rossum G. Goodger D. Pep 257 – docstring conventions, 2001. [Accessed 16th May 2018].

[35]   Michael T. Heath. Scientific Computing: An Introductory Survey. McGraw-Hill Companies, 2002.

[36]   Jan Hesthaven, Sigal Gottlieb, and David Gottlieb. Spectral Methods for Time-Dependent Problems. Cambridge University Press, 2007.

[37]   Jan S Hesthaven and Tim Warburton. Nodal discontinuous Galerkin methods: algorithms, analysis, and applications, volume 54. Springer, 2007.

[38]   J.S. Hesthaven. From electrostatics to almost optimal nodal sets for polynomial interpolation in a simplex. SIAM J. Numer. Anal., 35(2):655–676, 1998.

[39]   J.S. Hesthaven and T.C. Warburton. Nodal Discontinuous Galerkin Methods: Algorithms, Analysis, and Applications. Springer Texts in Applied Mathematics 54. Springer Verlag: New York, 2008.

[40]   T. J. R. Hughes. The Finite Element Method. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1987.

[41]   Ashok Jallepalli, Julia Docampo-Sánchez, Jennifer K Ryan, Robert Haimes, and Robert M Kirby. On the treatment of field quantities and elemental continuity in FEM solutions. IEEE Transactions on Visualization and Computer Graphics, 24(1):903–912, 2017.

[42]   Cem Kaner, Jack Falk, and Hung Quoc Nguyen. Testing Computer Software. John Wiley & Sons, 2010.

[43]   George Em Karniadakis and Robert M. Kirby. Parallel Scientific Computing in C++ and MPI. Cambridge University Press, New-York, NY, USA, 2003.

[44]   George Em Karniadakis and Spencer J. Sherwin. Spectral/hp element methods for Computational Fluid Dynamics (Second Edition). Oxford University Press, 2005.

[45]   Robert M. Kirby and Spencer J. Sherwin. Aliasing errors due to quadratic non-linearities on triangular spectral/hp element discretisations. Journal of Engineering Mathematics, 56:273–288, 2006.

[46]   David A. Kopriva. Implementing Spectral Methods for Partial Differential Equations: Algorithms for Scientists and Engineers. Springer, 2009.

[47]   Anders Logg, Kent-Andre Mardal, and Garth Wells (editors). Automated Solution of Differential Equations by the Finite Element Method. Springer Lecture Notes in Computational Science and Engineering, Volume 84, 2012.

[48]   Daconta M. C++ pointers and dynamic memory management. New York: Wiley, 1995.

[49]   Reddy M. API Design for C++. Burlington: Elsevier, 2011.

[50]   A.T.T. McRae, G.-T. Bercea, L. Mitchell, D.A. Ham, and C.J. Cotter. Automated generation and symbolic manipulation of tensor product finite elements. SIAM Journal on Scientific Computing, 38(5):S25–S47, 2016.

[51]   Scott Meyers. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Third Edition). Addison-Wesley Professional, 2005.

[52]   Jaroszyński P. Piotr jaroszyński’s blog: Boost.python: docstrings in enums, 2007. [Accessed 16th May 2018].

[53]   Jhong E. et al. Patel A., Picard A. Google python style guide. [Accessed 16th May 2018].

[54]   Ch. Schwab. p– and hp– Finite Element Methods: Theory and Applications in Solid and Fluid Mechanics. Oxford University Press, 1999.

[55]   Bjarne Stroustrup. The C++ Programming Language (Fourth Edition). Addison-Wesley Professional, 2013.

[56]   M. Taylor and B.A. Wingate. The fekete collocation points for triangular spectral elements. Journal on Numerical Analysis, 1998.

[57]   M. Taylor, B.A. Wingate, and R.E. Vincent. An algorithm for computing Fekete points in the triangle. SIAM J. Num. Anal., 38:1707–1720, 2000.

[58]   Lloyd N. Trefethen. Is gauss quadrature better than clenshaw-curtis? SIAM Review, 50:67–87, 2008.

[59]   Lloyd N. Trefethen and III David Bau. Numerical Linear Algebra. SIAM, Philadelphia, PA, USA, 1997.

[60]   Tomáš Vejchodskỳ, Pavel Šolín, and Martin Zítka. Modular hp-FEM system HERMES and its application to Maxwell’s equations. Mathematics and Computers in Simulation, 76(1):223–228, 2007.

[61]   Peter E. J. Vos, Spencer J. Sherwin, and Robert M. Kirby. h-to-p efficiently: Implementing finite and spectral/hp element methods to achieve optimal performance for low- and high-order discretisations. Journal of Computational Physics, 229:5161–5181, 2010.

[62]   Peter E.J. Vos, Sehun Chun, Alessandro Bolis, Claes Eskilsson, Robert M. Kirby, and Spencer J. Sherwin. A generic framework for time-stepping pdes: General linear methods, object-oriented implementations and applications to fluid problems. International Journal of Computational Fluid Dynamics, 25:107–125, 2011.

[63]   F.D. Witherden, P.E. Vincent, and A. Jameson. Chapter 10 – high-order flux reconstruction schemes. Handbook of Numerical Analysis, 17:227–263, 2016.

[64]   FR Witherden, AM Farrington, and PE Vincent. PyFR: An open source framework for solving advection-diffusion type problems on streaming architectures using the flux reconstruction approach. Computer Physics Communications, 185:3028–3040, 2014.