Octopus
lapl_operator.F90
Go to the documentation of this file.
1!! Copyright (C) 2002-2006 M. Marques, A. Castro, A. Rubio, G. Bertsch
2!! Copyright (C) 2026 C. Joens
3!!
4!! This program is free software; you can redistribute it and/or modify
5!! it under the terms of the GNU General Public License as published by
6!! the Free Software Foundation; either version 2, or (at your option)
7!! any later version.
8!!
9!! This program is distributed in the hope that it will be useful,
10!! but WITHOUT ANY WARRANTY; without even the implied warranty of
11!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12!! GNU General Public License for more details.
13!!
14!! You should have received a copy of the GNU General Public License
15!! along with this program; if not, write to the Free Software
16!! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17!! 02110-1301, USA.
18!!
19
20#include "global.h"
21
25 use debug_oct_m
27 use global_oct_m
28 use iso_c_binding, only: c_loc, c_f_pointer
31 use mpi_oct_m
34
35 implicit none
36
37 private
38 public :: &
43
44contains
45
46#include "undef.F90"
47#include "complex.F90"
48#include "lapl_operator_inc.F90"
49
50#include "undef.F90"
51#include "real.F90"
52#include "lapl_operator_inc.F90"
53
54end module lapl_operator_oct_m
55
56!! Local Variables:
57!! mode: f90
58!! coding: utf-8
59!! End:
This module calculates the derivatives (gradients, Laplacians, etc.) of a function.
Computes and , suitable as an operator callback for iterative solvers (CG, QMR, etc....
subroutine, public zlaplacian_op(x, hx, userdata)
Computes the negative Laplacian operator action: .
subroutine, public dshifted_laplacian_op(x, lx, userdata)
Computes the shifted Laplacian operator: .
subroutine, public dlaplacian_op(x, hx, userdata)
Computes the negative Laplacian operator action: .
subroutine, public zshifted_laplacian_op(x, lx, userdata)
Computes the shifted Laplacian operator: .