Octopus
mxll_vec_pot_to_matter.F90
Go to the documentation of this file.
1!! Copyright (C) 2022 F. Bonafé
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#include "global.h"
19
21 use debug_oct_m
23 use global_oct_m
25
26 implicit none
27
28 private
29 public :: &
31
41 contains
44
45
48 end interface mxll_vec_pot_to_matter_t
49
50contains
51
52 function mxll_vec_pot_to_matter_constructor(partner) result(this)
53 class(interaction_partner_t), target, intent(inout) :: partner
54 class(mxll_vec_pot_to_matter_t), pointer :: this
55
57
58 allocate(this)
59
60 this%label = "mxll_vec_pot_to_matter"
61 this%partner => partner
62
63 this%couplings_from_partner = ["vector potential"]
64
65 this%intra_interaction = .false.
66
69
70! ---------------------------------------------------------
71 subroutine mxll_vec_pot_to_matter_finalize(this)
72 type(mxll_vec_pot_to_matter_t), intent(inout) :: this
73
75
76 call this%end()
77
80
82
83!! Local Variables:
84!! mode: f90
85!! coding: utf-8
86!! End:
This module implements the field transfer.
This module defines classes and functions for interaction partners.
class(mxll_vec_pot_to_matter_t) function, pointer mxll_vec_pot_to_matter_constructor(partner)
class defining the field_transfer interaction
class to transfer a Maxwell vector potential to a medium