ADAS Subroutine xxprs3
subroutine xxprs3( string , ia_dim , iz0 , iz , & ia , ia_vlnce & ) c----------------------------------------------------------------------- c c ****************** fortran77 subroutine: xxprs3 ********************* c c purpose: To analyse a configuration character string in Standard c form into a integer array of occupation numbers in the c normal collating order. c c unified version of bbprs3 & g5prs3 and a replacement for c these subroutines c calling program: various c c notes: 1. the normal collating order is 1s,2s,2p,3s,3p,3d etc. c 2. a strategy for deciding the occupancy of unspecified c inner shells is implemented using the nuclear and ion c charge. The strategy may be switched off. c 3. opens a central ADAS adf00 file for an element on c unit 10. c c c subroutine: c c input : (c*(*))string = string to be parsed c input : (i*4) ia_dim = dimensionality of occupancy vector ia c input : (i*4) iz0 = nuclear charge c input : (i*4) iz = ion charge c c output: (i*4) ia() = set of occupation numbers in standard c collating list order c output: (i*4) ia_vlnce = outer occupied shell index in collating c list c c routines: c routine source brief description c ------------------------------------------------------------- c i4unit adas fetch unit number for output of messages c xxopen adas inquire & open a data file on a unit c xxword adas parses a string into separate words c xxrmve adas removes occurrences of a char. in string c xxcase adas changes a string to upper or lower case c xxslen adas finds the length of a string excluding c leading and trailing blanks c xfesym adas fetch the chemical symbol of an element c c c author: H. P. Summers c JA7.08, University of Strathclyde c Tel: 0141-548-4196 4941 c c date: 16/12/02 c c update: c c----------------------------------------------------------------------- CHARACTER*(*) STRING INTEGER IA(IA_DIM), IA_DIM, IA_VLNCE, IZ INTEGER IZ0