SpectraRust/tlusty/extracted/dmder.f
2026-03-19 14:05:33 +08:00

40 lines
926 B
Fortran

SUBROUTINE DMDER
C ================
C
INCLUDE 'IMPLIC.FOR'
INCLUDE 'BASICS.FOR'
INCLUDE 'ATOMIC.FOR'
INCLUDE 'MODELQ.FOR'
COMMON/DEPTDR/DDM(MDEPTH),DDP(MDEPTH),DD0(MDEPTH),
* DDMIN(MDEPTH),DDPLU(MDEPTH),DDA(MDEPTH),
* DDC(MDEPTH),DDB(MDEPTH)
C
DO ID=2,ND-1
DDM(ID)=DM(ID)-DM(ID-1)
DDP(ID)=DM(ID+1)-DM(ID)
DD0(ID)=DM(ID+1)-DM(ID-1)
DDMIN(ID)=DDP(ID)/DD0(ID)
DDPLU(ID)=DDM(ID)/DD0(ID)
DDA(ID)=DDMIN(ID)/DDM(ID)
DDC(ID)=DDPLU(ID)/DDP(ID)
END DO
C
DDM(1)=0.
DDM(ND)=DM(ND)-DM(ND-1)
DDP(1)=DM(2)-DM(1)
DDP(ND)=0.
DDMIN(1)=0.
DDMIN(ND)=1.
DDPLU(1)=1.
DDPLU(ND)=0.
DDA(1)=0.
DDA(ND)=UN/DDM(ND)
DDC(1)=UN/DDP(1)
DDC(ND)=0.
DO ID=1,ND
DDB(ID)=DDA(ID)-DDC(ID)
END DO
C
RETURN
END