34 use,
intrinsic :: iso_fortran_env
75 function target_factory_create(gr, kpoints, namespace, space, ions, qcs, td, w0, oct, ep, mc)
result(tg)
76 type(grid_t),
intent(in) :: gr
77 type(kpoints_t),
intent(in) :: kpoints
78 type(namespace_t),
intent(in) :: namespace
79 class(space_t),
intent(in) :: space
80 type(ions_t),
intent(in) :: ions
81 type(opt_control_state_t),
intent(inout) :: qcs
82 type(td_t),
intent(in) :: td
83 real(real64),
intent(in) :: w0
84 type(oct_t),
intent(in) :: oct
85 type(epot_t),
intent(inout) :: ep
86 type(multicomm_t),
intent(in) :: mc
87 class(target_t),
pointer :: tg
89 integer :: ierr, target_kind
90 type(states_elec_t),
pointer :: stin
91 type(restart_t) :: restart
165 select case (target_kind)
193 write(
message(1),
'(a)')
"Target Operator not properly defined."
198 tg%type = target_kind
199 tg%move_ions = .false.
207 message(1) =
"Could not read gs for OCTTargetOperator."
211 call tg%init(gr, kpoints, namespace, space, ions, qcs, td, w0, oct, ep, restart)
This module implements the underlying real-space grid.
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)
subroutine, public messages_experimental(name, namespace)
This module handles the communicators for the various parallelization strategies.
This module contains the definition of the oct_t data type, which contains some of the basic informat...
This module holds the "opt_control_state_t" datatype, which contains a quantum-classical state.
type(states_elec_t) function, pointer, public opt_control_point_qs(ocs)
integer, parameter, public restart_gs
integer, parameter, public restart_type_load
subroutine, public states_elec_deallocate_wfns(st)
Deallocates the KS wavefunctions defined within a states_elec_t structure.
subroutine, public states_elec_allocate_wfns(st, mesh, wfs_type, skip, packed)
Allocates the KS wavefunctions defined within a states_elec_t structure.
subroutine, public states_elec_copy(stout, stin, exclude_wfns, exclude_eigenval, special)
make a (selective) copy of a states_elec_t object
Factory for optimal-control targets.
class(target_t) function, pointer, public target_factory_create(gr, kpoints, namespace, space, ions, qcs, td, w0, oct, ep, mc)
Create and initialize the optimal-control target.
Optimal-control targets: abstract base class and public interface.
integer, parameter, public oct_tg_jdensity
integer, parameter, public oct_tg_userdefined
integer, parameter, public oct_tg_hhgnew
integer, parameter, public oct_tg_spin
integer, parameter, public oct_no_curr
integer, parameter, public oct_tg_velocity
integer, parameter, public oct_tg_excited
integer, parameter, public oct_tg_gstransformation
integer, parameter, public oct_tg_groundstate
integer, parameter, public oct_tg_td_local
integer, parameter, public oct_tg_local
integer, parameter, public oct_tg_hhg
integer, parameter, public oct_tg_classical
integer, parameter, public oct_tg_exclude_state
type(type_t), parameter, public type_cmplx
Target on the classical degrees of freedom.
Target on the density and/or the current.
Target projecting onto a linear combination of Slater determinants.
Target projecting onto the complement of a set of states.
Target projecting onto the ground state.
Target on the harmonic emission spectrum (peak optimization).
Target on the harmonic spectrum integrated with a weight function.
Target that is a local (static) operator.
Target on the electronic spin.
Time-dependent local target operator.
Target projecting onto a user-defined state.
Target as a function of the ionic velocities.