About Viper

Viper is a highorder computational fluid dynamics solver written and maintained by Professor Gregory J Sheard. It uses a nodal spectralelement method for spatial discretisation, and time integration is via an operatorsplitting scheme based on backwardsdifferentiation. Spectral elememt methods combine the ability to discretise complex geometries they share with finite element methods, with the superior spatial convergence characteristics of spectral methods. This is achieved through the use of highorder tensorproduct Lagrange polynomial shape functions within each element interpolated over the GaussLobattoLegendre quadrature points, for efficient integration of the equations cast in weak form arising from application of the Galerkin method to elliptical operators.
Features

Viper has the following capabilities. The references should be cited as the original publications that employed these features.
2D Cartesian solver
Axisymmetric solver (cylindrical coordinates without swirl)
Axisymmetric solver (cylindrical coordinates with swirl)
3D solver (hexahedral spectral elements)
Highorder passive tracer particle transport
Linear stability analysis (cylindrical coordinates)
Linear stability analysis (Cartesian coordinates)
Spectral elementFourier 3D solver (Cartesian)
Spectral elementFourier 3D solver (cylindrical)
Scalar field transport solver (2D Cartesian)
Scalar field transport solver (axisymmetric cylindrical)
Natural convection via Boussinesq model (2D Cartesian)
Natural convection via Boussinesq model (cylindrical)
Quasi2D MHD flow  SM82 model