Neko 0.9.1
A portable framework for high-order spectral element flow simulations
|
The function space for the SEM solution fields. More...
Public Member Functions | |
procedure, pass(s) | init (s, t, lx, ly, lz) |
Initialize a function space s with given polynomial dimensions. | |
procedure, pass(s) | free (s) |
Deallocate a space s. | |
Public Attributes | |
integer | t |
Space type (GL, GLL, GJ, ...) | |
integer | lx |
Polynomial dimension in x-direction. | |
integer | ly |
Polynomial dimension in y-direction. | |
integer | lz |
Polynomial dimension in z-direction. | |
integer | lxy |
Number of points in xy-plane. | |
integer | lyz |
Number of points in yz-plane. | |
integer | lxz |
Number of points in xz-plane. | |
integer | lxyz |
Number of points in xyz-block. | |
real(kind=rp), dimension(:,:), allocatable | zg |
Quadrature points. | |
real(kind=rp), dimension(:), allocatable | dr_inv |
1/dist quadrature points | |
real(kind=rp), dimension(:), allocatable | ds_inv |
1/dist quadrature points | |
real(kind=rp), dimension(:), allocatable | dt_inv |
1/dist quadrature points | |
real(kind=rp), dimension(:), allocatable | wx |
Quadrature weights. | |
real(kind=rp), dimension(:), allocatable | wy |
Quadrature weights. | |
real(kind=rp), dimension(:), allocatable | wz |
Quadrature weights. | |
real(kind=rp), dimension(:,:,:), allocatable | w3 |
wx * wy * wz | |
real(kind=rp), dimension(:,:), allocatable | dx |
Derivative operator D_1 . | |
real(kind=rp), dimension(:,:), allocatable | dy |
Derivative operator D_2 . | |
real(kind=rp), dimension(:,:), allocatable | dz |
Derivative operator D_3 . | |
real(kind=rp), dimension(:,:), allocatable | dxt |
Transposed derivative operator D_1^T . | |
real(kind=rp), dimension(:,:), allocatable | dyt |
Transposed derivative operator D_2^T . | |
real(kind=rp), dimension(:,:), allocatable | dzt |
Transposed derivative operator D_3^T . | |
real(kind=rp), dimension(:,:), allocatable | v |
Legendre transformation matrices. | |
real(kind=rp), dimension(:,:), allocatable | vt |
legendre to physical t | |
real(kind=rp), dimension(:,:), allocatable | vinv |
Physical to legendre. | |
real(kind=rp), dimension(:,:), allocatable | vinvt |
Physical to legendre t. | |
real(kind=rp), dimension(:,:), allocatable | w |
Legendre weights in matrix form. | |
type(c_ptr) | dr_inv_d = C_NULL_PTR |
type(c_ptr) | ds_inv_d = C_NULL_PTR |
type(c_ptr) | dt_inv_d = C_NULL_PTR |
type(c_ptr) | dxt_d = C_NULL_PTR |
type(c_ptr) | dyt_d = C_NULL_PTR |
type(c_ptr) | dzt_d = C_NULL_PTR |
type(c_ptr) | dx_d = C_NULL_PTR |
type(c_ptr) | dy_d = C_NULL_PTR |
type(c_ptr) | dz_d = C_NULL_PTR |
type(c_ptr) | wx_d = C_NULL_PTR |
type(c_ptr) | wy_d = C_NULL_PTR |
type(c_ptr) | wz_d = C_NULL_PTR |
type(c_ptr) | zg_d = C_NULL_PTR |
type(c_ptr) | w3_d = C_NULL_PTR |
type(c_ptr) | v_d = C_NULL_PTR |
type(c_ptr) | vt_d = C_NULL_PTR |
type(c_ptr) | vinv_d = C_NULL_PTR |
type(c_ptr) | vinvt_d = C_NULL_PTR |
type(c_ptr) | w_d = C_NULL_PTR |
In SEM, the solution fields are represented as a linear combination of basis functions for a particular function space. Thus, the properties of the space define that of the solution. The global SEM basis is never build, but is implictly defined by the local basis for each element. The latter is polynomial, and is therefore defined by the order of the polys and the selected locations of the nodes for storing the solution. In SEM, the latter coincides with a Gaussian quadrature (GL, GLL, etc.)
space_t
type in Neko is Xh
. real(kind=rp), dimension(:), allocatable space::space_t::dr_inv |
type(c_ptr) space::space_t::dr_inv_d = C_NULL_PTR |
real(kind=rp), dimension(:), allocatable space::space_t::ds_inv |
type(c_ptr) space::space_t::ds_inv_d = C_NULL_PTR |
real(kind=rp), dimension(:), allocatable space::space_t::dt_inv |
type(c_ptr) space::space_t::dt_inv_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::dx |
type(c_ptr) space::space_t::dx_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::dxt |
type(c_ptr) space::space_t::dxt_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::dy |
type(c_ptr) space::space_t::dy_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::dyt |
type(c_ptr) space::space_t::dyt_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::dz |
type(c_ptr) space::space_t::dz_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::dzt |
type(c_ptr) space::space_t::dzt_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::v |
type(c_ptr) space::space_t::v_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::vinv |
type(c_ptr) space::space_t::vinv_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::vinvt |
type(c_ptr) space::space_t::vinvt_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::vt |
type(c_ptr) space::space_t::vt_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::w |
real(kind=rp), dimension(:,:,:), allocatable space::space_t::w3 |
type(c_ptr) space::space_t::w3_d = C_NULL_PTR |
type(c_ptr) space::space_t::w_d = C_NULL_PTR |
real(kind=rp), dimension(:), allocatable space::space_t::wx |
type(c_ptr) space::space_t::wx_d = C_NULL_PTR |
real(kind=rp), dimension(:), allocatable space::space_t::wy |
type(c_ptr) space::space_t::wy_d = C_NULL_PTR |
real(kind=rp), dimension(:), allocatable space::space_t::wz |
type(c_ptr) space::space_t::wz_d = C_NULL_PTR |
real(kind=rp), dimension(:,:), allocatable space::space_t::zg |
type(c_ptr) space::space_t::zg_d = C_NULL_PTR |