Initialize the PCHB excitation generator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(GAS_PCHB_ExcGenerator_t), | intent(inout) | :: | this |
The GAS specifications for the excitation generator. |
||
class(GASSpec_t), | intent(in) | :: | GAS_spec | |||
type(GAS_PCHB_options_t), | intent(in) | :: | options |
subroutine GAS_PCHB_init(this, GAS_spec, options)
!! Initialize the PCHB excitation generator.
!!
class(GAS_PCHB_ExcGenerator_t), intent(inout) :: this
!! The GAS specifications for the excitation generator.
class(GASSpec_t), intent(in) :: GAS_spec
type(GAS_PCHB_options_t), intent(in) :: options
routine_name("gasci_pchb_main::GAS_PCHB_init")
call set_timer(GAS_PCHB_init_time)
if (.not. GAS_spec%is_valid(nBasis)) then
call stop_all(this_routine, "GAS specification not valid.")
end if
call options%assert_validity()
write(stdout, '(A)') 'GAS PCHB with' // options%to_str() // 'is used'
call singles_allocate_and_init(GAS_spec, options%singles, options%use_lookup, this%singles_generator)
call doubles_allocate_and_init(GAS_spec, options%doubles, options%use_lookup, this%doubles_generator)
call halt_timer(GAS_PCHB_init_time)
end subroutine GAS_PCHB_init