50 procedure multisystem_basic_constructor
61 type(namespace_t),
intent(in) :: namespace
62 class(system_factory_abst_t),
intent(in) :: factory
63 character(len=128),
intent(in) :: names(:)
64 integer,
intent(in) :: types(:)
65 integer,
intent(in) :: calc_mode_id
66 class(multisystem_basic_t),
pointer :: system
69 class(system_t),
pointer :: sys
74 system%namespace = namespace
78 allocate(system%supported_interactions(0))
79 allocate(system%supported_interactions_as_partner(0))
81 do is = 1,
size(names)
84 call io_mkdir(names(is), namespace=namespace)
87 sys => factory%create(
namespace_t(names(is), parent=system%namespace), types(is), calc_mode_id)
90 call system%list%add(sys)
98 type(multisystem_basic_t),
intent(inout) :: this
subroutine, public io_mkdir(fname, namespace, parents)
This module implements the basic mulsisystem class, a container system for other systems.
recursive class(multisystem_basic_t) function, pointer multisystem_basic_constructor(namespace, names, types, factory, calc_mode_id)
initialize a basic multisystem class
recursive subroutine multisystem_basic_finalizer(this)
This module implements the abstract multisystem class.
recursive subroutine, public multisystem_end(this)
This module defines the abstract class for the system factory.
This module implements the abstract system type.
Container class for lists of system_oct_m::system_t.
the abstract multisystem class