File: tmpk02.f

package info (click to toggle)
dcl 7.5.2-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 21,172 kB
  • sloc: fortran: 48,440; f90: 12,803; ansic: 6,566; makefile: 4,747; ruby: 184; sh: 153
file content (59 lines) | stat: -rw-r--r-- 1,514 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
      PROGRAM TMPK2
      IMPLICIT NONE
      INTEGER NX, NY, THRES
      PARAMETER (NX=101, NY=101, THRES=1)
      REAL DX, DY, DYT
      PARAMETER (DX=6.2832/REAL(NX-1), DY=6.2832/REAL(NY-1))
      PARAMETER (DYT=360.0/REAL(NY-1))
      REAL ARROW_THRES
      PARAMETER (ARROW_THRES=1.0)
      REAL U(NX,NY), V(NX,NY)
      REAL X(NX), Y(NY), XT(NY), YT(NY)
      INTEGER I, J, SKIP, IWS
    
      WRITE(*,*) "SKIP NUM INPUT"
      READ(*,*) SKIP

      X=(/(DX*REAL(I-1),I=1,NX)/)
      Y=(/(DY*REAL(I-1-NY/2),I=1,NY)/)
      YT=(/(DYT*REAL(I-1-NY/2),I=1,NY)/)
      XT=(/(X(NX),I=1,NY)/)

      DO 21 J=1,NY
         DO 20 I=1,NX
            U(I,J)=-COS(Y(J))
            V(I,J)=COS(X(I))
 20      CONTINUE
 21   CONTINUE
    
      WRITE(*,*) ' WORKSTATION IS (I) ? ;'
      CALL SGPWSN
      READ (*,*) IWS

      CALL GROPN( IWS )
      CALL GRFRM
      CALL GRSWND( X(1), X(NX), YT(1), YT(NY) )
      CALL GRSVPT( 0.2, 0.8, 0.2, 0.8 )
C      CALL USPFIT
      call GRSSIM( 0.5*0.6/x(nx), 0.0, 0.0 )
      CALL GRSTRN( 5 )
      CALL GRSTRF
C      CALL USDAXS
      CALL UZRSET( 'UYUSER', 0.0 )
      CALL UXPAXS( 'U', 1 )
      CALL UZRSET( 'UYUSER', -180.0 )
      CALL UXPAXS( 'U', 1 )

C      CALL UETONF( U, NX, NX, NY )
C      CALL UDCNTR( V, NX, NX, NY )
C-- 流線描画
      CALL TMISET( 'SKIPINTV', SKIP )
      CALL TMLSET( 'PERIODY', .TRUE. )
      CALL TMLSET( 'NODRSHRT', .TRUE. )
      CALL TMSTLA( X, YT, U, V, NX, NY )

      CALL UULIN( NY, XT, YT )

      CALL GRCLS

      END PROGRAM