Neko  0.8.1
A portable framework for high-order spectral element flow simulations
coefs::coef_t Type Reference

Coefficients defined on a given (mesh, \( X_h \)) tuple. Arrays use indices (i,j,k,e): element e, local coordinate (i,j,k). More...

Collaboration diagram for coefs::coef_t:

Public Member Functions

procedure, pass(this) free => coef_free
 
procedure, pass(this) get_normal => coef_get_normal
 
procedure, pass(this) get_area => coef_get_area
 
generic init => init_empty, init_all
 

Public Attributes

real(kind=rp), dimension(:,:,:,:), allocatable g11
 Geometric factors \( G_{11} \). More...
 
real(kind=rp), dimension(:,:,:,:), allocatable g22
 Geometric factors \( G_{22} \). More...
 
real(kind=rp), dimension(:,:,:,:), allocatable g33
 Geometric factors \( G_{33} \). More...
 
real(kind=rp), dimension(:,:,:,:), allocatable g12
 Geometric factors \( G_{12} \). More...
 
real(kind=rp), dimension(:,:,:,:), allocatable g13
 Geometric factors \( G_{13} \). More...
 
real(kind=rp), dimension(:,:,:,:), allocatable g23
 Geometric factors \( G_{23} \). More...
 
real(kind=rp), dimension(:,:,:,:), allocatable mult
 Multiplicity. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable dxdr
 generate mapping data between element and reference element \( dx/dr, dy/dr, dz/dr \) \( dx/ds, dy/ds, dz/ds \) \( dx/dt, dy/dt, dz/dt \) More...
 
real(kind=rp), dimension(:,:,:,:), allocatable dydr
 
real(kind=rp), dimension(:,:,:,:), allocatable dzdr
 
real(kind=rp), dimension(:,:,:,:), allocatable dxds
 
real(kind=rp), dimension(:,:,:,:), allocatable dyds
 
real(kind=rp), dimension(:,:,:,:), allocatable dzds
 
real(kind=rp), dimension(:,:,:,:), allocatable dxdt
 
real(kind=rp), dimension(:,:,:,:), allocatable dydt
 
real(kind=rp), dimension(:,:,:,:), allocatable dzdt
 
real(kind=rp), dimension(:,:,:,:), allocatable drdx
 \( dr/dx, dr/dy, dr/dz \) \( ds/dx, ds/dy, ds/dz \) \( dt/dx, dt/dy, dt/dz \) More...
 
real(kind=rp), dimension(:,:,:,:), allocatable drdy
 
real(kind=rp), dimension(:,:,:,:), allocatable drdz
 
real(kind=rp), dimension(:,:,:,:), allocatable dsdx
 
real(kind=rp), dimension(:,:,:,:), allocatable dsdy
 
real(kind=rp), dimension(:,:,:,:), allocatable dsdz
 
real(kind=rp), dimension(:,:,:,:), allocatable dtdx
 
real(kind=rp), dimension(:,:,:,:), allocatable dtdy
 
real(kind=rp), dimension(:,:,:,:), allocatable dtdz
 
real(kind=rp), dimension(:,:,:,:), allocatable h1
 Stiffness scaling. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable h2
 Mass scaling. More...
 
logical ifh2
 True if h2 .ne. 0. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable jac
 Jacobian. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable jacinv
 Inverted Jacobian. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable b
 Mass matrix/volume matrix. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable binv
 Inverted Mass matrix/volume matrix. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable area
 Facet area. More...
 
real(kind=rp), dimension(:,:,:,:), allocatable nx
 x-direction of facet normal More...
 
real(kind=rp), dimension(:,:,:,:), allocatable ny
 y-direction of facet normal More...
 
real(kind=rp), dimension(:,:,:,:), allocatable nz
 z-direction of facet normal More...
 
real(kind=rp) volume
 Pointers to main fields. More...
 
type(space_t), pointer xh => null()
 
type(mesh_t), pointer msh => null()
 
type(dofmap_t), pointer dof => null()
 
type(gs_t), pointer gs_h => null()
 
type(c_ptr) g11_d = C_NULL_PTR
 
type(c_ptr) g22_d = C_NULL_PTR
 
type(c_ptr) g33_d = C_NULL_PTR
 
type(c_ptr) g12_d = C_NULL_PTR
 
type(c_ptr) g13_d = C_NULL_PTR
 
type(c_ptr) g23_d = C_NULL_PTR
 
type(c_ptr) dxdr_d = C_NULL_PTR
 
type(c_ptr) dydr_d = C_NULL_PTR
 
type(c_ptr) dzdr_d = C_NULL_PTR
 
type(c_ptr) dxds_d = C_NULL_PTR
 
type(c_ptr) dyds_d = C_NULL_PTR
 
type(c_ptr) dzds_d = C_NULL_PTR
 
type(c_ptr) dxdt_d = C_NULL_PTR
 
type(c_ptr) dydt_d = C_NULL_PTR
 
type(c_ptr) dzdt_d = C_NULL_PTR
 
type(c_ptr) drdx_d = C_NULL_PTR
 
type(c_ptr) drdy_d = C_NULL_PTR
 
type(c_ptr) drdz_d = C_NULL_PTR
 
type(c_ptr) dsdx_d = C_NULL_PTR
 
type(c_ptr) dsdy_d = C_NULL_PTR
 
type(c_ptr) dsdz_d = C_NULL_PTR
 
type(c_ptr) dtdx_d = C_NULL_PTR
 
type(c_ptr) dtdy_d = C_NULL_PTR
 
type(c_ptr) dtdz_d = C_NULL_PTR
 
type(c_ptr) mult_d = C_NULL_PTR
 
type(c_ptr) h1_d = C_NULL_PTR
 
type(c_ptr) h2_d = C_NULL_PTR
 
type(c_ptr) jac_d = C_NULL_PTR
 
type(c_ptr) jacinv_d = C_NULL_PTR
 
type(c_ptr) b_d = C_NULL_PTR
 
type(c_ptr) binv_d = C_NULL_PTR
 
type(c_ptr) area_d = C_NULL_PTR
 
type(c_ptr) nx_d = C_NULL_PTR
 
type(c_ptr) ny_d = C_NULL_PTR
 
type(c_ptr) nz_d = C_NULL_PTR
 

Private Member Functions

procedure, pass(this), private init_empty => coef_init_empty
 
procedure, pass(this), private init_all => coef_init_all
 

Detailed Description

Coefficients defined on a given (mesh, \( X_h \)) tuple. Arrays use indices (i,j,k,e): element e, local coordinate (i,j,k).

Definition at line 54 of file coef.f90.

Member Function/Subroutine Documentation

◆ free()

procedure, pass(this) coefs::coef_t::free

Definition at line 149 of file coef.f90.

◆ get_area()

procedure, pass(this) coefs::coef_t::get_area

Definition at line 151 of file coef.f90.

◆ get_normal()

procedure, pass(this) coefs::coef_t::get_normal

Definition at line 150 of file coef.f90.

◆ init()

generic coefs::coef_t::init

Definition at line 152 of file coef.f90.

◆ init_all()

procedure, pass(this), private coefs::coef_t::init_all
private

Definition at line 148 of file coef.f90.

◆ init_empty()

procedure, pass(this), private coefs::coef_t::init_empty
private

Definition at line 147 of file coef.f90.

Member Data Documentation

◆ area

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::area

Facet area.

Definition at line 92 of file coef.f90.

◆ area_d

type(c_ptr) coefs::coef_t::area_d = C_NULL_PTR

Definition at line 140 of file coef.f90.

◆ b

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::b

Mass matrix/volume matrix.

Definition at line 89 of file coef.f90.

◆ b_d

type(c_ptr) coefs::coef_t::b_d = C_NULL_PTR

Definition at line 138 of file coef.f90.

◆ binv

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::binv

Inverted Mass matrix/volume matrix.

Definition at line 90 of file coef.f90.

◆ binv_d

type(c_ptr) coefs::coef_t::binv_d = C_NULL_PTR

Definition at line 139 of file coef.f90.

◆ dof

type(dofmap_t), pointer coefs::coef_t::dof => null()

Definition at line 102 of file coef.f90.

◆ drdx

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::drdx

\( dr/dx, dr/dy, dr/dz \) \( ds/dx, ds/dy, ds/dz \) \( dt/dx, dt/dy, dt/dz \)

Definition at line 79 of file coef.f90.

◆ drdx_d

type(c_ptr) coefs::coef_t::drdx_d = C_NULL_PTR

Definition at line 124 of file coef.f90.

◆ drdy

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::drdy

Definition at line 79 of file coef.f90.

◆ drdy_d

type(c_ptr) coefs::coef_t::drdy_d = C_NULL_PTR

Definition at line 125 of file coef.f90.

◆ drdz

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::drdz

Definition at line 79 of file coef.f90.

◆ drdz_d

type(c_ptr) coefs::coef_t::drdz_d = C_NULL_PTR

Definition at line 126 of file coef.f90.

◆ dsdx

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dsdx

Definition at line 80 of file coef.f90.

◆ dsdx_d

type(c_ptr) coefs::coef_t::dsdx_d = C_NULL_PTR

Definition at line 127 of file coef.f90.

◆ dsdy

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dsdy

Definition at line 80 of file coef.f90.

◆ dsdy_d

type(c_ptr) coefs::coef_t::dsdy_d = C_NULL_PTR

Definition at line 128 of file coef.f90.

◆ dsdz

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dsdz

Definition at line 80 of file coef.f90.

◆ dsdz_d

type(c_ptr) coefs::coef_t::dsdz_d = C_NULL_PTR

Definition at line 129 of file coef.f90.

◆ dtdx

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dtdx

Definition at line 81 of file coef.f90.

◆ dtdx_d

type(c_ptr) coefs::coef_t::dtdx_d = C_NULL_PTR

Definition at line 130 of file coef.f90.

◆ dtdy

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dtdy

Definition at line 81 of file coef.f90.

◆ dtdy_d

type(c_ptr) coefs::coef_t::dtdy_d = C_NULL_PTR

Definition at line 131 of file coef.f90.

◆ dtdz

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dtdz

Definition at line 81 of file coef.f90.

◆ dtdz_d

type(c_ptr) coefs::coef_t::dtdz_d = C_NULL_PTR

Definition at line 132 of file coef.f90.

◆ dxdr

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dxdr

generate mapping data between element and reference element \( dx/dr, dy/dr, dz/dr \) \( dx/ds, dy/ds, dz/ds \) \( dx/dt, dy/dt, dz/dt \)

Definition at line 73 of file coef.f90.

◆ dxdr_d

type(c_ptr) coefs::coef_t::dxdr_d = C_NULL_PTR

Definition at line 115 of file coef.f90.

◆ dxds

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dxds

Definition at line 74 of file coef.f90.

◆ dxds_d

type(c_ptr) coefs::coef_t::dxds_d = C_NULL_PTR

Definition at line 118 of file coef.f90.

◆ dxdt

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dxdt

Definition at line 75 of file coef.f90.

◆ dxdt_d

type(c_ptr) coefs::coef_t::dxdt_d = C_NULL_PTR

Definition at line 121 of file coef.f90.

◆ dydr

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dydr

Definition at line 73 of file coef.f90.

◆ dydr_d

type(c_ptr) coefs::coef_t::dydr_d = C_NULL_PTR

Definition at line 116 of file coef.f90.

◆ dyds

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dyds

Definition at line 74 of file coef.f90.

◆ dyds_d

type(c_ptr) coefs::coef_t::dyds_d = C_NULL_PTR

Definition at line 119 of file coef.f90.

◆ dydt

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dydt

Definition at line 75 of file coef.f90.

◆ dydt_d

type(c_ptr) coefs::coef_t::dydt_d = C_NULL_PTR

Definition at line 122 of file coef.f90.

◆ dzdr

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dzdr

Definition at line 73 of file coef.f90.

◆ dzdr_d

type(c_ptr) coefs::coef_t::dzdr_d = C_NULL_PTR

Definition at line 117 of file coef.f90.

◆ dzds

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dzds

Definition at line 74 of file coef.f90.

◆ dzds_d

type(c_ptr) coefs::coef_t::dzds_d = C_NULL_PTR

Definition at line 120 of file coef.f90.

◆ dzdt

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::dzdt

Definition at line 75 of file coef.f90.

◆ dzdt_d

type(c_ptr) coefs::coef_t::dzdt_d = C_NULL_PTR

Definition at line 123 of file coef.f90.

◆ g11

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::g11

Geometric factors \( G_{11} \).

Definition at line 56 of file coef.f90.

◆ g11_d

type(c_ptr) coefs::coef_t::g11_d = C_NULL_PTR

Definition at line 109 of file coef.f90.

◆ g12

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::g12

Geometric factors \( G_{12} \).

Definition at line 62 of file coef.f90.

◆ g12_d

type(c_ptr) coefs::coef_t::g12_d = C_NULL_PTR

Definition at line 112 of file coef.f90.

◆ g13

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::g13

Geometric factors \( G_{13} \).

Definition at line 64 of file coef.f90.

◆ g13_d

type(c_ptr) coefs::coef_t::g13_d = C_NULL_PTR

Definition at line 113 of file coef.f90.

◆ g22

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::g22

Geometric factors \( G_{22} \).

Definition at line 58 of file coef.f90.

◆ g22_d

type(c_ptr) coefs::coef_t::g22_d = C_NULL_PTR

Definition at line 110 of file coef.f90.

◆ g23

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::g23

Geometric factors \( G_{23} \).

Definition at line 66 of file coef.f90.

◆ g23_d

type(c_ptr) coefs::coef_t::g23_d = C_NULL_PTR

Definition at line 114 of file coef.f90.

◆ g33

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::g33

Geometric factors \( G_{33} \).

Definition at line 60 of file coef.f90.

◆ g33_d

type(c_ptr) coefs::coef_t::g33_d = C_NULL_PTR

Definition at line 111 of file coef.f90.

◆ gs_h

type(gs_t), pointer coefs::coef_t::gs_h => null()

Definition at line 103 of file coef.f90.

◆ h1

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::h1

Stiffness scaling.

Definition at line 83 of file coef.f90.

◆ h1_d

type(c_ptr) coefs::coef_t::h1_d = C_NULL_PTR

Definition at line 134 of file coef.f90.

◆ h2

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::h2

Mass scaling.

Definition at line 84 of file coef.f90.

◆ h2_d

type(c_ptr) coefs::coef_t::h2_d = C_NULL_PTR

Definition at line 135 of file coef.f90.

◆ ifh2

logical coefs::coef_t::ifh2

True if h2 .ne. 0.

Definition at line 85 of file coef.f90.

◆ jac

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::jac

Jacobian.

Definition at line 87 of file coef.f90.

◆ jac_d

type(c_ptr) coefs::coef_t::jac_d = C_NULL_PTR

Definition at line 136 of file coef.f90.

◆ jacinv

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::jacinv

Inverted Jacobian.

Definition at line 88 of file coef.f90.

◆ jacinv_d

type(c_ptr) coefs::coef_t::jacinv_d = C_NULL_PTR

Definition at line 137 of file coef.f90.

◆ msh

type(mesh_t), pointer coefs::coef_t::msh => null()

Definition at line 101 of file coef.f90.

◆ mult

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::mult

Multiplicity.

Definition at line 68 of file coef.f90.

◆ mult_d

type(c_ptr) coefs::coef_t::mult_d = C_NULL_PTR

Definition at line 133 of file coef.f90.

◆ nx

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::nx

x-direction of facet normal

Definition at line 93 of file coef.f90.

◆ nx_d

type(c_ptr) coefs::coef_t::nx_d = C_NULL_PTR

Definition at line 141 of file coef.f90.

◆ ny

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::ny

y-direction of facet normal

Definition at line 94 of file coef.f90.

◆ ny_d

type(c_ptr) coefs::coef_t::ny_d = C_NULL_PTR

Definition at line 142 of file coef.f90.

◆ nz

real(kind=rp), dimension(:,:,:,:), allocatable coefs::coef_t::nz

z-direction of facet normal

Definition at line 95 of file coef.f90.

◆ nz_d

type(c_ptr) coefs::coef_t::nz_d = C_NULL_PTR

Definition at line 143 of file coef.f90.

◆ volume

real(kind=rp) coefs::coef_t::volume

Pointers to main fields.

Definition at line 98 of file coef.f90.

◆ xh

type(space_t), pointer coefs::coef_t::xh => null()

Definition at line 100 of file coef.f90.


The documentation for this type was generated from the following file: