29
30
31
32#include "implicit_f.inc"
33
34
35
36#include "mvsiz_p.inc"
37
38
39
40
41
42
43 INTEGER, INTENT(IN) :: NEL
44C
46 my_real,
DIMENSION(NEL,6),
INTENT(INOUT) :: sig
47 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: g
48
49
50
51 INTEGER I, J,ipr
53 . ff,facg,facc,frho,p,facmax,facd
54
55
56 facmax=1.5
57 DO i=1,nel
58 ff = -
min(sig(i,1),sig(i,2),sig(i,3))
59 IF (ff <=g2 ) cycle
60 facg =
max(one,sqrt(ff/g2))
61 facg =
min(facmax,facg)
62 p = -third*(sig(i,1)+sig(i,2)+sig(i,3))
63 sig(i,1)=facg*(sig(i,1)+p)-p
64 sig(i,2)=facg*(sig(i,2)+p)-p
65 sig(i,3)=facg*(sig(i,3)+p)-p
66 sig(i,4)=facg*sig(i,4)
67 sig(i,5)=facg*sig(i,5)
68 sig(i,6)=facg*sig(i,6)
69 g(i) = facg*g(i)
70 END DO
71
72 RETURN