49 procedure multisystem_basic_constructor
60 type(namespace_t),
intent(in) :: namespace
61 class(system_factory_abst_t),
intent(in) :: factory
62 character(len=128),
intent(in) :: names(:)
63 integer,
intent(in) :: types(:)
64 class(multisystem_basic_t),
pointer :: system
67 class(system_t),
pointer :: sys
72 system%namespace = namespace
76 allocate(system%supported_interactions(0))
77 allocate(system%supported_interactions_as_partner(0))
79 do is = 1,
size(names)
82 call io_mkdir(names(is), namespace=namespace)
85 sys => factory%create(
namespace_t(names(is), parent=system%namespace), types(is))
88 call system%list%add(sys)
96 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 subroutine multisystem_basic_finalizer(this)
recursive class(multisystem_basic_t) function, pointer multisystem_basic_constructor(namespace, names, types, factory)
initialize a basic multisystem class
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