Search Site | Contact Details | FAQ

ADAS Subroutine xxcftr

      SUBROUTINE XXCFTR( ICFSEL , CSTRGI , CSTRGO )
C
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: XXCFTR *********************
C
C  PURPOSE: CONVERTS A CONFIGURATION CHARACTER STRING, SUCH AS OCCURS
C           IN A SPECIFIC ION FILE LEVEL LIST, BETWEEN EISSNER AND
C           STANDARD FORMS
C
C  CALLING PROGRAMS: GENERAL USE
C
C  SUBROUTINE:
C
C  INPUT : (I*4)   ICFSEL  = 1 => STANDARD FORM OUT, STANDARD FORM IN
C                            2 => EISSNER  FORM OUT, STANDARD FORM IN
C                            3 => STANDARD FORM OUT, EISSNER  FORM IN
C                            4 => EISSNER  FORM OUT, EISSNER  FORM IN
C  INPUT : (C*(*)) CSTRGI  = CONFIGURATION STRING IN INPUT FORM
C  OUTPUT: (C*(*)) CSTRGO  = CONFIGURATION STRING IN OUTPUT FORM
C
C          (I*4)   I       = GENERAL USE
C          (I*4)   ISHEL   = SHELL COUNTER
C          (I*4)   IP      = PARITY OF CONFIGURATION
C          (I*4)   MAXN    = N_SHELL SUM FOR CONFIGURATION
C          (I*4)   NSHEL   = NUMBER OF SHELLS IDENTIFIED fFROM STRING
C          (I*4)   NELA()  = NUMBER OF ELECTRONS IN EACH SHELL
C
C          (C*19)  STRG    = STANDARD FORM CONFIGURATION STRING
C          (C*19)  STRGE   = EISSNER FORM CONFIGURATION STRING
C          (C*1)   CHEISA()= EISSNER CHARACTER FOR ORBITALS
C          (C*2)   CHSTDA()= STANDARD ORBITAL SPEC. FOR EACH SHELL
C                            (EISSNER FORM CASE)
C          (C*1)   CHQA()  = INDEX TO HEXADECIMAL CONVERSIONS
C          (C*1)   CHRA()  = CHAR. FOR NO. OF. EQUIV. ELEC. IN SHELL
C                            (STANDARD FORM CASE)
C
C          (L*4)   LEISS   = .TRUE.  => EISSNER FORM
C                            .FALSE. => NOT EISSNER FORM
C
C
C ROUTINES:
C          ROUTINE    SOURCE   BRIEF DESCRIPTION
C          -------------------------------------------------------------
C          I4UNIT     ADAS     FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES
C          I4NGRP     ADAS     RETURNS N QUANTUM NUMBER IN THE
C                              EISSNER SINGLE HEXADECIMAL CHARACTER FORM
C          I4PGRP     ADAS     RETURNS PARITY OF ORBITAL GIVEN THE
C                              EISSNER SINGLE HEXADECIMAL CHARACTER FORM
C          I4SCHR     ADAS     RETURNS NUMERICAL VALUE FOR NUMBER OF
C                              EQUIVALENT ELECTRONS GIVEN AS HEX> CHAR.
C          CSTGRP     ADAS     RETURNS TERM OF ORBITAL GIVEN IN THE
C                              EISSNER SINGLE HEXADECIMAL CHARACTER FORM
C          CEIGRP     ADAS     RETURNS EISSNER CODE FOR ORBITAL
C
C
C NOTE:    THE ROUTINE IS USED TO CONVERT THE CONFIGURATION CHARACTER
C          STRING OCCURRING IN ADF04 FILE LEVEL LISTS.  THE STRING
C          LENGTH ALLOCATED TO THIS IS *18 FOLLOWING 1 BLANK SPACE
C          AFTER THE LEVEL INDEX.  A PROBLEM ARISES WHEN THE FIRST
C          SHELL CONTAINS MORE THAN 9 EQUIVALENT ELECTRONS.  IN THIS
C          CASE, OVERSPILL IS ALLOWED INTO THE BLANK CHARACTER SPACE.
C          THE ROUTINE WILL ANALYSE A *19 STRING INCLUDING THE USUALLY
C          BLANK LOCATION OR A *18 STRING EXCLUDING IT.  IN THE LATTER
C          CASE AN INTELLIGENT GUESS IS MADE AS TO WHETHER THE OMITTED
C          BLANK SHOULD IN FACT BE A '1'.  THIS SITUATION OCCURS FOR A
C          LEADING CLOSED D-SHELL.
C
C AUTHOR:  H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C          JA8.08
C          TEL. 0141-553-4196
C
C DATE:    25/10/95
C
C
C UPDATE:  19/02/03  H. P. SUMMERS - EXTENDED RANGE AND STRINGS
C
C
C UNIX-IDL PORT:
C
C VERSION: 1.1                          DATE: 19-1-96
C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC)
C               - PUT UNDER SCCS CONTROL
C
C VERSION: 1.2                          DATE: 19-02-03
C MODIFIED: H. P. SUMMERS 
C		- EXTENDED RANGE AND STRINGS
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
      CHARACTER*(*)       CSTRGI,      CSTRGO
      INTEGER             ICFSEL
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk