File: solve1.f

package info (click to toggle)
nastran 0.1.95-2
  • links: PTS, VCS
  • area: non-free
  • in suites: bookworm, bullseye, sid
  • size: 122,540 kB
  • sloc: fortran: 284,409; sh: 771; makefile: 324
file content (45 lines) | stat: -rw-r--r-- 1,032 bytes parent folder | download | duplicates (2)
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
      SUBROUTINE SOLVE1(A1,R1,RP,XI,LAM2,LAM3,LAM4,CONT)
C
C     ROUTINE TO SOLVE FOR LAMBDAS AS FNCTS. OF XI
C
C
      REAL LAM2,LAM3,LAM4
C
      IF (RP.EQ.0.0) GO TO 20
C
      SUM = A1 + XI / RP
      SINSUM = SIN(SUM)
      BB = R1 - RP * (SIN(A1) - SINSUM)
      RT = 0.0E0
      IF( SINSUM .NE. 0.0E0 ) RT = BB / SINSUM
      PSI1 = COS(SUM)
      PSI2 = -SINSUM / RP
C
C     CHECK FOR SHELL CAP CASE
      IF ( A1 .NE. 0.0 )  GO TO 40
      LAM2  = 0.0E0
      IF( BB .NE. 0.0E0 ) LAM2  = PSI1 / BB
      LAM3  =  1.0 / RP
      LAM4  = -1.0 / RP**2
      GO TO 50
C
C     ALF1 = ALF2
C
   20 SINA = SIN(A1)
      COSA = COS(A1)
      BB = R1 + XI * COSA
      RT = 0.0E0
      IF( SINA .NE. 0.0E0 ) RT = BB / SINA
      PSI1 = COSA
      PSI2 = 0.0
C
   40 LAM2 = 0.0E0
      IF( BB .NE. 0.0E0 ) LAM2 = PSI1 / BB
      LAM3 = 0.0E0
      IF( RT .NE. 0.0E0 ) LAM3 = 1.0E0 / RT
      LAM4 = 0.0E0
      IF( BB .NE. 0.0E0 ) LAM4 = PSI2 / BB
C
   50 CONTINUE
      RETURN
      END