From ef18e49f86fff868627855ba944dca1788e0b172 Mon Sep 17 00:00:00 2001 From: salman Date: Thu, 18 Jun 2026 09:36:07 +0200 Subject: [PATCH] Add a variable dictionary --- fortran/trimspNL.F | 112 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 100 insertions(+), 12 deletions(-) diff --git a/fortran/trimspNL.F b/fortran/trimspNL.F index 164241d..ec456ce 100644 --- a/fortran/trimspNL.F +++ b/fortran/trimspNL.F @@ -388,35 +388,123 @@ C part. refl. coeff. from Thomas et al. DATA number_in_layer/MAXNL*0/ C======================================================================= +C Variable dictionary (comment-only, fixed-form Fortran) +C +C Indices and counters +C +C I layer index unless used as a local loop counter +C J element index inside layer I +C K global element/species index over all layers +C IV active primary-projectile slot, 1..64 +C IREC recoil-particle slot, 1..2000 +C IP/IPB/IPT depth-bin indices for general/back/transmission use +C IE,IA,IG energy, polar-angle and azimuth-angle histogram indices +C +C Main dimensions +C +C MAXD number of depth bins +C MAXNL maximum number of target layers +C MAXEL maximum number of elements in one layer +C MAXNL5 maximum total layer-specific species, MAXNL*MAXEL +C C Main run controls C -C NH number of projectiles +C NH number of incident projectiles to simulate C E0 initial projectile energy -C Esig initial energy spread +C ESIG initial energy spread C ALPHA incident angle C X0 initial depth/start position C CW depth-bin width -C L number of target layers -C +C L number of target layers used in this run +C C Projectile -C +C C Z1 projectile atomic number C M1 projectile mass -C -C Target layers -C +C E(IV) current projectile energy +C X,Y,Z current projectile position components +C PL(IV) current projectile path length +C COSX,COSY,COSZ current projectile direction cosines +C +C Recoils +C +C ER recoil energy +C XR,YR,ZR recoil position components +C CSXR,CSYR,CSZR recoil direction cosines +C JJR recoil species index information +C LRR recoil layer index information +C INOUT recoil status / surface-crossing bookkeeping +C +C Target geometry and composition +C +C CHEM(I) layer name or chemical formula read from input C DX(I) thickness of layer I -C RHO(I) density of layer I +C RHO(I) mass density of layer I C NJ(I) number of elements in layer I +C JT(I) cumulative species index up to layer I C ZT(I,J) atomic number of element J in layer I C MT(I,J) mass of element J in layer I C CO(I,J) concentration fraction of element J in layer I -C -C Binding / displacement energies -C +C Z2,M2 concentration-weighted layer atomic number and mass +C +C Binding, displacement and stopping input +C C SBE(I,J) surface binding energy C ED(I,J) displacement energy C BE(I,J) bulk binding energy +C CH1-CH5 Ziegler stopping coefficients for each element +C CHM1(I) layer-level stopping coefficient helper +C +C Layer-specific species tables +C +C ZZ(K) atomic number for global species K +C TM(K) mass for global species K +C DI(K) density/concentration helper for species K +C EP(K) energy parameter for species K +C MU,EC,A,F,KL,KOR pair tables for projectile/target species +C MU1,EC1,A1,F1,KL1,KOR1 pair tables for incident projectile +C +C Energy loss and damage profiles +C +C ENUCL,EINEL projectile nuclear and electronic losses +C ENUCL2,EINEL2 squared-loss accumulators +C CASMOT,DENT,ION,PHON,DMGN depth-resolved projectile damage +C CASMOTR,DENTR,IONR,PHONR,DMGNR recoil-resolved damage +C ELE,ELI,ELP,ELD projectile energy-loss profiles by species +C ELER,ELIR,ELPR,ELDR recoil energy-loss profiles by species +C +C Range, reflection and transmission statistics +C +C IRP,RIRP implanted-projectile range histograms +C IPL,IPLB,IPLT path-length histograms +C IB,IT numbers of backscattered and transmitted projectiles +C ET sum of transmitted projectile energies +C EB sum of backscattered projectile energies +C +C Sputtering and recoil statistics +C +C IBSP,ITSP sputtered species counters, backward/transmission +C EBSP,ETSP sputtered species energy sums +C SPY,SPYT sputter yields per species +C REY,REYT recoil emission yields per species +C KADS/KADST sputtered angular counters +C KDSTJ/KDSTL transmitted sputtering angular counters +C +C Histogram arrays used in output +C +C MEAB,MEAT energy spectra for backscattered/transmitted ions +C MAGB,MAGT angular spectra for backscattered/transmitted ions +C MEAS,MEAST energy spectra for sputtered species +C MAGS,MAGST angular spectra for sputtered species +C EMA,EMAT accumulated energies in angular-energy bins +C +C File names and extensions +C +C FILEIN run basename supplied on the command line +C INNAM input file name, FILEIN//'.inp' +C OUTNAM main output file name, FILEIN//'.out' +C RGENAM range output file name, FILEIN//'.rge' +C ERRNAM error/log file name, FILEIN//'.err' C======================================================================= CALL getarg(1, filein)