File: rzints.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 (34 lines) | stat: -rw-r--r-- 1,150 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
      FUNCTION RZINTS(IP,IQ,R,Z,NGRIDS)
      DIMENSION R(4),Z(4),PT(3),H(3)
      IF(NGRIDS.EQ.3)GO TO 200
      NPT=3
      PT(1)=-.7745966692
      PT(2)=0.
      PT(3)=-PT(1)
      H(1)=5./9.
      H(2)=8./9.
      H(3)=H(1)
      XINT=0.
      DO 100 III=1,NPT
      DO 100 JJJ=1,NPT
      RR=.25*((1.-PT(III))*(1.-PT(JJJ))*R(1)
     1       +(1.+PT(III))*(1.-PT(JJJ))*R(2)
     1       +(1.+PT(III))*(1.+PT(JJJ))*R(3)
     1       +(1.-PT(III))*(1.+PT(JJJ))*R(4))
      ZZ=.25*((1.-PT(III))*(1.-PT(JJJ))*Z(1)
     1       +(1.+PT(III))*(1.-PT(JJJ))*Z(2)
     1       +(1.+PT(III))*(1.+PT(JJJ))*Z(3)
     1       +(1.-PT(III))*(1.+PT(JJJ))*Z(4))
      RRP=RR**IP
      ZZQ=ZZ**IQ
      DRDXI=.25*((1.-PT(JJJ))*(R(2)-R(1))+(1.+PT(JJJ))*(R(3)-R(4)))
      DZDXI=.25*((1.-PT(JJJ))*(Z(2)-Z(1))+(1.+PT(JJJ))*(Z(3)-Z(4)))
      DRDETA=.25*((1.-PT(III))*(R(4)-R(1))+(1.+PT(III))*(R(3)-R(2)))
      DZDETA=.25*((1.-PT(III))*(Z(4)-Z(1))+(1.+PT(III))*(Z(3)-Z(2)))
      DETJ=DRDXI*DZDETA-DZDXI*DRDETA
      DETJ=ABS(DETJ)
      XINT=XINT+RRP*ZZQ*H(III)*H(JJJ)*DETJ
  100 CONTINUE
      RZINTS=XINT
  200 RETURN
      END