SUBROUTINE jchoose(ichanl, whichir, jbegin, jend, jstep) !========================================================================================= ! Written by: Jeff Crawford USE Numeric_Kinds_Module USE SymGroup_Module USE QuantumNumber_Module IMPLICIT NONE !========================================================================================= ! I N P U T INTEGER,INTENT(IN) :: whichir,ichanl !========================================================================================= ! O U T P U T INTEGER :: jbegin, jend, jstep !========================================================================================= ! I N T E R N A L S !========================================================================================= ! A L L O C A T A B L E !========================================================================================= ! F U N C T I O N S !========================================================================================= IF (nirrep.eq.8) THEN !(IF 1) C6v ----------------------------------------------------- IF (whichir.le.4) THEN!(IF 2) A1, A2, B1, B2 Only even or odd states for all channels jbegin=MOD(j_in,2) jend=jmax-Mod(jmax+Mod(j_in,2),2) jstep=2 ELSE !(IF 2) E1, E2 Even or odd for channel A, all for channels B and C IF (ichanl.eq.1) THEN jbegin=MOD(j_in,2) jend=jmax-Mod(jmax+Mod(j_in,2),2) jstep=2 ELSE jbegin=0 jend=jmax jstep=1 ENDIF ENDIF !(IF 2) ELSEIF (nirrep.eq.4) THEN !(IF 1) C2v ----------------------------------------------------- IF (ichanl.eq.1) THEN ! A1, A2, B1, B2 Even or odd for channel A, all for B and C jbegin=MOD(j_in,2) jend=jmax-Mod(jmax+Mod(j_in,2),2) jstep=2 ELSE jbegin=0 jend=jmax jstep=1 ENDIF ELSE !(IF 1) C2 ------------------------------------------------------ jbegin=0 jend=jmax jstep=1 ENDIF !(IF 1) END SUBROUTINE jchoose