26 use,
intrinsic :: iso_fortran_env
49 integer,
public,
parameter :: &
50 GROUND_STATE_STATIC = 0, &
75 type(namespace_t),
intent(in) :: namespace
76 type(minimizer_factory_t) :: factory
82 call parse_variable(namespace,
'MaximumIter', 200, factory%max_iter)
91 class(minimizer_factory_t),
intent(in) :: this
92 class(interaction_partner_t),
intent(in),
target :: system
93 class(algorithm_t),
pointer :: algorithm
95 integer :: default, algo_type
96 class(minimizer_algorithm_t),
pointer :: algo
110 default = ground_state_static
115 call parse_variable(system%namespace,
'GroundStateAlgorithm',default, algo_type)
122 select case (algo_type)
123 case (ground_state_static)
133 algo%max_iter = this%max_iter
137 algo%system => system
164 minimizer%max_iter = this%max_iter
168 minimizer%system => system
173 algorithm => minimizer
This module defines the abstract interfact for algorithm factories.
This module implements the basic elements defining algorithms.
This module defines classes and functions for interaction partners.
subroutine, public messages_print_with_emphasis(msg, iunit, namespace)
character(len=512), private msg
subroutine, public messages_input_error(namespace, var, details, row, column)
This module implements the basic minimizer framework.
This module implements the factory for ground state algorithm.
type(minimizer_factory_t) function minimizer_factory_constructor(namespace)
Constructor for the minimizer factory.
class(algorithm_t) function, pointer minimizer_factory_create_static(this, system)
Create a static minimizer.
integer, parameter, public ground_state_scf
class(algorithm_t) function, pointer minimizer_factory_create(this, system)
Create a ground-state algorithm.
This module implements the basic mulsisystem class, a container system for other systems.
This module implements the abstract system type.
This module defines the unit system, used for input and output.
Abstract class for the algorithm factories.
An algorithm is a list of algorithmic operations executed sequentially.
Class describing the electron system.
abstract class for general interaction partners
Abstract class implementing minimizers.
This class defines the factory for minimizers.
Implements a minimizer algorithm for SCF calculations.
Implements a static minimizer that keeps the state of the system constant.
Abstract class for systems.