61    class(interactions_factory_t),         
intent(in)    :: this
 
   62    integer,                               
intent(in)    :: type
 
   63    class(interaction_partner_t),  
target, 
intent(inout) :: partner
 
   64    class(interaction_t),                  
pointer       :: interaction
 
   88      message(1) = 
"Unknown interaction in interactions_factory_create" 
  102    type(namespace_t),                    
intent(in)  :: namespace
 
  103    integer,                              
intent(in)  :: interactions(:)
 
  104    type(interactions_factory_options_t) :: options(size(interactions))
 
  106    integer :: line, col, i, 
type, timing
 
  126    options%timing = timing
 
  129    do i = 1, 
size(interactions)
 
  130      select case (interactions(i))
 
  210    if (
parse_block(namespace, 
"Interactions", blk) == 0) 
then 
  219          call messages_input_error(namespace, 
"Interactions", details=
"Unknown interaction type", row=line, column=0)
 
  223        i = findloc(interactions, 
type, dim=1)
 
  229          call messages_input_error(namespace, 
"Interactions", 
"Unknown interaction mode", row=line, column=1)
 
  232        select case (options(i)%mode)
 
integer, parameter, public mxll_vec_pot_to_matter
 
integer, parameter, public linear_medium_to_em_field
 
integer, parameter, public lorentz_force
 
integer, parameter, public lennard_jones
 
integer, parameter, public gravity
 
integer, parameter, public mxll_b_field_to_matter
 
integer, parameter, public mxll_e_field_to_matter
 
integer, parameter, public current_to_mxll_field
 
integer, parameter, public coulomb_force
 
This module defines the abstract interaction_t class, and some auxiliary classes for interactions.
 
integer, parameter, public timing_exact
 
This module defines classes and functions for interaction partners.
 
This module defines the abstract class for the interaction factory.
 
integer, parameter, public no_partners
 
integer, parameter, public all_except
 
integer, parameter, public only_partners
 
integer, parameter, public all_partners
 
type(interactions_factory_options_t) function, dimension(size(interactions)) interactions_factory_options(namespace, interactions)
return a list of options to be used when creating the interactions
 
class(interaction_t) function, pointer interactions_factory_create(this, type, partner)
create an interaction of given type with specified partner
 
character(len=256), dimension(max_lines), public message
to be output by fatal, warning
 
subroutine, public messages_fatal(no_lines, only_root_writes, namespace)
 
subroutine, public messages_input_error(namespace, var, details, row, column)
 
integer function, public parse_block(namespace, name, blk, check_varinfo_)
 
Coulomb interaction between two systems of particles.
 
Class to transfer a current to a Maxwell field.
 
Gravity interaction between two systems of particles. This should be used for testing purposes only....
 
abstract class for interaction factories
 
Lennard-Jones interaction between two systems of particles.
 
Lorenz force between a systems of particles and an electromagnetic field.
 
class to transfer a Maxwell B field to a matter system
 
class to transfer a Maxwell field to a medium
 
class to transfer a Maxwell vector potential to a medium