34
35
36
39 USE format_mod , ONLY : fmw_4i
40
41
42
43
44
45
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "units_c.inc"
54#include "com01_c.inc"
55#include "com04_c.inc"
56#include "scr03_c.inc"
57
58
59
60 INTEGER ,IR,MSN
61 INTEGER,INTENT(IN) :: S_MSV,SIRECT
62 INTEGER IRECT(4,SIRECT/4), ITAB(NUMNOD), MSV(S_MSV),SURF_NODES(NRT,4)
63 INTEGER ID
64 my_real,
INTENT(INOUT) :: x(3,numnod)
65 CHARACTER(LEN=NCHARTITLE) :: TITR
66 INTEGER, DIMENSION(2*NUMNOD+1), INTENT(INOUT) :: NTAG
67 my_real,
INTENT(INOUT) :: stiff_stat(3)
68 INTEGER,INTENT(IN) :: NOINT
69
70
71
72 INTEGER I,K,K4
73 my_real :: surf, s2n(3), d1(3), d2(3), surf_max, surf_min, surf_mean, stval,vel
74
75
76
77
78 surf_min = ep20
79 surf_max = zero
80 surf_mean = zero
81 DO i=1,nrt
82 IF(irect(3,i)==irect(4,i)) THEN
83 d1(1)=x(1,irect(1,i))-x(1,irect(3,i))
84 d1(2)=x(2,irect(1,i))-x(2,irect(3,i))
85 d1(3)=x(3,irect(1,i))-x(3,irect(3,i))
86 d2(1)=x(1,irect(2,i))-x(1,irect(1,i))
87 d2(2)=x(2,irect(2,i))-x(2,irect(1,i))
88 d2(3)=x(3,irect(2,i))-x(3,irect(1,i))
89 s2n(1) = d1(2)*d2(3)-d1(3)*d2(2)
90 s2n(2) = - d1(1)*d2(3)+d1(3)*d2(1)
91 s2n(3) = d1(1)*d2(2)-d1(2)*d2(1)
92 surf = s2n(1)*s2n(1) + s2n(2)*s2n(2) + s2n(3)*s2n(3)
93 surf = sqrt(fourth*surf)
94 ELSE
95 d1(1)=x(1,irect(1,i))-x(1,irect(3,i))
96 d1(2)=x(2,irect(1,i))-x(2,irect(3,i))
97 d1(3)=x(3,irect(1,i))-x(3,irect(3,i))
98 d2(1)=x(1,irect(2,i))-x(1,irect
99 d2(2)=x(2,irect(2,i))-x(2,irect(4,i))
100 d2(3)=x(3,irect(2,i))-x(3,irect(4,i))
101 s2n(1) = d1(2)*d2(
102 s2n(2) = - d1(1)*d2(3)+d1(3)*d2(1)
103 s2n(3) = d1(1)*d2(2)-d1(2)*d2(1)
104 surf = s2n(1)*s2n(1) + s2n(2)*s2n(2) + s2n(3)*s2n(3)
105 surf = sqrt(fourth*surf)
106 ENDIF
107
108 surf_max =
max(surf_max,surf)
109 surf_min =
min(surf_min,surf)
110 surf_mean = surf_mean + surf/real(nrt)
111
112 ENDDO
113
114 stval = stiff_stat(1)*stiff_stat(2)*surf_mean/stiff_stat(3)
115
116 stiff_stat(1) = -stval
117
118
119 WRITE(iout,1000)noint
120 WRITE(iout,3021)stval, stiff_stat(2), surf_mean, surf_min, surf_max
121 IF(ipri>=1) THEN
122 WRITE(iout,'(/,A,/)')' SEGMENTS USED FOR SURFACE DEFINITION'
123 k=1
124 k4=4
125 IF(n2d/=0)k4=2
126 DO i=1,nrt
127 WRITE(iout,fmt=fmw_4i)(itab(irect(k,i)),k=1,k4)
128 ENDDO
129 ENDIF
130
131
132 RETURN
1331000 FORMAT(/1x,' INTERFACE NUMBER :',i10,1x,a)
1343021 FORMAT(
135 . ' COMPUTED STIFFNESS VALUE. . . . . . . . . . ',1pg20.13,/,
136 . ' . . .USING DENSITY. . . . ',1pg20.13,/,
137 . ' . . .USING MEAN AREA. . . ',1pg20.13,/,
138 . ' . . . . . . . . .MIN. . . ',1pg20.13,/,
139 . ' . . . . . . . . .MAX . . ',1pg20.13)
140
141
integer, parameter nchartitle