Neko 1.99.9
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)
 Facet normal at a point.
 
procedure, pass(thisget_area (this, i, j, k, e, facet)
 Facet area at a point.
 
procedure, pass(thisrequire_facets (this, who)
 Abort unless this coef holds the facet areas and normals.
 
procedure, pass(thisgenerate_cyclic_bc (this)
 
procedure, pass(thisrecompute_metrics (this)
 Recompute and update geometric factors (ALE)
 
procedure, pass(thismetric_condition (this)
 Compute the largest condition number of the metric tensor over the mesh.
 
procedure, pass(thisenable_b_history (this)
 Enable separate memory for lagged B matrices if needed. For eg. when mesh moves.
 
procedure, pass(thisupdate_b_history (this)
 Update history: Blaglag = Blag, Blag = B.
 
generic init (this, xh, msh)
 Initialize empty coefs for a space and a mesh.
 
generic init (this, gs_h, scope)
 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) metric_cond = 0.0_rp
 Largest condition number of the metric tensor over the mesh, global across ranks. Zero until coef_metric_condition() has been called.
 
integer metric_degenerate = 0
 Quadrature points whose metric tensor is not positive definite, i.e. degenerate or inverted elements. Global across ranks.
 
logical metric_sp_safe = .false.
 Whether the metric is well enough conditioned to store \( G_{ij} \) in single precision, i.e. metric_cond <= NEKO_METRIC_COND_SP and no degenerate points. coef_metric_condition() warns when a single precision build trips the condition limit; a future reduced precision storage path on a double precision build should gate on this flag and report when it declines.
 
real(kind=rp), dimension(:,:,:,:), allocatable g11_compressed
 Compressed geometric factors \( G_{11} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g22_compressed
 Compressed geometric factors \( G_{22} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g33_compressed
 Compressed geometric factors \( G_{33} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g12_compressed
 Compressed geometric factors \( G_{12} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g13_compressed
 Compressed geometric factors \( G_{13} \).
 
real(kind=rp), dimension(:,:,:,:), allocatable g23_compressed
 Compressed geometric factors \( G_{23} \).
 
integer, dimension(:), allocatable compression_inds
 Compressed geometric factors lookup indices.
 
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(:,:,:,:), pointer blag => null()
 Lagged Mass matrix/volume matrix.
 
real(kind=rp), dimension(:,:,:,:), pointer blaglag => null()
 lag-lagged 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
 
logical cyclic = .false.
 
integer, dimension(:), allocatable cyc_msk
 
real(kind=rp), dimension(:), allocatable r11
 entry of 2D rotation matrix at index (1,1)
 
real(kind=rp), dimension(:), allocatable r12
 entry of 2D rotation matrix at index (1,2)
 
integer scope = COEF_FULL
 Which coefficients this instance retains, COEF_FULL or COEF_OPERATOR. Anything not retained is deallocated at the end of init.
 
real(kind=rp) volume = 0.0_rp
 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) blag_d = C_NULL_PTR
 
type(c_ptr) blaglag_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
 
type(c_ptr) cyc_msk_d = C_NULL_PTR
 
type(c_ptr) r11_d = C_NULL_PTR
 
type(c_ptr) r12_d = C_NULL_PTR
 
integer metrics_version = 0
 Version of the current geometry. Incremented by recompute_metrics.
 

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, scope)
 Initialize coefficients.
 

Private Attributes

logical, private coef_metrics_initialized = .false.
 

Detailed Description

Definition at line 93 of file coef.f90.

Member Function/Subroutine Documentation

◆ enable_b_history()

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

Definition at line 243 of file coef.f90.

◆ free()

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

Definition at line 236 of file coef.f90.

◆ generate_cyclic_bc()

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

Definition at line 240 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 
)
Note
Pure, see the note on coef_get_normal().

Definition at line 238 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 
)
Note
Pure, so it cannot reject a coef_t that lacks the normals. Consumers assert that themselves at setup, see coef_require_facets().

Definition at line 237 of file coef.f90.

◆ init() [1/2]

generic coefs::coef_t::init ( class(coef_t), intent(inout), target  this,
type(gs_t), intent(inout), target  gs_h,
integer, intent(in), optional  scope 
)
Parameters
gs_hGather-scatter handle carrying the dofmap to build on.
scopeWhich coefficients to retain, COEF_FULL (default) or COEF_OPERATOR. See the scope parameters for what each one keeps.

Definition at line 245 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 245 of file coef.f90.

◆ init_all()

procedure, pass(this), private coefs::coef_t::init_all ( class(coef_t), intent(inout), target  this,
type(gs_t), intent(inout), target  gs_h,
integer, intent(in), optional  scope 
)
private
Parameters
gs_hGather-scatter handle carrying the dofmap to build on.
scopeWhich coefficients to retain, COEF_FULL (default) or COEF_OPERATOR. See the scope parameters for what each one keeps.

Definition at line 235 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 234 of file coef.f90.

◆ metric_condition()

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

The stored geometric factors are \( G = w_3 J M \), where \( M \) is the metric matrix at a quadrature point. Both \( w_3 \) and the Jacobian are scalar multipliers, so \( \kappa(G) = \kappa(M) \) and the condition number of the stored \( G_{ij} \) is a pure property of the element geometry.

It matters when \( G_{ij} \) is stored in a lower precision than it was computed in. Rounding each entry perturbs it by the unit roundoff \( \epsilon \), hence the eigenvalues by up to \( \epsilon \lambda_{max} \), so the rounded tensor stays positive definite – and the Helmholtz operator therefore stays a valid SPD discretisation – only while \( \kappa(G) \ll 1/\epsilon \): about \( 1.7\times 10^{7} \) in single precision against \( 9\times 10^{15} \) in double. Below that limit the rounding is a \( \sim\epsilon \) perturbation of the diffusion coefficient and the solution moves by the same order; past it the local operator can turn indefinite and a Krylov solve breaks down rather than degrading.

\( \kappa \) grows as the square of the element aspect ratio, and skew compounds it, so a wall resolved boundary layer can come within a factor of ten of the single precision limit while remaining ten orders clear of the double precision one.

Note
On device builds the host copy of \( G_{ij} \) is only refreshed at initialization, so this refreshes it itself when called later. It is not called from recompute_metrics(); a moving mesh that deforms significantly should invoke it explicitly.

Definition at line 242 of file coef.f90.

◆ recompute_metrics()

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

Definition at line 241 of file coef.f90.

◆ require_facets()

procedure, pass(this) coefs::coef_t::require_facets ( class(coef_t), intent(in this,
character(len=*), intent(in who 
)

For consumers of the facet metrics to call once at setup, so that being handed a COEF_OPERATOR coef fails at construction with a message naming the consumer, rather than dereferencing a released array mid solve. get_area() and get_normal() are pure and cannot report it themselves, and some consumers read nx, ny and nz directly and never go through them at all.

Parameters
whoName of the consumer, used in the error message.

Definition at line 239 of file coef.f90.

◆ update_b_history()

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

Definition at line 244 of file coef.f90.

Member Data Documentation

◆ area

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

Definition at line 160 of file coef.f90.

◆ area_d

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

Definition at line 222 of file coef.f90.

◆ b

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

Definition at line 156 of file coef.f90.

◆ b_d

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

Definition at line 218 of file coef.f90.

◆ binv

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

Definition at line 157 of file coef.f90.

◆ binv_d

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

Definition at line 221 of file coef.f90.

◆ blag

real(kind=rp), dimension(:,:,:,:), pointer coefs::coef_t::blag => null()

Definition at line 158 of file coef.f90.

◆ blag_d

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

Definition at line 219 of file coef.f90.

◆ blaglag

real(kind=rp), dimension(:,:,:,:), pointer coefs::coef_t::blaglag => null()

Definition at line 159 of file coef.f90.

◆ blaglag_d

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

Definition at line 220 of file coef.f90.

◆ coef_metrics_initialized

logical, private coefs::coef_t::coef_metrics_initialized = .false.
private

Definition at line 170 of file coef.f90.

◆ compression_inds

integer, dimension(:), allocatable coefs::coef_t::compression_inds

Definition at line 133 of file coef.f90.

◆ cyc_msk

integer, dimension(:), allocatable coefs::coef_t::cyc_msk

Definition at line 165 of file coef.f90.

◆ cyc_msk_d

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

Definition at line 226 of file coef.f90.

◆ cyclic

logical coefs::coef_t::cyclic = .false.

Definition at line 164 of file coef.f90.

◆ dof

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

Definition at line 182 of file coef.f90.

◆ drdx

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

Definition at line 146 of file coef.f90.

◆ drdx_d

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

Definition at line 204 of file coef.f90.

◆ drdy

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

Definition at line 146 of file coef.f90.

◆ drdy_d

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

Definition at line 205 of file coef.f90.

◆ drdz

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

Definition at line 146 of file coef.f90.

◆ drdz_d

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

Definition at line 206 of file coef.f90.

◆ dsdx

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

Definition at line 147 of file coef.f90.

◆ dsdx_d

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

Definition at line 207 of file coef.f90.

◆ dsdy

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

Definition at line 147 of file coef.f90.

◆ dsdy_d

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

Definition at line 208 of file coef.f90.

◆ dsdz

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

Definition at line 147 of file coef.f90.

◆ dsdz_d

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

Definition at line 209 of file coef.f90.

◆ dtdx

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

Definition at line 148 of file coef.f90.

◆ dtdx_d

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

Definition at line 210 of file coef.f90.

◆ dtdy

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

Definition at line 148 of file coef.f90.

◆ dtdy_d

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

Definition at line 211 of file coef.f90.

◆ dtdz

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

Definition at line 148 of file coef.f90.

◆ dtdz_d

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

Definition at line 212 of file coef.f90.

◆ dxdr

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

Definition at line 140 of file coef.f90.

◆ dxdr_d

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

Definition at line 195 of file coef.f90.

◆ dxds

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

Definition at line 141 of file coef.f90.

◆ dxds_d

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

Definition at line 198 of file coef.f90.

◆ dxdt

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

Definition at line 142 of file coef.f90.

◆ dxdt_d

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

Definition at line 201 of file coef.f90.

◆ dydr

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

Definition at line 140 of file coef.f90.

◆ dydr_d

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

Definition at line 196 of file coef.f90.

◆ dyds

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

Definition at line 141 of file coef.f90.

◆ dyds_d

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

Definition at line 199 of file coef.f90.

◆ dydt

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

Definition at line 142 of file coef.f90.

◆ dydt_d

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

Definition at line 202 of file coef.f90.

◆ dzdr

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

Definition at line 140 of file coef.f90.

◆ dzdr_d

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

Definition at line 197 of file coef.f90.

◆ dzds

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

Definition at line 141 of file coef.f90.

◆ dzds_d

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

Definition at line 200 of file coef.f90.

◆ dzdt

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

Definition at line 142 of file coef.f90.

◆ dzdt_d

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

Definition at line 203 of file coef.f90.

◆ g11

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

Definition at line 95 of file coef.f90.

◆ g11_compressed

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

Definition at line 121 of file coef.f90.

◆ g11_d

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

Definition at line 189 of file coef.f90.

◆ g12

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

Definition at line 101 of file coef.f90.

◆ g12_compressed

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

Definition at line 127 of file coef.f90.

◆ g12_d

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

Definition at line 192 of file coef.f90.

◆ g13

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

Definition at line 103 of file coef.f90.

◆ g13_compressed

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

Definition at line 129 of file coef.f90.

◆ g13_d

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

Definition at line 193 of file coef.f90.

◆ g22

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

Definition at line 97 of file coef.f90.

◆ g22_compressed

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

Definition at line 123 of file coef.f90.

◆ g22_d

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

Definition at line 190 of file coef.f90.

◆ g23

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

Definition at line 105 of file coef.f90.

◆ g23_compressed

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

Definition at line 131 of file coef.f90.

◆ g23_d

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

Definition at line 194 of file coef.f90.

◆ g33

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

Definition at line 99 of file coef.f90.

◆ g33_compressed

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

Definition at line 125 of file coef.f90.

◆ g33_d

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

Definition at line 191 of file coef.f90.

◆ gs_h

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

Definition at line 183 of file coef.f90.

◆ h1

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

Definition at line 150 of file coef.f90.

◆ h1_d

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

Definition at line 214 of file coef.f90.

◆ h2

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

Definition at line 151 of file coef.f90.

◆ h2_d

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

Definition at line 215 of file coef.f90.

◆ ifh2

logical coefs::coef_t::ifh2

Definition at line 152 of file coef.f90.

◆ jac

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

Definition at line 154 of file coef.f90.

◆ jac_d

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

Definition at line 216 of file coef.f90.

◆ jacinv

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

Definition at line 155 of file coef.f90.

◆ jacinv_d

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

Definition at line 217 of file coef.f90.

◆ metric_cond

real(kind=rp) coefs::coef_t::metric_cond = 0.0_rp

Definition at line 109 of file coef.f90.

◆ metric_degenerate

integer coefs::coef_t::metric_degenerate = 0

Definition at line 112 of file coef.f90.

◆ metric_sp_safe

logical coefs::coef_t::metric_sp_safe = .false.

Definition at line 119 of file coef.f90.

◆ metrics_version

integer coefs::coef_t::metrics_version = 0

Definition at line 231 of file coef.f90.

◆ msh

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

Definition at line 181 of file coef.f90.

◆ mult

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

Definition at line 135 of file coef.f90.

◆ mult_d

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

Definition at line 213 of file coef.f90.

◆ nx

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

Definition at line 161 of file coef.f90.

◆ nx_d

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

Definition at line 223 of file coef.f90.

◆ ny

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

Definition at line 162 of file coef.f90.

◆ ny_d

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

Definition at line 224 of file coef.f90.

◆ nz

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

Definition at line 163 of file coef.f90.

◆ nz_d

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

Definition at line 225 of file coef.f90.

◆ r11

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

Definition at line 166 of file coef.f90.

◆ r11_d

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

Definition at line 227 of file coef.f90.

◆ r12

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

Definition at line 167 of file coef.f90.

◆ r12_d

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

Definition at line 228 of file coef.f90.

◆ scope

integer coefs::coef_t::scope = COEF_FULL

Definition at line 174 of file coef.f90.

◆ volume

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

Definition at line 178 of file coef.f90.

◆ xh

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

Definition at line 180 of file coef.f90.


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