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
25
26 implicit none
27 private
28 public :: &
33
34 type poisson_no_t
35 private
36 !integer :: all_nodes_comm
37 end type poisson_no_t
38contains
39
40 subroutine poisson_no_init(this)
41 type(poisson_no_t), intent(out) :: this
42! may need to add these later for housekeeping in no poisson case. Otherwise delete these 2 lines and
43! type member above
44! integer, intent(in) :: all_nodes_comm
45! logical, optional, intent(in) :: init_world
46
47
48 push_sub(poisson_no_init)
49
50 !this%all_nodes_comm = all_nodes_comm
51
52 pop_sub(poisson_no_init)
53 end subroutine poisson_no_init
54
55 !-----------------------------------------------------------------
56 subroutine poisson_no_end(this)
57 type(poisson_no_t), intent(inout) :: this
58
59 push_sub(poisson_no_end)
60
61! nothing to do - only integer objects in poisson_no_t
62
63 pop_sub(poisson_no_end)
64 end subroutine poisson_no_end
65
66 !-----------------------------------------------------------------
67
68 subroutine poisson_no_solve(this, mesh, pot, rho)
69 type(poisson_no_t), intent(in) :: this
70 type(mesh_t), intent(in) :: mesh
71 real(real64), intent(out) :: pot(:)
72 real(real64), intent(in) :: rho(:)
73
74 push_sub(poisson_no_solve)
75
76 pot(1:mesh%np) = m_zero
77
78 pop_sub(poisson_no_solve)
79 end subroutine poisson_no_solve
80
81end module poisson_no_oct_m
82
83!! Local Variables:
84!! mode: f90
85!! coding: utf-8
86!! End:
real(real64), parameter, public m_zero
Definition: global.F90:200
This module defines the meshes, which are used in Octopus.
Definition: mesh.F90:120
subroutine, public poisson_no_solve(this, mesh, pot, rho)
Definition: poisson_no.F90:164
subroutine, public poisson_no_init(this)
Definition: poisson_no.F90:136
subroutine, public poisson_no_end(this)
Definition: poisson_no.F90:152