Scrambler
1
|
Data Types | |
type | adjustment |
Defines an adjustment to a stencil piece to limit the range. More... | |
type | BufferDataDef |
type | codependency |
Defines a codependency between stencil pieces. Offset stored twice in range. More... | |
type | dependency |
Pointer to a stencil type. More... | |
type | grouping |
Defines a grouping of two stencil pieces. More... | |
type | StencilBufferDef |
type | StencilDef |
Contains information about stencil pieces used in the hyperbolic solve. More... | |
Public Member Functions | |
INTEGER function, dimension(3, 2) | square (a) |
Reshapes and transposes an array. | |
INTEGER function, dimension(6) | cube (a) |
Creates a 6 element array with values determined by a. | |
subroutine | set_group (a, b) |
Puts stencil pieces in a group. | |
subroutine | set_dependency (a, b, range) |
Creates a dependency between a and b. | |
subroutine | set_codependency (a, b, range) |
Creates a codependency between a and b. | |
subroutine | ExpandIfNeeded (range1, range2, offsets) |
Expands range2 if needed based on range1 and offsets. | |
subroutine | shrink (range1, range2, offsets) |
Shrinks a range if needed. | |
integer function, dimension(3, 2) | expand (dim, x, range) |
Expands the range along the dimension dim a distance x. | |
integer function, dimension(4, 2) | expand_left (dim, x, range) |
Expands the 1st index of range along the dimension dim a distance x. | |
integer function, dimension(3, 2) | expand_right (dim, x, range) |
Expands the 2nd index of range along the dimension dim a distance x. | |
integer function, dimension(3, 2) | expandaux (dim, x, range) |
Converts a cell centered range into a face centered range and expands it along the dimension dim a distance x. | |
integer function, dimension(3, 2) | expandauxinv (dim, x, range) |
Converts a face centered range into a cell centered range and expands it along the dimension dim a distance x. | |
Public Attributes | |
TYPE(BufferDataDef), dimension(:), allocatable | LevelBuffers |
TYPE(BufferDataDef), pointer | ActiveBuffer |
INTEGER, parameter | nStencilsMax = 200 |
TYPE(StencilDef), dimension(nstencilsmax), target | Stencil |
INTEGER | nStencils = 0 |
INTEGER, dimension(nstencilsmax) | slist |
INTEGER | MaxLead |
INTEGER | MaxTrail |
TYPE(dependency), dimension(300) | dependencies |
TYPE(adjustment), dimension(50) | adjustments |
TYPE(grouping), dimension(10) | groupings |
TYPE(codependency), dimension(10) | codependencies |
INTEGER | di = 0 |
INTEGER | gi = 0 |
INTEGER | ci = 0 |
INTEGER, dimension(6), parameter | center_r = (/0,0,0,0,0,0/) |
INTEGER, dimension(6), parameter | center_l = (/-1,-1,0,0,0,0/) |
INTEGER, dimension(6), parameter | center_u = (/0,0,0,0,0,0/) |
INTEGER, dimension(6), parameter | center_d = (/0,0,-1,-1,0,0/) |
INTEGER, dimension(6), parameter | center_b = (/0,0,0,0,-1,-1/) |
INTEGER, dimension(6), parameter | center_f = (/0,0,0,0,0,0/) |
INTEGER, dimension(6), parameter | same = (/0,0,0,0,0,0/) |
INTEGER, dimension(6), parameter | exact = (/1000,1000,1000,1000,1000,1000/) |
Definition at line 23 of file stencil_declarations.f90.
INTEGER function, dimension(3,2) square | ( | INTEGER, dimension(:) | a | ) |
Reshapes and transposes an array.
a | 6 element input array |
Definition at line 114 of file stencil_declarations.f90.
INTEGER function, dimension(6) cube | ( | INTEGER | a | ) |
Creates a 6 element array with values determined by a.
a | offset |
Definition at line 122 of file stencil_declarations.f90.
subroutine set_group | ( | INTEGER | a, |
INTEGER | b | ||
) |
Puts stencil pieces in a group.
a | stencil piece |
b | another stencil piece |
Definition at line 131 of file stencil_declarations.f90.
subroutine set_dependency | ( | INTEGER | a, |
INTEGER | b, | ||
INTEGER, dimension(6) | range | ||
) |
Creates a dependency between a and b.
a | stencil piece |
b | another stencil piece |
range | index range of dependency |
Definition at line 150 of file stencil_declarations.f90.
subroutine set_codependency | ( | INTEGER | a, |
INTEGER | b, | ||
INTEGER, dimension(3) | range | ||
) |
Creates a codependency between a and b.
a | stencil piece |
b | another stencil piece |
range | offset of codependency |
Definition at line 171 of file stencil_declarations.f90.
subroutine ExpandIfNeeded | ( | INTEGER, dimension(3,2) | range1, |
INTEGER, dimension(3,2) | range2, | ||
INTEGER, dimension(3,2) | offsets | ||
) |
Expands range2 if needed based on range1 and offsets.
range1 | 1st range |
range2 | 2nd range |
offsets | offsets from dependencies |
Definition at line 192 of file stencil_declarations.f90.
subroutine shrink | ( | INTEGER, dimension(3,2) | range1, |
INTEGER, dimension(3,2) | range2, | ||
INTEGER, dimension(3,2) | offsets | ||
) |
Shrinks a range if needed.
range1 | available range |
range2 | range to adjust |
offsets | offsets from dependencies |
Definition at line 206 of file stencil_declarations.f90.
integer function, dimension(3,2) expand | ( | integer, intent(in) | dim, |
integer, intent(in) | x, | ||
integer, dimension(3,2), intent(in) | range | ||
) |
Expands the range along the dimension dim a distance x.
dim | direction |
x | distance |
range | to expand |
Definition at line 222 of file stencil_declarations.f90.
integer function, dimension(4,2) expand_left | ( | integer, intent(in) | dim, |
integer, intent(in) | x, | ||
integer, dimension(4,2), intent(in) | range | ||
) |
Expands the 1st index of range along the dimension dim a distance x.
dim | direction |
x | distance |
range | to expand |
Definition at line 235 of file stencil_declarations.f90.
integer function, dimension(3,2) expand_right | ( | integer, intent(in) | dim, |
integer, intent(in) | x, | ||
integer, dimension(3,2), intent(in) | range | ||
) |
Expands the 2nd index of range along the dimension dim a distance x.
dim | direction |
x | distance |
range | to expand |
Definition at line 247 of file stencil_declarations.f90.
integer function, dimension(3,2) expandaux | ( | integer, intent(in) | dim, |
integer, intent(in) | x, | ||
integer, dimension(3,2), intent(in) | range | ||
) |
Converts a cell centered range into a face centered range and expands it along the dimension dim a distance x.
dim | direction |
x | distance |
range | to expand |
Definition at line 261 of file stencil_declarations.f90.
integer function, dimension(3,2) expandauxinv | ( | integer, intent(in) | dim, |
integer, intent(in) | x, | ||
integer, dimension(3,2), intent(in) | range | ||
) |
Converts a face centered range into a cell centered range and expands it along the dimension dim a distance x.
dim | direction |
x | distance |
range | to expand |
Definition at line 274 of file stencil_declarations.f90.
TYPE(BufferDataDef), dimension(:), allocatable LevelBuffers |
Definition at line 55 of file stencil_declarations.f90.
TYPE(BufferDataDef), pointer ActiveBuffer |
Definition at line 56 of file stencil_declarations.f90.
INTEGER, parameter nStencilsMax = 200 |
Definition at line 89 of file stencil_declarations.f90.
TYPE(StencilDef), dimension(nstencilsmax), target Stencil |
Definition at line 90 of file stencil_declarations.f90.
INTEGER nStencils = 0 |
Definition at line 91 of file stencil_declarations.f90.
INTEGER, dimension(nstencilsmax) slist |
Definition at line 93 of file stencil_declarations.f90.
INTEGER MaxLead |
Definition at line 94 of file stencil_declarations.f90.
INTEGER MaxTrail |
Definition at line 94 of file stencil_declarations.f90.
TYPE(dependency), dimension(300) dependencies |
Definition at line 95 of file stencil_declarations.f90.
TYPE(adjustment), dimension(50) adjustments |
Definition at line 96 of file stencil_declarations.f90.
Definition at line 97 of file stencil_declarations.f90.
TYPE(codependency), dimension(10) codependencies |
Definition at line 98 of file stencil_declarations.f90.
INTEGER di = 0 |
Definition at line 100 of file stencil_declarations.f90.
INTEGER gi = 0 |
Definition at line 101 of file stencil_declarations.f90.
INTEGER ci = 0 |
Definition at line 102 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter center_r = (/0,0,0,0,0,0/) |
Definition at line 105 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter center_l = (/-1,-1,0,0,0,0/) |
Definition at line 105 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter center_u = (/0,0,0,0,0,0/) |
Definition at line 105 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter center_d = (/0,0,-1,-1,0,0/) |
Definition at line 105 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter center_b = (/0,0,0,0,-1,-1/) |
Definition at line 105 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter center_f = (/0,0,0,0,0,0/) |
Definition at line 105 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter same = (/0,0,0,0,0,0/) |
Definition at line 105 of file stencil_declarations.f90.
INTEGER, dimension(6), parameter exact = (/1000,1000,1000,1000,1000,1000/) |
Definition at line 105 of file stencil_declarations.f90.