29
30
31
32
33
34
35
36
37#include "implicit_f.inc"
38#include "comlock.inc"
39
40
41
42#include "com04_c.inc"
43
44
45
46 INTEGER, INTENT(in) :: ICURV,NRTM_T
47 INTEGER, DIMENSION(4,NRTM_T), INTENT(in) :: IRECT
48 my_real,
INTENT(inout) :: c_max_local
49 my_real,
DIMENSION(NRTM_T),
INTENT(inout) :: curv_max
50 my_real,
DIMENSION(3,NUMNOD),
INTENT(in) :: x
51
52
53
54 INTEGER :: I
56
57
58
59
60 IF(icurv/=0)THEN
61 c_max_local = zero
62 DO i=1,nrtm_t
63 xxx=
max(x(1,irect(1,i)),x(1,irect(2,i)),
64 . x(1,irect(3,i)),x(1,irect(4,i)))
65 . -
min(x(1,irect(1,i)),x(1,irect(2,i)),
66 . x(1,irect(3,i)),x(1,irect(4,i)))
67 yyy=
max(x(2,irect(1,i)),x(2,irect(2,i)),
68 . x(2,irect(3,i)),x(2,irect(4,i)))
69 . -
min(x(2,irect(1,i)),x(2,irect(2,i)),
70 . x(2,irect(3,i)),x(2,irect(4,i)))
71 zzz=
max(x(3,irect(1,i)),x(3,irect(2,i)),
72 . x(3,irect(3,i)),x(3,irect(4,i)))
73 . -
min(x(3,irect(1,i)),x(3,irect(2,i)),
74 . x(3,irect(3,i)),x(3,irect(4,i)))
75 curv_max(i) = half *
max(xxx,yyy,zzz)
76 c_max_local =
max(c_max_local,curv_max(i))
77 ENDDO
78 ELSE
79 DO i=1,nrtm_t
80 curv_max(i)=zero
81 ENDDO
82 ENDIF
83
84 RETURN