Source code for NekUpload.NekData.data_type

from enum import Enum,auto

[docs] class BasisType(Enum): """Enum denoting what basis type is used in the construction of spectral elements in Nektar++. As defined in Nektar/library/LibUtilities/Foundations/BasisType.h """ #Must be defined exactly as I/O files use integer values to reference these points NO_BASIS_TYPE = 1 ORTHO_A = 2 # Principle Orthogonal Functions # \f$\widetilde{\psi}^a_p(z_i)\f$ ORTHO_B = 3 # Principle Orthogonal Functions # \f$\widetilde{\psi}^b_{pq}(z_i)\f$ ORTHO_C = 4 # Principle Orthogonal Functions # \f$\widetilde{\psi}^c_{pqr}(z_i)\f$ MODIFIED_A = 5 # Principle Modified Functions \f$ \phi^a_p(z_i) \f$ MODIFIED_B = 6 # Principle Modified Functions \f$ \phi^b_{pq}(z_i) \f$ MODIFIED_C = 7 # Principle Modified Functions \f$ \phi^c_{pqr}(z_i) \f$ ORTHO_PYR_C = 8 # Principle Orthogonal Functions # \f$\widetilde{\psi}^c_{pqr}(z_i) for Pyramids\f$ MODIFIED_PYR_C = 9# Principle Modified Functions \f$ \phi^c_{pqr}(z_i) for # Pyramids\f$ FOURIER = 10 # Fourier Expansion \f$ \exp(i p\pi z_i)\f$ GLL_LAGRANGE = 11# Lagrange for SEM basis \f$ h_p(z_i) \f$ GAUSS_LAGRANGE = 12# //!< Lagrange Polynomials using the Gauss points \f$ #!< h_p(z_i) \f$ LEGENDRE = 13 # Legendre Polynomials \f$ L_p(z_i) = P^{0,0}_p(z_i)\f$. Same # as Ortho_A CHEBYSHEV = 14 # Chebyshev Polynomials \f$ T_p(z_i) = # P^{-1/2,-1/2}_p(z_i)\f$ MONONMIAL = 15 # Monomial polynomials \f$ L_p(z_i) = z_i^{p}\f$ FOURIER_SINGLE_MODE = 16 # Fourier ModifiedExpansion with just the first mode #\f$ \exp(i \pi z_i)\f$ FOURIER_HALF_MODE_RE = 17 #//!< Fourier Modified expansions with just the real part #//!< of the first mode \f$ Re[\exp(i \pi z_i)]\f$ FOURIER_HALF_MODE_IM = 18 #//!< Fourier Modified expansions with just the imaginary #//!< part of the first mode \f$ Im[\exp(i \pi z_i)]\f$ SIZE_BASIS_TYPE = 19 #//!< Length of enum list
[docs] class Elements(Enum): """Enum denoting element shape and type. """ VERT = 1 CURVE_NODE = 2 SEG = 3 CURVE_EDGE = 4 TRI = 5 QUAD = 6 CURVE_FACE = 7 HEX = 8 PRISM = 9 PYR = 10 TET = 11 COMPOSITE = 12 DOMAIN = 13 EDGE = 14 FACE = 15
[docs] class ExpansionType(Enum): """Enum used for defining the expansion type of a spectral element in Nektar++. Same enums as defined in nektar/library/LibUtilities/Foundations/MeshGraph.h """ #Must be defined exactly as I/O files use integer values to reference these points NO_EXPANSION_TYPE = 1 # No expansion type MODIFIED = 2 # Modified expansion MODIFIED_QUAD_PLUS_1 = 3 # Modified quad plus 1 MODIFIED_QUAD_PLUS_2 = 4 # Modified quad plus 2 MODIFIED_GLL_RADAU_10 = 5 # Modified GLL Radau 10 ORTHOGONAL = 6 # Orthogonal expansion GLL_LAGRANGE = 7 # GLL Lagrange expansion GLL_LAGRANGE_SEM = 8 # GLL Lagrange SEM expansion GAUSS_LAGRANGE = 9 # Gauss Lagrange expansion GAUSS_LAGRANGE_SEM = 10 # Gauss Lagrange SEM expansion FOURIER = 11 # Fourier expansion FOURIER_SINGLE_MODE = 12 # Fourier single mode expansion FOURIER_HALF_MODE_RE = 13 # Fourier half mode (real) expansion FOURIER_HALF_MODE_IM = 14 # Fourier half mode (imaginary) expansion CHEBYSHEV = 15 # Chebyshev expansion FOURIER_CHEBYSHEV = 16 # Fourier-Chebyshev expansion CHEBYSHEV_FOURIER = 17 # Chebyshev-Fourier expansion FOURIER_MODIFIED = 18 # Fourier modified expansion EXPANSION_TYPE_SIZE = 19 # Size of the expansion type list
[docs] class IntegrationPoint(Enum): """Enum describing what integration/quadrature points are used for evaluation in spectral elements in Nektar++. Same enums as defined in nektar/library/LibUtilities/Foundations/PointsType.h """ #Must be defined exactly as I/O files use integer values to reference these points GAUSS_GAUSS_LEGENDRE = 1 # 1D Gauss-Gauss-Legendre quadrature points GAUSS_RADAU_M_LEGENDRE = 2 # 1D Gauss-Radau-Legendre quadrature points, pinned at x=-1 GAUSS_RADAU_P_LEGENDRE = 3 # 1D Gauss-Radau-Legendre quadrature points, pinned at x=1 GAUSS_LOBATTO_LEGENDRE = 4 # 1D Gauss-Lobatto-Legendre quadrature points GAUSS_GAUSS_CHEBYSHEV = 5 # 1D Gauss-Gauss-Chebyshev quadrature points GAUSS_RADAU_M_CHEBYSHEV = 6 # 1D Gauss-Radau-Chebyshev quadrature points, pinned at x=-1 GAUSS_RADAU_P_CHEBYSHEV = 7 # 1D Gauss-Radau-Chebyshev quadrature points, pinned at x=1 GAUSS_LOBATTO_CHEBYSHEV = 8 # 1D Gauss-Lobatto-Chebyshev quadrature points GAUSS_RADAU_M_ALPHA0_BETA1 = 9 # Gauss Radau pinned at x=-1, alpha=0, beta=1 GAUSS_RADAU_M_ALPHA0_BETA2 = 10 # Gauss Radau pinned at x=-1, alpha=0, beta=2 GAUSS_RADAU_M_ALPHA1_BETA0 = 11 # Gauss Radau pinned at x=-1, alpha=1, beta=0 GAUSS_RADAU_M_ALPHA2_BETA0 = 12 # Gauss Radau pinned at x=-1, alpha=2, beta=0 GAUSS_KRONROD_LEGENDRE = 13 # 1D Gauss-Kronrod-Legendre quadrature points GAUSS_RADAU_KRONROD_M_LEGENDRE = 14 # 1D Gauss-Radau-Kronrod-Legendre quadrature points, pinned at x=-1 GAUSS_RADAU_KRONROD_M_ALPHA1_BETA0 = 15 # 1D Gauss-Radau-Kronrod-Legendre pinned at x=-1, alpha=1, beta=0 GAUSS_LOBATTO_KRONROD_LEGENDRE = 16 # 1D Lobatto Kronrod quadrature points POLY_EVENLY_SPACED = 17 # 1D Evenly-spaced points using Lagrange polynomial FOURIER_EVENLY_SPACED = 18 # 1D Evenly-spaced points using Fourier Fit FOURIER_SINGLE_MODE_SPACED = 19 # 1D Non Evenly-spaced points for Single Mode analysis BOUNDARY_LAYER_POINTS = 20 # 1D power law distribution for boundary layer points BOUNDARY_LAYER_POINTS_REV = 21 # 1D power law distribution for boundary layer points (reversed) NODAL_TRI_ELEC = 22 # 2D Nodal Electrostatic Points on a Triangle NODAL_TRI_FEKETE = 23 # 2D Nodal Fekete Points on a Triangle NODAL_TRI_EVENLY_SPACED = 24 # 2D Evenly-spaced points on a Triangle NODAL_TET_EVENLY_SPACED = 25 # 3D Evenly-spaced points on a Tetrahedron NODAL_TET_ELEC = 26 # 3D Nodal Electrostatic Points on a Tetrahedron NODAL_PRISM_EVENLY_SPACED = 27 # 3D Evenly-spaced points on a Prism NODAL_PRISM_ELEC = 28 # 3D electrostatically spaced points on a Prism NODAL_TRI_SPI = 29 # 2D Nodal Symmetric Positive Internal triangle (Whitherden, Vincent) NODAL_TET_SPI = 30 # 3D Nodal Symmetric Positive Internal tetrahedron (Whitherden, Vincent) NODAL_PRISM_SPI = 31 # 3D Prism SPI NODAL_QUAD_ELEC = 32 # 2D GLL for quad NODAL_HEX_ELEC = 33 # 3D GLL for hex SIZE_POINTS_TYPE = 34 # Length of enum list
[docs] class SolverType(Enum): """Enum describing the available solvers in Nektar++ """ ADR_SOLVER = "ADR Solver" ACOUSTIC_SOLVER = "Acoustic Solver" INCOMPRESSIBLE_NAVIER_STOKES_SOLVER = "Incompressible Navier Stokes Solver" CARDIAC_EPS_SOLVER = "Cardiac EPS Solver" COMPRESSIBLE_FLOW_SOLVER = "Compressible Flow Solver" DIFFUSION_SOLVER = "Diffusion Solver" IMAGE_WARPING_SOLVER = "Image Warping Solver" LINEAR_ELASTIC_SOLVER = "Linear Elastic Solver" MMF_SOLVER = "MMF Solver" PULSE_WAVE_SOLVER = "Pulse Wave Solver" SHALLOW_WATER_SOLVER = "Shallow Water Solver" VORTEX_WAVE_INTERACTION_SOLVER = "Vortex Wave Interaction Solver"