44 integer,
public :: type
74 integer,
public,
parameter :: &
75 MXLL_FIELD_NONE = -1, &
84 class(interaction_partner_t),
target,
intent(inout) :: partner
85 class(mxll_e_field_to_matter_t),
pointer :: this
91 this%label =
"mxll_e_field_to_matter"
92 this%partner => partner
94 this%couplings_from_partner = [
"E field"]
95 this%type = mxll_field_none
97 this%intra_interaction = .false.
104 type(mxll_e_field_to_matter_t),
intent(inout) :: this
115 class(interaction_partner_t),
target,
intent(inout) :: partner
116 class(mxll_b_field_to_matter_t),
pointer :: this
122 this%label =
"mxll_b_field_to_matter"
123 this%partner => partner
125 this%couplings_from_partner = [
"B field"]
127 this%intra_interaction = .false.
134 type(mxll_b_field_to_matter_t),
intent(inout) :: this
145 class(interaction_partner_t),
target,
intent(inout) :: partner
146 class(mxll_vec_pot_to_matter_t),
pointer :: this
152 this%label =
"mxll_vec_pot_to_matter"
153 this%partner => partner
155 this%couplings_from_partner = [
"vector potential"]
157 this%intra_interaction = .false.
This module implements the field transfer.
This module defines classes and functions for interaction partners.
Maxwell-field-to-matter interactions.
integer, parameter, public mxll_field_trans
class(mxll_b_field_to_matter_t) function, pointer mxll_b_field_to_matter_constructor(partner)
integer, parameter, public mxll_field_long
integer, parameter, public mxll_vec_pot_trans
subroutine mxll_b_field_to_matter_finalize(this)
subroutine mxll_e_field_to_matter_finalize(this)
class(mxll_vec_pot_to_matter_t) function, pointer mxll_vec_pot_to_matter_constructor(partner)
subroutine mxll_vec_pot_to_matter_finalize(this)
class(mxll_e_field_to_matter_t) function, pointer mxll_e_field_to_matter_constructor(partner)
integer, parameter, public mxll_field_total
class defining the field_transfer interaction
class to transfer a Maxwell B field to a matter system
class to transfer a Maxwell electric field to a medium
class to transfer a Maxwell vector potential to a medium