Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
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(thisfree (this)
 Deallocate coefficients.
 
procedure, pass(thisget_normal (this, i, j, k, e, facet)
 
procedure, pass(thisget_area (this, i, j, k, e, facet)
 
generic init (this, xh, msh)
 Initialize empty coefs for a space and a mesh.
 
generic init (this, gs_h)
 Initialize coefficients.
 

Public Attributes

real(kind=rp), dimension(:,:,:,:), allocatable g11
 Geometric factors \( G_{11} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g22
 Geometric factors \( G_{22} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g33
 Geometric factors \( G_{33} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g12
 Geometric factors \( G_{12} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g13
 Geometric factors \( G_{13} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g23
 Geometric factors \( G_{23} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable mult
 Multiplicity.
 
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 \)
 
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 \)
 
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.
 
real(kind=rp), dimension(:,:,:,:), allocatable h2
 Mass scaling.
 
logical ifh2
 True if h2 .ne. 0.
 
real(kind=rp), dimension(:,:,:,:), allocatable jac
 Jacobian.
 
real(kind=rp), dimension(:,:,:,:), allocatable jacinv
 Inverted Jacobian.
 
real(kind=rp), dimension(:,:,:,:), allocatable b
 Mass matrix/volume matrix.
 
real(kind=rp), dimension(:,:,:,:), allocatable binv
 Inverted Mass matrix/volume matrix.
 
real(kind=rp), dimension(:,:,:,:), allocatable area
 Facet area.
 
real(kind=rp), dimension(:,:,:,:), allocatable nx
 x-direction of facet normal
 
real(kind=rp), dimension(:,:,:,:), allocatable ny
 y-direction of facet normal
 
real(kind=rp), dimension(:,:,:,:), allocatable nz
 z-direction of facet normal
 
real(kind=rp) volume
 Pointers to main fields.
 
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 (this, xh, msh)
 Initialize empty coefs for a space and a mesh.
 
procedure, pass(this), private init_all (this, gs_h)
 Initialize coefficients.
 

Detailed Description

Definition at line 55 of file coef.f90.

Member Function/Subroutine Documentation

◆ free()

procedure, pass(this) coefs::coef_t::free ( class(coef_t), intent(inout this)

Definition at line 150 of file coef.f90.

◆ get_area()

procedure, pass(this) coefs::coef_t::get_area ( class(coef_t), intent(in this,
integer, intent(in i,
integer, intent(in j,
integer, intent(in k,
integer, intent(in e,
integer, intent(in facet 
)

Definition at line 152 of file coef.f90.

◆ get_normal()

procedure, pass(this) coefs::coef_t::get_normal ( class(coef_t), intent(in this,
integer, intent(in i,
integer, intent(in j,
integer, intent(in k,
integer, intent(in e,
integer, intent(in facet 
)

Definition at line 151 of file coef.f90.

◆ init() [1/2]

generic coefs::coef_t::init ( class(coef_t), intent(inout this,
type(gs_t), intent(inout), target  gs_h 
)

Definition at line 153 of file coef.f90.

◆ init() [2/2]

generic coefs::coef_t::init ( class(coef_t), intent(inout this,
type(space_t), intent(inout), target  xh,
type(mesh_t), intent(inout), target  msh 
)

Definition at line 153 of file coef.f90.

◆ init_all()

procedure, pass(this), private coefs::coef_t::init_all ( class(coef_t), intent(inout this,
type(gs_t), intent(inout), target  gs_h 
)
private

Definition at line 149 of file coef.f90.

◆ init_empty()

procedure, pass(this), private coefs::coef_t::init_empty ( class(coef_t), intent(inout this,
type(space_t), intent(inout), target  xh,
type(mesh_t), intent(inout), target  msh 
)
private

Definition at line 148 of file coef.f90.

Member Data Documentation

◆ area

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

Definition at line 93 of file coef.f90.

◆ area_d

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

Definition at line 141 of file coef.f90.

◆ b

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

Definition at line 90 of file coef.f90.

◆ b_d

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

Definition at line 139 of file coef.f90.

◆ binv

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

Definition at line 91 of file coef.f90.

◆ binv_d

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

Definition at line 140 of file coef.f90.

◆ dof

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

Definition at line 103 of file coef.f90.

◆ drdx

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

Definition at line 80 of file coef.f90.

◆ drdx_d

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

Definition at line 125 of file coef.f90.

◆ drdy

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

Definition at line 80 of file coef.f90.

◆ drdy_d

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

Definition at line 126 of file coef.f90.

◆ drdz

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

Definition at line 80 of file coef.f90.

◆ drdz_d

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

Definition at line 127 of file coef.f90.

◆ dsdx

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

Definition at line 81 of file coef.f90.

◆ dsdx_d

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

Definition at line 128 of file coef.f90.

◆ dsdy

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

Definition at line 81 of file coef.f90.

◆ dsdy_d

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

Definition at line 129 of file coef.f90.

◆ dsdz

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

Definition at line 81 of file coef.f90.

◆ dsdz_d

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

Definition at line 130 of file coef.f90.

◆ dtdx

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

Definition at line 82 of file coef.f90.

◆ dtdx_d

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

Definition at line 131 of file coef.f90.

◆ dtdy

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

Definition at line 82 of file coef.f90.

◆ dtdy_d

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

Definition at line 132 of file coef.f90.

◆ dtdz

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

Definition at line 82 of file coef.f90.

◆ dtdz_d

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

Definition at line 133 of file coef.f90.

◆ dxdr

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

Definition at line 74 of file coef.f90.

◆ dxdr_d

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

Definition at line 116 of file coef.f90.

◆ dxds

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

Definition at line 75 of file coef.f90.

◆ dxds_d

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

Definition at line 119 of file coef.f90.

◆ dxdt

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

Definition at line 76 of file coef.f90.

◆ dxdt_d

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

Definition at line 122 of file coef.f90.

◆ dydr

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

Definition at line 74 of file coef.f90.

◆ dydr_d

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

Definition at line 117 of file coef.f90.

◆ dyds

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

Definition at line 75 of file coef.f90.

◆ dyds_d

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

Definition at line 120 of file coef.f90.

◆ dydt

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

Definition at line 76 of file coef.f90.

◆ dydt_d

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

Definition at line 123 of file coef.f90.

◆ dzdr

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

Definition at line 74 of file coef.f90.

◆ dzdr_d

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

Definition at line 118 of file coef.f90.

◆ dzds

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

Definition at line 75 of file coef.f90.

◆ dzds_d

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

Definition at line 121 of file coef.f90.

◆ dzdt

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

Definition at line 76 of file coef.f90.

◆ dzdt_d

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

Definition at line 124 of file coef.f90.

◆ g11

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

Definition at line 57 of file coef.f90.

◆ g11_d

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

Definition at line 110 of file coef.f90.

◆ g12

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

Definition at line 63 of file coef.f90.

◆ g12_d

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

Definition at line 113 of file coef.f90.

◆ g13

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

Definition at line 65 of file coef.f90.

◆ g13_d

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

Definition at line 114 of file coef.f90.

◆ g22

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

Definition at line 59 of file coef.f90.

◆ g22_d

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

Definition at line 111 of file coef.f90.

◆ g23

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

Definition at line 67 of file coef.f90.

◆ g23_d

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

Definition at line 115 of file coef.f90.

◆ g33

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

Definition at line 61 of file coef.f90.

◆ g33_d

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

Definition at line 112 of file coef.f90.

◆ gs_h

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

Definition at line 104 of file coef.f90.

◆ h1

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

Definition at line 84 of file coef.f90.

◆ h1_d

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

Definition at line 135 of file coef.f90.

◆ h2

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

Definition at line 85 of file coef.f90.

◆ h2_d

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

Definition at line 136 of file coef.f90.

◆ ifh2

logical coefs::coef_t::ifh2

Definition at line 86 of file coef.f90.

◆ jac

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

Definition at line 88 of file coef.f90.

◆ jac_d

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

Definition at line 137 of file coef.f90.

◆ jacinv

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

Definition at line 89 of file coef.f90.

◆ jacinv_d

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

Definition at line 138 of file coef.f90.

◆ msh

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

Definition at line 102 of file coef.f90.

◆ mult

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

Definition at line 69 of file coef.f90.

◆ mult_d

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

Definition at line 134 of file coef.f90.

◆ nx

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

Definition at line 94 of file coef.f90.

◆ nx_d

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

Definition at line 142 of file coef.f90.

◆ ny

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

Definition at line 95 of file coef.f90.

◆ ny_d

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

Definition at line 143 of file coef.f90.

◆ nz

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

Definition at line 96 of file coef.f90.

◆ nz_d

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

Definition at line 144 of file coef.f90.

◆ volume

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

Definition at line 99 of file coef.f90.

◆ xh

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

Definition at line 101 of file coef.f90.


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