51 integer,
intent(in) :: dim
52 integer,
intent(in) :: order
64 type(stencil_t),
intent(inout) :: this
65 integer,
intent(in) :: dim
66 integer,
intent(in) :: order
90 this%points(ii, nn) = jj
102 integer,
intent(in) :: dim
103 integer,
intent(in) :: order
104 integer,
intent(out) :: pol(:,:)
125 integer,
intent(in) :: dim
126 integer,
intent(in) :: order
127 real(real64),
intent(in) :: h(:)
128 type(nl_operator_t),
intent(inout) :: lapl
130 integer :: k, i, j, morder
131 real(real64),
allocatable :: cc(:,:,:)
138 safe_allocate(cc(0:morder, 0:morder, 0:2))
140 lapl%w(1,:) = cc(0, morder, 2)*sum(1/h(1:dim)**2)
146 lapl%w(k,:) = cc(-2*j-1, morder, 2) / h(i)**2
151 lapl%w(k,:) = cc( 2*j, morder, 2) / h(i)**2
155 safe_deallocate_a(cc)
165 integer,
intent(in) :: order
178 integer,
intent(in) :: dim
179 integer,
intent(in) :: dir
180 integer,
intent(in) :: order
190 this%points(dir, n) = i
202 integer,
intent(in) :: dir
203 integer,
intent(in) :: order
204 integer,
intent(out) :: pol(:,:)
221 integer,
intent(in) :: order
222 real(real64),
intent(in) :: h
225 integer :: j, k, morder
226 real(real64),
allocatable :: cc(:,:,:)
233 safe_allocate(cc(0:morder, 0:morder, 0:1))
238 grad%w(k,:) = cc(-2*j-1, morder, 1) / h
242 grad%w(k,:) = cc(0, morder, 1) / h
246 grad%w(k,:) = cc(2*j, morder, 1) / h
249 safe_deallocate_a(cc)
This module is intended to contain "only mathematical" functions and procedures.
subroutine, public weights(N, M, cc, side)
Compute the weights for finite-difference calculations:
This module defines non-local operators.
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 star stencil.
subroutine, public stencil_star_coeff_grad(order, h, grad)
subroutine, public stencil_star_get_grad(this, dim, dir, order)
integer function, public stencil_star_size_grad(order)
now come the gradient routines
subroutine, public stencil_star_coeff_lapl(dim, order, h, lapl)
subroutine, public stencil_star_get_lapl(this, dim, order)
subroutine, public stencil_star_polynomials_grad(dir, order, pol)
subroutine, public stencil_star_polynomials_lapl(dim, order, pol)
integer function, public stencil_star_size_lapl(dim, order)
data type for non local operators
The class representing the stencil, which is used for non-local mesh operations.