Octopus
poisson_no.F90
Go to the documentation of this file.
1!! Copyright (C) 2002-2011 M. Marques, A. Castro, A. Rubio, G. Bertsch, M. Oliveira
2!!
3!! This program is free software; you can redistribute it and/or modify
4!! it under the terms of the GNU General Public License as published by
5!! the Free Software Foundation; either version 2, or (at your option)
6!! any later version.
7!!
8!! This program is distributed in the hope that it will be useful,
9!! but WITHOUT ANY WARRANTY; without even the implied warranty of
10!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11!! GNU General Public License for more details.
12!!
13!! You should have received a copy of the GNU General Public License
14!! along with this program; if not, write to the Free Software
15!! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
16!! 02110-1301, USA.
17!!
18
19#include "global.h"
20
22 use debug_oct_m
23 use global_oct_m
24 use mesh_oct_m
26
27 implicit none
28 private
29 public :: &
34
35 type poisson_no_t
36 private
37 !integer :: all_nodes_comm
38 end type poisson_no_t
39contains
40
41 subroutine poisson_no_init(this)
42 type(poisson_no_t), intent(out) :: this
43! may need to add these later for housekeeping in no poisson case. Otherwise delete these 2 lines and
44! type member above
45! integer, intent(in) :: all_nodes_comm
46! logical, optional, intent(in) :: init_world
47
48
49 push_sub(poisson_no_init)
50
51 !this%all_nodes_comm = all_nodes_comm
52
53 pop_sub(poisson_no_init)
54 end subroutine poisson_no_init
55
56 !-----------------------------------------------------------------
57 subroutine poisson_no_end(this)
58 type(poisson_no_t), intent(inout) :: this
59
60 push_sub(poisson_no_end)
61
62! nothing to do - only integer objects in poisson_no_t
63
64 pop_sub(poisson_no_end)
65 end subroutine poisson_no_end
66
67 !-----------------------------------------------------------------
68
69 subroutine poisson_no_solve(this, mesh, pot, rho)
70 type(poisson_no_t), intent(in) :: this
71 type(mesh_t), intent(in) :: mesh
72 real(real64), intent(out) :: pot(:)
73 real(real64), intent(in) :: rho(:)
74
75 push_sub(poisson_no_solve)
76
77 pot(1:mesh%np) = m_zero
78
79 pop_sub(poisson_no_solve)
80 end subroutine poisson_no_solve
81
82end module poisson_no_oct_m
83
84!! Local Variables:
85!! mode: f90
86!! coding: utf-8
87!! End:
real(real64), parameter, public m_zero
Definition: global.F90:187
This module defines the meshes, which are used in Octopus.
Definition: mesh.F90:118
subroutine, public poisson_no_solve(this, mesh, pot, rho)
Definition: poisson_no.F90:163
subroutine, public poisson_no_init(this)
Definition: poisson_no.F90:135
subroutine, public poisson_no_end(this)
Definition: poisson_no.F90:151