46    integer, 
intent(in) :: dim
 
   47    integer, 
intent(in) :: order
 
   52    if (dim == 2) n = n + 12
 
   53    if (dim == 3) n = n + 44
 
   61    integer, 
intent(in) :: dim
 
   62    integer, 
intent(in) :: order
 
   67    if (dim == 2) n = n + 2
 
   68    if (dim == 3) n = n + 4
 
   76    type(stencil_t), 
intent(inout) :: this
 
   77    integer,         
intent(in)    :: dim
 
   78    integer,         
intent(in)    :: order
 
  103          this%points(i, n) = j
 
  106      n = n + 1; this%points(1:2, n) = (/ -2,  1 /)
 
  107      n = n + 1; this%points(1:2, n) = (/ -2, -1 /)
 
  108      n = n + 1; this%points(1:2, n) = (/ -1,  2 /)
 
  109      n = n + 1; this%points(1:2, n) = (/ -1,  1 /)
 
  110      n = n + 1; this%points(1:2, n) = (/ -1, -1 /)
 
  111      n = n + 1; this%points(1:2, n) = (/ -1, -2 /)
 
  112      n = n + 1; this%points(1:2, n) = (/  1,  2 /)
 
  113      n = n + 1; this%points(1:2, n) = (/  1,  1 /)
 
  114      n = n + 1; this%points(1:2, n) = (/  1, -1 /)
 
  115      n = n + 1; this%points(1:2, n) = (/  1, -2 /)
 
  116      n = n + 1; this%points(1:2, n) = (/  2,  1 /)
 
  117      n = n + 1; this%points(1:2, n) = (/  2, -1 /)
 
  124          this%points(i, n) = j
 
  127      n = n + 1; this%points(1:3, n) = (/ -2,  1, 0 /)
 
  128      n = n + 1; this%points(1:3, n) = (/ -2, -1, 0 /)
 
  129      n = n + 1; this%points(1:3, n) = (/ -1,  2, 0 /)
 
  130      n = n + 1; this%points(1:3, n) = (/ -1,  1, 0 /)
 
  131      n = n + 1; this%points(1:3, n) = (/ -1, -1, 0 /)
 
  132      n = n + 1; this%points(1:3, n) = (/ -1, -2, 0 /)
 
  133      n = n + 1; this%points(1:3, n) = (/  1,  2, 0 /)
 
  134      n = n + 1; this%points(1:3, n) = (/  1,  1, 0 /)
 
  135      n = n + 1; this%points(1:3, n) = (/  1, -1, 0 /)
 
  136      n = n + 1; this%points(1:3, n) = (/  1, -2, 0 /)
 
  137      n = n + 1; this%points(1:3, n) = (/  2,  1, 0 /)
 
  138      n = n + 1; this%points(1:3, n) = (/  2, -1, 0 /)
 
  140      n = n + 1; this%points(1:3, n) = (/ -2, 0,  1 /)
 
  141      n = n + 1; this%points(1:3, n) = (/ -2, 0, -1 /)
 
  142      n = n + 1; this%points(1:3, n) = (/ -1, 0,  2 /)
 
  143      n = n + 1; this%points(1:3, n) = (/ -1, 0,  1 /)
 
  144      n = n + 1; this%points(1:3, n) = (/ -1, 0, -1 /)
 
  145      n = n + 1; this%points(1:3, n) = (/ -1, 0, -2 /)
 
  146      n = n + 1; this%points(1:3, n) = (/  1, 0,  2 /)
 
  147      n = n + 1; this%points(1:3, n) = (/  1, 0,  1 /)
 
  148      n = n + 1; this%points(1:3, n) = (/  1, 0, -1 /)
 
  149      n = n + 1; this%points(1:3, n) = (/  1, 0, -2 /)
 
  150      n = n + 1; this%points(1:3, n) = (/  2, 0,  1 /)
 
  151      n = n + 1; this%points(1:3, n) = (/  2, 0, -1 /)
 
  153      n = n + 1; this%points(1:3, n) = (/ 0, -2,  1 /)
 
  154      n = n + 1; this%points(1:3, n) = (/ 0, -2, -1 /)
 
  155      n = n + 1; this%points(1:3, n) = (/ 0, -1,  2 /)
 
  156      n = n + 1; this%points(1:3, n) = (/ 0, -1,  1 /)
 
  157      n = n + 1; this%points(1:3, n) = (/ 0, -1, -1 /)
 
  158      n = n + 1; this%points(1:3, n) = (/ 0, -1, -2 /)
 
  159      n = n + 1; this%points(1:3, n) = (/ 0,  1,  2 /)
 
  160      n = n + 1; this%points(1:3, n) = (/ 0,  1,  1 /)
 
  161      n = n + 1; this%points(1:3, n) = (/ 0,  1, -1 /)
 
  162      n = n + 1; this%points(1:3, n) = (/ 0,  1, -2 /)
 
  163      n = n + 1; this%points(1:3, n) = (/ 0,  2,  1 /)
 
  164      n = n + 1; this%points(1:3, n) = (/ 0,  2, -1 /)
 
  166      n = n + 1; this%points(1:3, n) = (/ -1, -1, -1 /)
 
  167      n = n + 1; this%points(1:3, n) = (/ -1, -1,  1 /)
 
  168      n = n + 1; this%points(1:3, n) = (/ -1,  1, -1 /)
 
  169      n = n + 1; this%points(1:3, n) = (/ -1,  1,  1 /)
 
  170      n = n + 1; this%points(1:3, n) = (/  1, -1, -1 /)
 
  171      n = n + 1; this%points(1:3, n) = (/  1, -1,  1 /)
 
  172      n = n + 1; this%points(1:3, n) = (/  1,  1, -1 /)
 
  173      n = n + 1; this%points(1:3, n) = (/  1,  1,  1 /)
 
  186    integer,         
intent(in)    :: dim
 
  187    integer,         
intent(in)    :: dir
 
  188    integer,         
intent(in)    :: order
 
  198      this%points(dir, n) = i
 
  203      this%points(j, n) = -1
 
  205      this%points(j, n) =  1
 
  217    integer, 
intent(in)  :: dim
 
  218    integer, 
intent(in)  :: order
 
  219    integer, 
intent(out) :: pol(:,:)
 
  245      n = n + 1; pol(1:2, n) = (/ 1, 1 /)
 
  246      n = n + 1; pol(1:2, n) = (/ 1, 2 /)
 
  247      n = n + 1; pol(1:2, n) = (/ 1, 3 /)
 
  248      n = n + 1; pol(1:2, n) = (/ 1, 4 /)
 
  249      n = n + 1; pol(1:2, n) = (/ 2, 1 /)
 
  250      n = n + 1; pol(1:2, n) = (/ 2, 2 /)
 
  251      n = n + 1; pol(1:2, n) = (/ 2, 3 /)
 
  252      n = n + 1; pol(1:2, n) = (/ 2, 4 /)
 
  253      n = n + 1; pol(1:2, n) = (/ 3, 1 /)
 
  254      n = n + 1; pol(1:2, n) = (/ 3, 2 /)
 
  255      n = n + 1; pol(1:2, n) = (/ 4, 1 /)
 
  256      n = n + 1; pol(1:2, n) = (/ 4, 2 /)
 
  267      n = n + 1; pol(1:3, n) = (/ 1, 1, 0 /)
 
  268      n = n + 1; pol(1:3, n) = (/ 1, 2, 0 /)
 
  269      n = n + 1; pol(1:3, n) = (/ 1, 3, 0 /)
 
  270      n = n + 1; pol(1:3, n) = (/ 1, 4, 0 /)
 
  271      n = n + 1; pol(1:3, n) = (/ 2, 1, 0 /)
 
  272      n = n + 1; pol(1:3, n) = (/ 2, 2, 0 /)
 
  273      n = n + 1; pol(1:3, n) = (/ 2, 3, 0 /)
 
  274      n = n + 1; pol(1:3, n) = (/ 2, 4, 0 /)
 
  275      n = n + 1; pol(1:3, n) = (/ 3, 1, 0 /)
 
  276      n = n + 1; pol(1:3, n) = (/ 3, 2, 0 /)
 
  277      n = n + 1; pol(1:3, n) = (/ 4, 1, 0 /)
 
  278      n = n + 1; pol(1:3, n) = (/ 4, 2, 0 /)
 
  280      n = n + 1; pol(1:3, n) = (/ 1, 0, 1 /)
 
  281      n = n + 1; pol(1:3, n) = (/ 1, 0, 2 /)
 
  282      n = n + 1; pol(1:3, n) = (/ 1, 0, 3 /)
 
  283      n = n + 1; pol(1:3, n) = (/ 1, 0, 4 /)
 
  284      n = n + 1; pol(1:3, n) = (/ 2, 0, 1 /)
 
  285      n = n + 1; pol(1:3, n) = (/ 2, 0, 2 /)
 
  286      n = n + 1; pol(1:3, n) = (/ 2, 0, 3 /)
 
  287      n = n + 1; pol(1:3, n) = (/ 2, 0, 4 /)
 
  288      n = n + 1; pol(1:3, n) = (/ 3, 0, 1 /)
 
  289      n = n + 1; pol(1:3, n) = (/ 3, 0, 2 /)
 
  290      n = n + 1; pol(1:3, n) = (/ 4, 0, 1 /)
 
  291      n = n + 1; pol(1:3, n) = (/ 4, 0, 2 /)
 
  293      n = n + 1; pol(1:3, n) = (/ 0, 1, 1 /)
 
  294      n = n + 1; pol(1:3, n) = (/ 0, 1, 2 /)
 
  295      n = n + 1; pol(1:3, n) = (/ 0, 1, 3 /)
 
  296      n = n + 1; pol(1:3, n) = (/ 0, 1, 4 /)
 
  297      n = n + 1; pol(1:3, n) = (/ 0, 2, 1 /)
 
  298      n = n + 1; pol(1:3, n) = (/ 0, 2, 2 /)
 
  299      n = n + 1; pol(1:3, n) = (/ 0, 2, 3 /)
 
  300      n = n + 1; pol(1:3, n) = (/ 0, 2, 4 /)
 
  301      n = n + 1; pol(1:3, n) = (/ 0, 3, 1 /)
 
  302      n = n + 1; pol(1:3, n) = (/ 0, 3, 2 /)
 
  303      n = n + 1; pol(1:3, n) = (/ 0, 4, 1 /)
 
  304      n = n + 1; pol(1:3, n) = (/ 0, 4, 2 /)
 
  306      n = n + 1; pol(1:3, n) = (/ 1, 1, 1 /)
 
  307      n = n + 1; pol(1:3, n) = (/ 1, 1, 2 /)
 
  308      n = n + 1; pol(1:3, n) = (/ 1, 2, 1 /)
 
  309      n = n + 1; pol(1:3, n) = (/ 1, 2, 2 /)
 
  310      n = n + 1; pol(1:3, n) = (/ 2, 1, 1 /)
 
  311      n = n + 1; pol(1:3, n) = (/ 2, 1, 2 /)
 
  312      n = n + 1; pol(1:3, n) = (/ 2, 2, 1 /)
 
  313      n = n + 1; pol(1:3, n) = (/ 2, 2, 2 /)
 
  323    integer, 
intent(in)  :: dim
 
  324    integer, 
intent(in)  :: dir
 
  325    integer, 
intent(in)  :: order
 
  326    integer, 
intent(out) :: pol(:,:)
 
  342        n = n + 1; pol(1:2, n) = (/ 0, 1 /)
 
  343        n = n + 1; pol(1:2, n) = (/ 0, 2 /)
 
  345        n = n + 1; pol(1:2, n) = (/ 1, 0 /)
 
  346        n = n + 1; pol(1:2, n) = (/ 2, 0 /)
 
  351        n = n + 1; pol(1:3, n) = (/ 0, 1, 0 /)
 
  352        n = n + 1; pol(1:3, n) = (/ 0, 2, 0 /)
 
  353        n = n + 1; pol(1:3, n) = (/ 0, 0, 1 /)
 
  354        n = n + 1; pol(1:3, n) = (/ 0, 0, 2 /)
 
  356        n = n + 1; pol(1:3, n) = (/ 1, 0, 0 /)
 
  357        n = n + 1; pol(1:3, n) = (/ 2, 0, 0 /)
 
  358        n = n + 1; pol(1:3, n) = (/ 0, 0, 1 /)
 
  359        n = n + 1; pol(1:3, n) = (/ 0, 0, 2 /)
 
  361        n = n + 1; pol(1:3, n) = (/ 1, 0, 0 /)
 
  362        n = n + 1; pol(1:3, n) = (/ 2, 0, 0 /)
 
  363        n = n + 1; pol(1:3, n) = (/ 0, 1, 0 /)
 
  364        n = n + 1; pol(1:3, n) = (/ 0, 2, 0 /)
 
This module defines stencils used in Octopus.
 
subroutine, public stencil_allocate(this, dim, size)
 
subroutine, public stencil_init_center(this)
 
This module defines routines, generating operators for a stencil consisting of a star and a cross....
 
subroutine, public stencil_starplus_pol_grad(dim, dir, order, pol)
 
subroutine, public stencil_starplus_pol_lapl(dim, order, pol)
 
subroutine, public stencil_starplus_get_lapl(this, dim, order)
 
subroutine, public stencil_starplus_get_grad(this, dim, dir, order)
 
integer function, public stencil_starplus_size_lapl(dim, order)
 
integer function, public stencil_starplus_size_grad(dim, order)
 
The class representing the stencil, which is used for non-local mesh operations.