48 integer,
parameter,
public :: &
49 SYSTEM_ELECTRONIC = 1, & !< electronic system (electrons_oct_m::electrons_t)
78 class(system_factory_t),
intent(in) :: this
79 type(namespace_t),
intent(in) :: namespace
80 integer,
intent(in) ::
type
81 class(system_t),
pointer :: system
83 integer :: n_systems, is, ic, iother
85 character(len=128),
allocatable :: names(:)
86 integer,
allocatable :: types(:)
123 if (
parse_block(namespace,
'Systems', blk) == 0)
then
126 safe_allocate(names(1:n_systems))
127 safe_allocate(types(1:n_systems))
132 if (len_trim(names(is)) == 0)
then
145 if (names(is) == names(iother))
then
159 safe_deallocate_a(names)
160 safe_deallocate_a(types)
162 case (system_electronic)
171 system =>
dftb_t(namespace)
180 system =>
ions_t(namespace)
This module defines a linear medium for use in classical electrodynamics calculations.
This module defines a container system for electrons and ions.
subroutine, public messages_input_error(namespace, var, details, row, column)
subroutine, public messages_experimental(name, namespace)
This module implements the basic mulsisystem class, a container system for other systems.
character(len=27), parameter, public parser_varname_excluded_characters
The following characters should not be allowed in variable names.
integer function, public parse_block(namespace, name, blk, check_varinfo_)
This module defines the abstract class for the system factory.
integer, parameter, public system_matter
electrons including ions (matter_oct_m::matter_t)
integer, parameter, public system_ions
ensemble of charged classical particles (ions_oct_m::ions_t)
integer, parameter, public system_linear_medium
linear medium for Maxwell calculations (linear_medium_oct_m::linear_medium_t)
recursive class(system_t) function, pointer system_factory_create(this, namespace, type)
create a new system.
integer, parameter, public system_classical_particle
single classical particle (classical_particle_oct_m::classical_particle_t)
integer, parameter, public system_charged_particle
single charged classical particle (charged_particle_oct_m::charged_particle_t)
integer, parameter, public system_dispersive_medium
dispersive medium for classical electrodynamics (dispersive_medium_oct_m::dispersive_medium_t)
integer, parameter, public system_multisystem
container system. (multisystem_basic_oct_m::multisystem_basic_t)
integer, parameter, public system_dftbplus
tight binding system (dftb_oct_m::dftb_t)
integer, parameter, public system_maxwell
maxwell system, (maxwell_oct_m::maxwell_t)
This module implements the abstract system type.
class for a charged classical particle
class for a neutral classical particle
class for a tight binding
dispersive medium for classical electrodynamics calculations
Class describing the electron system.
linear medium for classical electrodynamics
container class for for electrons and ions
Class describing Maxwell systems.
Container class for lists of system_oct_m::system_t.
abstract class of the system factory
factory for classes, derived from the abstract system_cot_m::system_t class