eplf/src/electrons.irp.f

57 lines
1013 B
Fortran

BEGIN_PROVIDER [ integer, elec_alpha_num ]
BEGIN_DOC
! Number of alpha electrons
END_DOC
implicit none
elec_alpha_num = -1
!$OMP CRITICAL (qcio_critical)
PROVIDE qcio_filename
call qcio_get_system_num_alpha(elec_alpha_num)
!$OMP END CRITICAL (qcio_critical)
ASSERT (elec_alpha_num > 0)
END_PROVIDER
BEGIN_PROVIDER [ integer, elec_beta_num ]
BEGIN_DOC
! Number of beta electrons
END_DOC
implicit none
elec_beta_num = -1
!$OMP CRITICAL (qcio_critical)
PROVIDE qcio_filename
call qcio_get_system_num_beta(elec_beta_num)
!$OMP END CRITICAL (qcio_critical)
ASSERT (elec_beta_num >= 0)
END_PROVIDER
BEGIN_PROVIDER [ integer, elec_num ]
BEGIN_DOC
! Number of electrons
END_DOC
implicit none
elec_num = elec_alpha_num + elec_beta_num
ASSERT ( elec_num > 0 )
END_PROVIDER
BEGIN_PROVIDER [ integer, elec_num_2, (2) ]
BEGIN_DOC
! Number of alpha and beta electrons in an array
END_DOC
elec_num_2(1) = elec_alpha_num
elec_num_2(2) = elec_beta_num
END_PROVIDER