SUBROUTINE repnames (irrep, group, repname) USE FileUnits_Module IMPLICIT NONE INTEGER :: irrep CHARACTER (len=3) :: group, repname IF (group.eq.'C1 ') THEN IF (irrep.eq.1) THEN repname = 'Axx' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSEIF (group.eq.'C2 ') THEN IF (irrep.eq.1) THEN repname = 'Axx' ELSEIF (irrep.eq.2) THEN repname = 'Bxx' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSEIF (group.eq.'C1v') THEN IF (irrep.eq.1) THEN repname = 'A1x' ELSEIF (irrep.eq.2) THEN repname = 'A2x' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSEIF (group.eq.'C2v') THEN IF (irrep.eq.1) THEN repname = 'A1x' ELSEIF (irrep.eq.2) THEN repname = 'A2x' ELSEIF (irrep.eq.3) THEN repname = 'B1x' ELSEIF (irrep.eq.4) THEN repname = 'B2x' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSEIF (group.eq.'C3 ') THEN IF (irrep.eq.1) THEN repname = 'Axx' ELSEIF (irrep.eq.2) THEN repname = 'Exa' ELSEIF (irrep.eq.3) THEN repname = 'Exb' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSEIF (group.eq.'C3v') THEN IF (irrep.eq.1) THEN repname = 'A1x' ELSEIF (irrep.eq.2) THEN repname = 'A2x' ELSEIF (irrep.eq.3) THEN repname = 'Exa' ELSEIF (irrep.eq.4) THEN repname = 'Exb' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSEIF (group.eq.'C6 ') THEN IF (irrep.eq.1) THEN repname = 'Axx' ELSEIF (irrep.eq.2) THEN repname = 'Bxx' ELSEIF (irrep.eq.3) THEN repname = 'E1a' ELSEIF (irrep.eq.4) THEN repname = 'E1b' ELSEIF (irrep.eq.5) THEN repname = 'E2a' ELSEIF (irrep.eq.6) THEN repname = 'E2b' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSEIF (group.eq.'C6v') THEN IF (irrep.eq.1) THEN repname = 'A1x' ELSEIF (irrep.eq.2) THEN repname = 'A2x' ELSEIF (irrep.eq.3) THEN repname = 'B1x' ELSEIF (irrep.eq.4) THEN repname = 'B2x' ELSEIF (irrep.eq.5) THEN repname = 'E1a' ELSEIF (irrep.eq.6) THEN repname = 'E1b' ELSEIF (irrep.eq.7) THEN repname = 'E2a' ELSEIF (irrep.eq.8) THEN repname = 'E2b' ELSE WRITE(Output_Unit, * ) 'irrep not correct: irrep=', irrep ENDIF ELSE WRITE(Output_Unit, * ) 'Incorret or no group: group=', group STOP 'symop' ENDIF RETURN END SUBROUTINE repnames