Parametric Functions (Fortran 90/95 Code)
Smith Chart
PROGRAM SMITH USE DISLIN IMPLICIT NONE INTEGER, PARAMETER :: N=1000 INTEGER, PARAMETER :: M=1000 REAL, DIMENSION (N) :: X, Y REAL, DIMENSION (11) :: ZIMG =(/5.0, 2.0, 1.0, 0.5, 0.2, 0.0, & -0.2, -0.5, -1.0,-2.0, -5.0/) REAL, DIMENSION (5) :: ZRE = (/0.2, 0.5, 1.0, 2.0, 5.0/) REAL, DIMENSION (5) :: X2 = (/0.42, 0.3, 0.63, 0.83, 0.67/) REAL, DIMENSION (5) :: Y2 = (/-0.11, 0.15, 0.28, 0.0, -0.43/) REAL :: STEP INTEGER :: I STEP = (50.0 + 50.0) / (N - 1) DO I=1,N x(I) = 0.5 Y(I) = - 50.0 + (I - 1) * STEP END DO CALL SCRMOD ('revers') CALL METAFL ('cons') CALL DISINI () CALL PAGERA () CALL HWFONT () CALL TITLIN ('Smith Chart', 1) CALL NAME ('X-axis', 'x') CALL LABTYP ('vert', 'x') CALL LABTYP ('vert', 'y') CALL LABTYP ('hori', 'x') CALL LABDIS (-50, 'y') CALL TICPOS ('revers', 'y') CALL HEIGHT (30) CALL HNAME (30) CALL GRAFR (ZRE, 5, ZIMG, 11) CALL HTITLE (40) CALL TITLE () CALL GRIDRE (1.0, -50.0, 50.0, M) CALL GRIDRE (2.0, -50.0, 50.0, M) CALL GRIDRE (3.0, -50.0, 50.0, M) CALL GRIDRE (4.0, -50.0, 50.0, M) CALL GRIDRE (5.0, -50.0, 50.0, M) CALL GRIDIM (0.5, 0.001, 50.0, M) CALL GRIDIM (1.0, 0.001, 1.0, M) CALL GRIDIM (2.0, 0.001, 50.0, M) CALL GRIDIM (3.0, 0.001, 50.0, M) CALL GRIDIM (4.0, 0.001, 50.0, M) CALL GRIDIM (5.0, 0.001, 50.0, M) CALL LABDIS (20, 'y') CALL TICPOS ('labels', 'y') CALL LABDIG (-1, 'y') CALL TICKS (10, 'y') CALL YPOLAR (180.0, -180.0, 180.0, -30.0, 'Y-axis', 0) CALL COLOR ('red') CALL CURVE (X, Y, N) CALL INCMRK (1) CALL POLCRV ('pspline') CALL COLOR ('green') CALL CURVE (X2,Y2,5) CALL COLOR ('fore') CALL DISFIN () END PROGRAM SMITH
Smith Chart, Admittance Plot
PROGRAM SMITH2 USE DISLIN IMPLICIT NONE INTEGER, PARAMETER :: M=1000 REAL, DIMENSION (11) :: ZIMG =(/5.0, 2.0, 1.0, 0.5, 0.2, 0.0, & -0.2, -0.5, -1.0,-2.0, -5.0/) REAL, DIMENSION (5) :: ZRE = (/0.2, 0.5, 1.0, 2.0, 5.0/) REAL, DIMENSION (5) :: X2 = (/0.42, 0.3, 0.63, 0.83, 0.67/) REAL, DIMENSION (5) :: Y2 = (/-0.11, 0.15, 0.28, 0.0, -0.43/) REAL, DIMENSION (5) :: X3,Y3 REAL :: V INTEGER :: I ! Convert impedance data to admittance by Y = 1 / Z DO I=1,5 V = X2(I) * X2(I) + Y2(I) * Y2(I) X3(I) = X2(I) / V Y3(I) = -Y2(I) / V END DO CALL SCRMOD ('revers') CALL METAFL ('cons') CALL DISINI () CALL PAGERA () CALL HWFONT () CALL TITLIN ('Smith Chart', 1) CALL TITLIN ('Admittance Plot', 2) CALL AXSTYP ('admittance') CALL NAME ('X-axis', 'x') CALL NAME ('X-axis', 'y') CALL LABTYP ('vert', 'y') CALL LABTYP ('hori', 'x') CALL HEIGHT (30) CALL HNAME (30) CALL COLOR ('red') CALL GRAFR (ZRE, 5, ZIMG, 11) CALL GRIDRE (1.0, -50.0, 50.0, M) CALL GRIDRE (2.0, -50.0, 50.0, M) CALL GRIDRE (3.0, -50.0, 50.0, M) CALL GRIDRE (4.0, -50.0, 50.0, M) CALL GRIDRE (5.0, -50.0, 50.0, M) CALL GRIDIM (0.5, 0.001, 50.0, M) CALL GRIDIM (1.0, 0.001, 1.0, M) CALL GRIDIM (2.0, 0.001, 50.0, M) CALL GRIDIM (3.0, 0.001, 50.0, M) CALL GRIDIM (4.0, 0.001, 50.0, M) CALL GRIDIM (5.0, 0.001, 50.0, M) CALL COLOR ('FORE') CALL HTITLE (40) CALL TITLE () CALL INCMRK (1) CALL POLCRV ('pspline') CALL COLOR ('green') CALL CURVE (X3, Y3, 5) CALL DISFIN () END PROGRAM SMITH2
Smith Chart, Impedance and Admittance
PROGRAM SMITH3 USE DISLIN IMPLICIT NONE INTEGER, PARAMETER :: M=1000 REAL, DIMENSION (11) :: ZIMG =(/5.0, 2.0, 1.0, 0.5, 0.2, 0.0, & -0.2, -0.5, -1.0,-2.0, -5.0/) REAL, DIMENSION (5) :: ZRE = (/0.2, 0.5, 1.0, 2.0, 5.0/) REAL, DIMENSION (5) :: X2 = (/0.42, 0.3, 0.63, 0.83, 0.67/) REAL, DIMENSION (5) :: Y2 = (/-0.11, 0.15, 0.28, 0.0, -0.43/) REAL, DIMENSION (5) :: X3,Y3 REAL :: V INTEGER :: I ! Convert impedance data to admittance by Y = 1 / Z DO I=1,5 V = X2(I) * X2(I) + Y2(I) * Y2(I) X3(I) = X2(I) / V Y3(I) = -Y2(I) / V END DO CALL SCRMOD ('revers') CALL METAFL ('cons') CALL DISINI () CALL PAGERA () CALL HWFONT () CALL TITLIN ('Smith Chart', 1) CALL TITLIN ('Impedance and Admittance Plot', 2) CALL LABTYP ('vert', 'y') CALL LABTYP ('hori', 'x') CALL LABDIS (-50, 'y') CALL LABDIS (10, 'x') CALL HEIGHT (30) CALL HNAME (30) CALL TICPOS ('revers', 'y') CALL GRAFR (ZRE, 5, ZIMG, 11) CALL HTITLE (40) CALL TITLE () CALL GRIDRE (1.0, -50.0, 50.0, M) CALL GRIDRE (2.0, -50.0, 50.0, M) CALL GRIDRE (3.0, -50.0, 50.0, M) CALL GRIDRE (4.0, -50.0, 50.0, M) CALL GRIDRE (5.0, -50.0, 50.0, M) CALL GRIDIM (0.5, 0.001, 50.0, M) CALL GRIDIM (1.0, 0.001, 1.0, M) CALL GRIDIM (2.0, 0.001, 50.0, M) CALL GRIDIM (3.0, 0.001, 50.0, M) CALL GRIDIM (4.0, 0.001, 50.0, M) CALL GRIDIM (5.0, 0.001, 50.0, M) CALL INCMRK (1) CALL POLCRV ('pspline') CALL COLOR ('green') CALL CURVE (X2,Y2,5) CALL ENDGRF () CALL AXSTYP ('admittance') CALL LABDIS (20, 'y') CALL TICPOS ('labels', 'y') CALL COLOR ('red') CALL TICPOS ('reverse', 'x') CALL LABDIS (-50, 'x') CALL GRAFR (ZRE, 5, ZIMG, 11) CALL GRIDRE (1.0, -50.0, 50.0, M) CALL GRIDRE (2.0, -50.0, 50.0, M) CALL GRIDRE (3.0, -50.0, 50.0, M) CALL GRIDRE (4.0, -50.0, 50.0, M) CALL GRIDRE (5.0, -50.0, 50.0, M) CALL GRIDIM (0.5, 0.001, 50.0, M) CALL GRIDIM (1.0, 0.001, 1.0, M) CALL GRIDIM (2.0, 0.001, 50.0, M) CALL GRIDIM (3.0, 0.001, 50.0, M) CALL GRIDIM (4.0, 0.001, 50.0, M) CALL GRIDIM (5.0, 0.001, 50.0, M) CALL POLCRV ('pspline') CALL COLOR ('green') CALL CURVE (X3,Y3,5) CALL ENDGRF () CALL DISFIN () END PROGRAM SMITH3
News
Upgrade 11.5.2
8. April 2024
Support for Python 3.11 and Windows
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
Release 11.4
15. March 2021
Support for Free Pascal 64-bit on Windows
22. July 2020
Upgrade 11.3.3
28. June 2020
DISLIN Book Version 11 is available
8. March 2017
8. April 2024
Support for Python 3.11 and Windows
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
Release 11.4
15. March 2021
Support for Free Pascal 64-bit on Windows
22. July 2020
Upgrade 11.3.3
28. June 2020
DISLIN Book Version 11 is available
8. March 2017