WRITEIRREPTAB Subroutine

public subroutine WRITEIRREPTAB(IUNIT, CHARS, NROT, NSYM)

Arguments

Type IntentOptional Attributes Name
integer :: IUNIT
complex(kind=dp) :: CHARS(NROT,NSYM)
integer :: NROT
integer :: NSYM

Contents

Source Code


Source Code

    SUBROUTINE WRITEIRREPTAB(IUNIT, CHARS, NROT, NSYM)
        IMPLICIT NONE
        INTEGER IUNIT, NROT, NSYM
        complex(dp) CHARS(NROT, NSYM)
        CHARACTER(6) STR
        INTEGER I, J
        LOGICAL LCOMP, LREAL
        LCOMP = .FALSE.
        LREAL = .FALSE.
        DO I = 1, NSYM
            DO J = 1, NROT
                IF (ABS(REAL(CHARS(J, I))) > 1.0e-2_dp .AND. ABS(AIMAG(CHARS(J, I))) > 1.0e-2_dp) LCOMP = .TRUE.
                IF (ABS(REAL(CHARS(J, I)) - NINT(REAL(CHARS(J, I)))) > 1.0e-2_dp) LREAL = .TRUE.
                IF (ABS(AIMAG(CHARS(J, I)) - NINT(AIMAG(CHARS(J, I)))) > 1.0e-2_dp) LREAL = .TRUE.
            end do
        end do
        DO I = 1, NSYM
            write(STR, "(A,I3)") "SYM", I
            CALL WRITECHARSF(IUNIT, CHARS(1, I), NROT, STR, LCOMP, LREAL)
        end do
        write(IUNIT, *)
    END SUBROUTINE WRITEIRREPTAB