#include "implicit_f.inc"
#include "mvsiz_p.inc"
Go to the source code of this file.
|
| subroutine | i7pen3 (marge, gapv, n1, n2, n3, pene, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, last) |
◆ i7pen3()
| subroutine i7pen3 |
( |
| marge, |
|
|
| gapv, |
|
|
intent(inout) | n1, |
|
|
intent(inout) | n2, |
|
|
intent(inout) | n3, |
|
|
intent(inout) | pene, |
|
|
intent(inout) | nx1, |
|
|
intent(inout) | ny1, |
|
|
intent(inout) | nz1, |
|
|
intent(inout) | nx2, |
|
|
intent(inout) | ny2, |
|
|
intent(inout) | nz2, |
|
|
intent(inout) | nx3, |
|
|
intent(inout) | ny3, |
|
|
intent(inout) | nz3, |
|
|
intent(inout) | nx4, |
|
|
intent(inout) | ny4, |
|
|
intent(inout) | nz4, |
|
|
intent(inout) | p1, |
|
|
intent(inout) | p2, |
|
|
intent(inout) | p3, |
|
|
intent(inout) | p4, |
|
|
integer, intent(in) | last ) |
- Parameters
-
Definition at line 38 of file i7pen3.F.
43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "mvsiz_p.inc"
51
52
53
54 INTEGER, INTENT(IN) :: LAST
55
57 . marge, gapv(*)
58 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: n1,n2,n3,pene
59 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx1,ny1,nz1
60 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx2,ny2,nz2
61 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx3,ny3,nz3
62 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx4,ny4,nz4
63 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: p1,p2,p3,p4
64
65
66
67 INTEGER I
68
70 . d1,d2,d3,d4,s2
71
72 DO i=1,last
73 d1 = sqrt(p1(i))
74 p1(i) =
max(zero, gapv(i) + marge - d1)
75
76 d2 = sqrt(p2(i))
77 p2(i) =
max(zero, gapv(i) + marge - d2)
78
79 d3 = sqrt(p3(i))
80 p3(i) =
max(zero, gapv(i) + marge - d3)
81
82 d4 = sqrt(p4(i))
83 p4(i) =
max(zero, gapv(i) + marge - d4)
84 ENDDO
85
86 DO i=1,last
87 pene(i) =
max(p1(i),p2(i),p3(i),p4(i))
88 if(p1(i)==pene(i))then
89 n1(i) = nx1(i)
90 n2(i) = ny1(i)
91 n3(i) = nz1(i)
92 elseif(p2(i)==pene(i))then
93 n1(i) = nx2(i)
94 n2(i) = ny2(i)
95 n3(i) = nz2(i)
96 elseif(p3(i)==pene(i))then
97 n1(i) = nx3(i)
98 n2(i) = ny3(i)
99 n3(i) = nz3(i)
100 elseif(p4(i)==pene(i))then
101 n1(i) = nx4(i)
102 n2(i) = ny4(i)
103 n3(i) = nz4(i)
104 endif
105 ENDDO
106 DO i=1,last
107 s2 = one/
max(em30,sqrt(n1(i)**2 + n2(i)**2 + n3(i)**2))
108 n1(i) = n1(i)*s2
109 n2(i) = n2(i)*s2
110 n3(i) = n3(i)*s2
111 ENDDO
112
113 RETURN