GAS_PCHB_init Subroutine

private subroutine GAS_PCHB_init(this, GAS_spec, options)

Initialize the PCHB excitation generator.

Type Bound

GAS_PCHB_ExcGenerator_t

Arguments

Type IntentOptional 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

Contents

Source Code


Source Code

    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