0.6.0
Loading...
Searching...
No Matches
mod_stencil_factory Module Reference

Generate any stencils (single and multiple equations). More...

Data Types

type  t_stencil_equation
 
type  t_stencil_factory
 
type  t_stencil_variable
 

Functions/Subroutines

subroutine initialize_eq_var_extent (factory, label, n_equations, extent)
 
subroutine initialize_from_array (factory, label, array)
 
subroutine perforate_from_triplet (factory, equation, variable, i, j, k)
 
subroutine perforate_from_array (factory, array)
 
subroutine generate_cell_stencil (factory, stencil)
 
subroutine generate_face_stencil (factory, stencil)
 
pure subroutine extend_stencil (factory, extent)
 
pure subroutine index_stencil (e, ez, stencil, c, id)
 
pure subroutine serialize_cell_stencil (stencil)
 
pure subroutine serialize_face_stencil (stencil)
 
pure subroutine one_direction (ns, x, s_xu, s_xv, s_xw)
 
pure subroutine one_direction_to_one_direction (ns, x, direction, s)
 
pure subroutine generate_connectivities (stencil)
 
pure subroutine shift_offsets (stencil)
 

Variables

integer, dimension(3, 5), parameter star_1_2d = reshape([ 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0 ], shape(STAR_1_2D))
 
integer, dimension(3, 9), parameter star_2_2d = reshape([ STAR_1_2D, -2, 0, 0, 2, 0, 0, 0, -2, 0, 0, 2, 0 ], shape(STAR_2_2D))
 
integer, dimension(3, 9), parameter square_1_2d = reshape([ STAR_1_2D, -1, -1, 0, 1, -1, 0, -1, 1, 0, 1, 1, 0 ], shape(SQUARE_1_2D))
 
integer, dimension(3, 25), parameter square_2_2d = reshape([ SQUARE_1_2D, -2, -2, 0, -1, -2, 0, 0, -2, 0, 1, -2, 0, 2, -2, 0, -2, -1, 0, 2, -1, 0, -2, 0, 0, 2, 0, 0, -2, 1, 0, 2, 1, 0, -2, 2, 0, -1, 2, 0, 0, 2, 0, 1, 2, 0, 2, 2, 0 ], shape(SQUARE_2_2D))
 
integer, dimension(3, 7), parameter star_1_3d = reshape([ STAR_1_2D, 0, 0, -1, 0, 0, 1 ], shape(STAR_1_3D))
 
integer, dimension(3, 13), parameter star_2_3d = reshape([ STAR_1_3D, -2, 0, 0, 2, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, -2, 0, 0, 2 ], shape(STAR_2_3D))
 
integer, dimension(3, 27), parameter square_1_3d = reshape([ spread([-1, 0, 1], 2, 9), spread([ spread([-1], 1, 3), spread([0], 1, 3), spread([1], 1, 3) ], 2, 3), spread([-1, 0, 1], 1, 9)], shape(SQUARE_1_3D), order=[2,1] )
 
integer, dimension(3, 125), parameter square_2_3d = reshape([ spread([-2, -1, 0, 1, 2], 2, 25), spread([ spread([-2], 1, 5), spread([-1], 1, 5), spread([ 0], 1, 5), spread([ 1], 1, 5), spread([ 2], 1, 5) ], 2, 5), spread([-2, -1, 0, 1, 2], 1, 25)], shape(SQUARE_2_3D), order=[2,1] )
 
integer, dimension(3, 4), parameter navier_uv_coupling = reshape([ -1, -1, 0, 1, -1, 0, -1, 1, 0, 1, 1, 0 ], shape(NAVIER_UV_COUPLING))
 
integer, dimension(3, 4), parameter navier_uw_coupling = reshape([ -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, 1 ], shape(NAVIER_UW_COUPLING))
 
integer, dimension(3, 4), parameter navier_vw_coupling = reshape([ 0, -1, -1, 0, 1, -1, 0, -1, 1, 0, 1, 1 ], shape(NAVIER_VW_COUPLING))
 
integer, dimension(3, 2 *(size(navier_uv_coupling, 2)+1)), parameter navier_coupling_2d = reshape([ 1, 2, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING, 2, 1, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING ], shape=[3,2*(size(NAVIER_UV_COUPLING, 2) + 1)])
 
integer, parameter navier_coupling_3d_size = 2*(size(NAVIER_UV_COUPLING, 2) + 1) + 2*(size(NAVIER_UW_COUPLING, 2) + 1) + 2*(size(NAVIER_VW_COUPLING, 2) + 1)
 
integer, dimension(3, navier_coupling_3d_size), parameter navier_coupling_3d = reshape([ 1, 2, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING, 2, 1, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING, 1, 3, size(NAVIER_UW_COUPLING, 2), NAVIER_UW_COUPLING, 3, 1, size(NAVIER_UW_COUPLING, 2), NAVIER_UW_COUPLING, 2, 3, size(NAVIER_VW_COUPLING, 2), NAVIER_VW_COUPLING, 3, 2, size(NAVIER_VW_COUPLING, 2), NAVIER_VW_COUPLING ], shape(NAVIER_COUPLING_3D))
 
integer, dimension(3, size(star_1_2d, 2)+size(star_1_3d, 2)+3), parameter, public stencil_1_star = reshape([ 1, 1, size(STAR_1_2D, 2) + 3, 1, 1, size(STAR_1_2D, 2), STAR_1_2D, 1, 1, size(STAR_1_3D, 2), STAR_1_3D ], shape=[3,size(STAR_1_2D, 2)+size(STAR_1_3D, 2)+3])
 
integer, dimension(3, size(star_2_2d, 2)+size(star_2_3d, 2)+3), parameter, public stencil_2_star = reshape([ 1, 1, size(STAR_2_2D, 2) + 3, 1, 1, size(STAR_2_2D, 2), STAR_2_2D, 1, 1, size(STAR_2_3D, 2), STAR_2_3D ], shape=[3,size(STAR_2_2D, 2)+size(STAR_2_3D, 2)+3])
 
integer, dimension(3, size(square_1_2d, 2)+size(square_1_3d, 2)+3), parameter, public stencil_1_square = reshape([ 1, 1, size(SQUARE_1_2D, 2) + 3, 1, 1, size(SQUARE_1_2D, 2), SQUARE_1_2D, 1, 1, size(SQUARE_1_3D, 2), SQUARE_1_3D ], shape=[3,size(SQUARE_1_2D, 2)+size(SQUARE_1_3D, 2)+3])
 
integer, dimension(3, size(square_2_2d, 2)+size(square_2_3d, 2)+3), parameter, public stencil_2_square = reshape([ 1, 1, size(SQUARE_2_2D, 2) + 3, 1, 1, size(SQUARE_2_2D, 2), SQUARE_2_2D, 1, 1, size(SQUARE_2_3D, 2), SQUARE_2_3D ], shape=[3,size(SQUARE_2_2D, 2)+size(SQUARE_2_3D, 2)+3])
 
integer, parameter navier_1_star_3d_offset = 2 + (size(STAR_1_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
 
integer, parameter navier_1_star_size = NAVIER_1_STAR_3D_OFFSET - 1 + (size(STAR_1_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
 
integer, dimension(3, navier_1_star_size), parameter, public stencil_navier_1_star = reshape([ 2, 3, NAVIER_1_STAR_3D_OFFSET, 1, 1, size(STAR_1_2D, 2), STAR_1_2D, 2, 2, size(STAR_1_2D, 2), STAR_1_2D, NAVIER_COUPLING_2D, 1, 1, size(STAR_1_3D, 2), STAR_1_3D, 2, 2, size(STAR_1_3D, 2), STAR_1_3D, 3, 3, size(STAR_1_3D, 2), STAR_1_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_1_STAR_SIZE])
 
integer, parameter navier_2_star_3d_offset = 2 + (size(STAR_2_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
 
integer, parameter navier_2_star_size = NAVIER_2_STAR_3D_OFFSET - 1 + (size(STAR_2_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
 
integer, dimension(3, navier_2_star_size), parameter, public stencil_navier_2_star = reshape([ 2, 3, NAVIER_2_STAR_3D_OFFSET, 1, 1, size(STAR_2_2D, 2), STAR_2_2D, 2, 2, size(STAR_2_2D, 2), STAR_2_2D, NAVIER_COUPLING_2D, 1, 1, size(STAR_2_3D, 2), STAR_2_3D, 2, 2, size(STAR_2_3D, 2), STAR_2_3D, 3, 3, size(STAR_2_3D, 2), STAR_2_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_2_STAR_SIZE])
 
integer, parameter navier_1_square_3d_offset = 2 + (size(SQUARE_1_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
 
integer, parameter navier_1_square_size = NAVIER_1_SQUARE_3D_OFFSET - 1 + (size(SQUARE_1_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
 
integer, dimension(3, navier_1_square_size), parameter, public stencil_navier_1_square = reshape([ 2, 3, NAVIER_1_SQUARE_3D_OFFSET, 1, 1, size(SQUARE_1_2D, 2), SQUARE_1_2D, 2, 2, size(SQUARE_1_2D, 2), SQUARE_1_2D, NAVIER_COUPLING_2D, 1, 1, size(SQUARE_1_3D, 2), SQUARE_1_3D, 2, 2, size(SQUARE_1_3D, 2), SQUARE_1_3D, 3, 3, size(SQUARE_1_3D, 2), SQUARE_1_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_1_SQUARE_SIZE])
 
integer, parameter navier_2_square_3d_offset = 2 + (size(SQUARE_2_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
 
integer, parameter navier_2_square_size = NAVIER_2_SQUARE_3D_OFFSET - 1 + (size(SQUARE_2_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
 
integer, dimension(3, navier_2_square_size), parameter, public stencil_navier_2_square = reshape([ 2, 3, NAVIER_2_SQUARE_3D_OFFSET, 1, 1, size(SQUARE_2_2D, 2), SQUARE_2_2D, 2, 2, size(SQUARE_2_2D, 2), SQUARE_2_2D, NAVIER_COUPLING_2D, 1, 1, size(SQUARE_2_3D, 2), SQUARE_2_3D, 2, 2, size(SQUARE_2_3D, 2), SQUARE_2_3D, 3, 3, size(SQUARE_2_3D, 2), SQUARE_2_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_2_SQUARE_SIZE])
 

Detailed Description

Generate any stencils (single and multiple equations).

Function/Subroutine Documentation

◆ extend_stencil()

pure subroutine mod_stencil_factory::extend_stencil ( type(t_stencil_factory), intent(inout) factory,
integer, intent(in) extent )
private

◆ generate_cell_stencil()

subroutine mod_stencil_factory::generate_cell_stencil ( class(t_stencil_factory), intent(inout) factory,
type(t_cell_stencil), intent(out) stencil )
private

◆ generate_connectivities()

pure subroutine mod_stencil_factory::generate_connectivities ( type(t_face_stencil), intent(inout) stencil)
private

◆ generate_face_stencil()

subroutine mod_stencil_factory::generate_face_stencil ( class(t_stencil_factory), intent(inout) factory,
type(t_face_stencil), intent(out) stencil )
private

◆ index_stencil()

pure subroutine mod_stencil_factory::index_stencil ( integer, intent(in) e,
integer, intent(in) ez,
integer, dimension(-e:e,-e:e,-e:e), intent(inout) stencil,
integer(int8), dimension(-e:e,-e:e,-ez:ez), intent(in) c,
integer, intent(inout) id )
private

◆ initialize_eq_var_extent()

subroutine mod_stencil_factory::initialize_eq_var_extent ( class(t_stencil_factory), intent(out) factory,
character(len=*), intent(in) label,
integer, intent(in) n_equations,
integer, intent(in) extent )
private

◆ initialize_from_array()

subroutine mod_stencil_factory::initialize_from_array ( class(t_stencil_factory), intent(out) factory,
character(len=*), intent(in) label,
integer, dimension(:,:), intent(in) array )
private

◆ one_direction()

pure subroutine mod_stencil_factory::one_direction ( integer, intent(in) ns,
integer, dimension(-ns:ns,-ns:ns,-ns:ns,3), intent(in) x,
type(t_serialized_stencil), dimension(:), intent(out), allocatable s_xu,
type(t_serialized_stencil), dimension(:), intent(out), allocatable s_xv,
type(t_serialized_stencil), dimension(:), intent(out), allocatable s_xw )
private

◆ one_direction_to_one_direction()

pure subroutine mod_stencil_factory::one_direction_to_one_direction ( integer, intent(in) ns,
integer, dimension(-ns:ns,-ns:ns,-ns:ns,3), intent(in) x,
integer, intent(in) direction,
type(t_serialized_stencil), dimension(:), intent(out), allocatable s )
private

◆ perforate_from_array()

subroutine mod_stencil_factory::perforate_from_array ( class(t_stencil_factory), intent(inout) factory,
integer, dimension(:,:), intent(in) array )
private

◆ perforate_from_triplet()

subroutine mod_stencil_factory::perforate_from_triplet ( class(t_stencil_factory), intent(inout) factory,
integer, intent(in) equation,
integer, intent(in) variable,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k )
private

◆ serialize_cell_stencil()

pure subroutine mod_stencil_factory::serialize_cell_stencil ( type(t_cell_stencil), intent(inout) stencil)
private

◆ serialize_face_stencil()

pure subroutine mod_stencil_factory::serialize_face_stencil ( type(t_face_stencil), intent(inout) stencil)
private

◆ shift_offsets()

pure subroutine mod_stencil_factory::shift_offsets ( type(t_face_stencil), intent(inout) stencil)
private

Variable Documentation

◆ navier_1_square_3d_offset

integer, parameter mod_stencil_factory::navier_1_square_3d_offset = 2 + (size(SQUARE_1_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
private

◆ navier_1_square_size

integer, parameter mod_stencil_factory::navier_1_square_size = NAVIER_1_SQUARE_3D_OFFSET - 1 + (size(SQUARE_1_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
private

◆ navier_1_star_3d_offset

integer, parameter mod_stencil_factory::navier_1_star_3d_offset = 2 + (size(STAR_1_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
private

◆ navier_1_star_size

integer, parameter mod_stencil_factory::navier_1_star_size = NAVIER_1_STAR_3D_OFFSET - 1 + (size(STAR_1_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
private

◆ navier_2_square_3d_offset

integer, parameter mod_stencil_factory::navier_2_square_3d_offset = 2 + (size(SQUARE_2_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
private

◆ navier_2_square_size

integer, parameter mod_stencil_factory::navier_2_square_size = NAVIER_2_SQUARE_3D_OFFSET - 1 + (size(SQUARE_2_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
private

◆ navier_2_star_3d_offset

integer, parameter mod_stencil_factory::navier_2_star_3d_offset = 2 + (size(STAR_2_2D, 2) + 1)*2 + size(NAVIER_COUPLING_2D, 2)
private

◆ navier_2_star_size

integer, parameter mod_stencil_factory::navier_2_star_size = NAVIER_2_STAR_3D_OFFSET - 1 + (size(STAR_2_3D, 2) + 1)*3 + size(NAVIER_COUPLING_3D, 2)
private

◆ navier_coupling_2d

integer, dimension(3,2*(size(navier_uv_coupling, 2) + 1)), parameter mod_stencil_factory::navier_coupling_2d = reshape([ 1, 2, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING, 2, 1, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING ], shape=[3,2*(size(NAVIER_UV_COUPLING, 2) + 1)])
private

◆ navier_coupling_3d

integer, dimension(3,navier_coupling_3d_size), parameter mod_stencil_factory::navier_coupling_3d = reshape([ 1, 2, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING, 2, 1, size(NAVIER_UV_COUPLING, 2), NAVIER_UV_COUPLING, 1, 3, size(NAVIER_UW_COUPLING, 2), NAVIER_UW_COUPLING, 3, 1, size(NAVIER_UW_COUPLING, 2), NAVIER_UW_COUPLING, 2, 3, size(NAVIER_VW_COUPLING, 2), NAVIER_VW_COUPLING, 3, 2, size(NAVIER_VW_COUPLING, 2), NAVIER_VW_COUPLING ], shape(NAVIER_COUPLING_3D))
private

◆ navier_coupling_3d_size

integer, parameter mod_stencil_factory::navier_coupling_3d_size = 2*(size(NAVIER_UV_COUPLING, 2) + 1) + 2*(size(NAVIER_UW_COUPLING, 2) + 1) + 2*(size(NAVIER_VW_COUPLING, 2) + 1)
private

◆ navier_uv_coupling

integer, dimension(3,4), parameter mod_stencil_factory::navier_uv_coupling = reshape([ -1, -1, 0, 1, -1, 0, -1, 1, 0, 1, 1, 0 ], shape(NAVIER_UV_COUPLING))
private

◆ navier_uw_coupling

integer, dimension(3,4), parameter mod_stencil_factory::navier_uw_coupling = reshape([ -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, 1 ], shape(NAVIER_UW_COUPLING))
private

◆ navier_vw_coupling

integer, dimension(3,4), parameter mod_stencil_factory::navier_vw_coupling = reshape([ 0, -1, -1, 0, 1, -1, 0, -1, 1, 0, 1, 1 ], shape(NAVIER_VW_COUPLING))
private

◆ square_1_2d

integer, dimension(3,9), parameter mod_stencil_factory::square_1_2d = reshape([ STAR_1_2D, -1, -1, 0, 1, -1, 0, -1, 1, 0, 1, 1, 0 ], shape(SQUARE_1_2D))
private

◆ square_1_3d

integer, dimension(3,27), parameter mod_stencil_factory::square_1_3d = reshape([ spread([-1, 0, 1], 2, 9), spread([ spread([-1], 1, 3), spread([0], 1, 3), spread([1], 1, 3) ], 2, 3), spread([-1, 0, 1], 1, 9)], shape(SQUARE_1_3D), order=[2,1] )
private

◆ square_2_2d

integer, dimension(3,25), parameter mod_stencil_factory::square_2_2d = reshape([ SQUARE_1_2D, -2, -2, 0, -1, -2, 0, 0, -2, 0, 1, -2, 0, 2, -2, 0, -2, -1, 0, 2, -1, 0, -2, 0, 0, 2, 0, 0, -2, 1, 0, 2, 1, 0, -2, 2, 0, -1, 2, 0, 0, 2, 0, 1, 2, 0, 2, 2, 0 ], shape(SQUARE_2_2D))
private

◆ square_2_3d

integer, dimension(3,125), parameter mod_stencil_factory::square_2_3d = reshape([ spread([-2, -1, 0, 1, 2], 2, 25), spread([ spread([-2], 1, 5), spread([-1], 1, 5), spread([ 0], 1, 5), spread([ 1], 1, 5), spread([ 2], 1, 5) ], 2, 5), spread([-2, -1, 0, 1, 2], 1, 25)], shape(SQUARE_2_3D), order=[2,1] )
private

◆ star_1_2d

integer, dimension(3,5), parameter mod_stencil_factory::star_1_2d = reshape([ 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0 ], shape(STAR_1_2D))

◆ star_1_3d

integer, dimension(3,7), parameter mod_stencil_factory::star_1_3d = reshape([ STAR_1_2D, 0, 0, -1, 0, 0, 1 ], shape(STAR_1_3D))
private

◆ star_2_2d

integer, dimension(3,9), parameter mod_stencil_factory::star_2_2d = reshape([ STAR_1_2D, -2, 0, 0, 2, 0, 0, 0, -2, 0, 0, 2, 0 ], shape(STAR_2_2D))
private

◆ star_2_3d

integer, dimension(3,13), parameter mod_stencil_factory::star_2_3d = reshape([ STAR_1_3D, -2, 0, 0, 2, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, -2, 0, 0, 2 ], shape(STAR_2_3D))
private

◆ stencil_1_square

integer, dimension(3,size(square_1_2d, 2)+size(square_1_3d, 2)+3), parameter, public mod_stencil_factory::stencil_1_square = reshape([ 1, 1, size(SQUARE_1_2D, 2) + 3, 1, 1, size(SQUARE_1_2D, 2), SQUARE_1_2D, 1, 1, size(SQUARE_1_3D, 2), SQUARE_1_3D ], shape=[3,size(SQUARE_1_2D, 2)+size(SQUARE_1_3D, 2)+3])

◆ stencil_1_star

integer, dimension(3,size(star_1_2d, 2)+size(star_1_3d, 2)+3), parameter, public mod_stencil_factory::stencil_1_star = reshape([ 1, 1, size(STAR_1_2D, 2) + 3, 1, 1, size(STAR_1_2D, 2), STAR_1_2D, 1, 1, size(STAR_1_3D, 2), STAR_1_3D ], shape=[3,size(STAR_1_2D, 2)+size(STAR_1_3D, 2)+3])

◆ stencil_2_square

integer, dimension(3,size(square_2_2d, 2)+size(square_2_3d, 2)+3), parameter, public mod_stencil_factory::stencil_2_square = reshape([ 1, 1, size(SQUARE_2_2D, 2) + 3, 1, 1, size(SQUARE_2_2D, 2), SQUARE_2_2D, 1, 1, size(SQUARE_2_3D, 2), SQUARE_2_3D ], shape=[3,size(SQUARE_2_2D, 2)+size(SQUARE_2_3D, 2)+3])

◆ stencil_2_star

integer, dimension(3,size(star_2_2d, 2)+size(star_2_3d, 2)+3), parameter, public mod_stencil_factory::stencil_2_star = reshape([ 1, 1, size(STAR_2_2D, 2) + 3, 1, 1, size(STAR_2_2D, 2), STAR_2_2D, 1, 1, size(STAR_2_3D, 2), STAR_2_3D ], shape=[3,size(STAR_2_2D, 2)+size(STAR_2_3D, 2)+3])

◆ stencil_navier_1_square

integer, dimension(3,navier_1_square_size), parameter, public mod_stencil_factory::stencil_navier_1_square = reshape([ 2, 3, NAVIER_1_SQUARE_3D_OFFSET, 1, 1, size(SQUARE_1_2D, 2), SQUARE_1_2D, 2, 2, size(SQUARE_1_2D, 2), SQUARE_1_2D, NAVIER_COUPLING_2D, 1, 1, size(SQUARE_1_3D, 2), SQUARE_1_3D, 2, 2, size(SQUARE_1_3D, 2), SQUARE_1_3D, 3, 3, size(SQUARE_1_3D, 2), SQUARE_1_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_1_SQUARE_SIZE])

◆ stencil_navier_1_star

integer, dimension(3,navier_1_star_size), parameter, public mod_stencil_factory::stencil_navier_1_star = reshape([ 2, 3, NAVIER_1_STAR_3D_OFFSET, 1, 1, size(STAR_1_2D, 2), STAR_1_2D, 2, 2, size(STAR_1_2D, 2), STAR_1_2D, NAVIER_COUPLING_2D, 1, 1, size(STAR_1_3D, 2), STAR_1_3D, 2, 2, size(STAR_1_3D, 2), STAR_1_3D, 3, 3, size(STAR_1_3D, 2), STAR_1_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_1_STAR_SIZE])

◆ stencil_navier_2_square

integer, dimension(3,navier_2_square_size), parameter, public mod_stencil_factory::stencil_navier_2_square = reshape([ 2, 3, NAVIER_2_SQUARE_3D_OFFSET, 1, 1, size(SQUARE_2_2D, 2), SQUARE_2_2D, 2, 2, size(SQUARE_2_2D, 2), SQUARE_2_2D, NAVIER_COUPLING_2D, 1, 1, size(SQUARE_2_3D, 2), SQUARE_2_3D, 2, 2, size(SQUARE_2_3D, 2), SQUARE_2_3D, 3, 3, size(SQUARE_2_3D, 2), SQUARE_2_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_2_SQUARE_SIZE])

◆ stencil_navier_2_star

integer, dimension(3,navier_2_star_size), parameter, public mod_stencil_factory::stencil_navier_2_star = reshape([ 2, 3, NAVIER_2_STAR_3D_OFFSET, 1, 1, size(STAR_2_2D, 2), STAR_2_2D, 2, 2, size(STAR_2_2D, 2), STAR_2_2D, NAVIER_COUPLING_2D, 1, 1, size(STAR_2_3D, 2), STAR_2_3D, 2, 2, size(STAR_2_3D, 2), STAR_2_3D, 3, 3, size(STAR_2_3D, 2), STAR_2_3D, NAVIER_COUPLING_3D ], shape=[3,NAVIER_2_STAR_SIZE])