39 1 NGL, OFFG, VOLG, DELTAX,
40 2 VOLG0, GEO, L_MAX, DT,
50#include "implicit_f.inc"
61 INTEGER,
INTENT(INOUT) :: IDEL7NOK
62 INTEGER ,
INTENT(IN) :: NEL
63 INTEGER ,
DIMENSION(MVSIZ) ,
INTENT(IN) :: NGL
64 my_real,
DIMENSION(NPROPG) ,
INTENT(IN) :: geo
65 my_real,
DIMENSION(NEL) ,
INTENT(IN) :: volg0
66 my_real,
DIMENSION(MVSIZ) ,
INTENT(IN) :: volg,deltax,l_max
67 my_real,
DIMENSION(NEL) ,
INTENT(INOUT) :: offg
68 TYPE(
dt_),
INTENT(INOUT) :: DT
72 INTEGER I,J,ICOUNT,LIST(MVSIZ),ITET
74 . TET_COLLA(MVSIZ),DEF_V(MVSIZ),APS_R(MVSIZ),
75 . c_min,al,vdefmin,vdefmax,aspmax,colmin,c_max,gdel
77 vdefmin =
max(geo(190),dt%BRICK_DEL_DEFV_MIN)
80 colmin =
max(geo(193),dt%BRICK_DEL_COL_MIN)
82 gdel=vdefmin+vdefmax+aspmax+colmin
83 IF(gdel==zero.AND.dt%IDEL_BRICK==0)
RETURN
85 IF(dt%BRICK_DEL_DEFV_MAX>zero .AND. (dt%BRICK_DEL_DEFV_MAX<vdefmax
86 . .OR.vdefmax==zero) ) vdefmax = dt%BRICK_DEL_DEFV_MAX
87 IF(dt%BRICK_DEL_ASP_MAX>zero .AND. ( dt%BRICK_DEL_ASP_MAX<aspmax
88 . .OR.aspmax==zero) ) aspmax = dt%BRICK_DEL_ASP_MAX
91 IF (l_max(1) >zero)
THEN
102 IF ((vdefmin+vdefmax) >zero)
THEN
104 IF (offg(i)==zero) cycle
105 def_v(i) = volg(i)/volg0(i)
109 IF (vdefmin >zero)
THEN
112 IF (offg(i)==zero) cycle
113 IF (def_v(i) < vdefmin)
THEN
125 WRITE(iout,
'(6X,I10,1PG20.13)')ngl(i),def_v(i)
126 WRITE(istdo,
'(6X,I10,1PG20.13)')ngl(i),def_v(i)
130#include "lockoff.inc"
135 IF (vdefmax >zero)
THEN
138 IF (offg(i)==zero) cycle
139 IF (def_v(i) > vdefmax)
THEN
151 WRITE(iout,
'(6X,I10,1PG20.13)')ngl(i),def_v(i)
152 WRITE(istdo,
'(6X,I10,1PG20.13)')ngl(i),def_v(i)
156#include "lockoff.inc"
162 IF ((aspmax+colmin) >zero)
THEN
165 IF (offg(i)==zero) cycle
166 aps_r(i) = l_max(i)/deltax(i)
167 tet_colla(i) = deltax(i) / l_max(i)
171 IF (offg(i)==zero) cycle
172 al = sqrt(volg(i)/deltax(i)**3)
174 tet_colla(i) = c_min / al
178 IF (aspmax>zero)
THEN
181 IF (offg(i)==zero) cycle
182 IF (aps_r(i) > aspmax)
THEN
194 WRITE(iout,
'(6X,I10,1PG20.13)')ngl(i),aps_r(i)
195 WRITE(istdo,
'(6X,I10,1PG20.13)')ngl(i),aps_r(i)
199#include "lockoff.inc"
207 IF (colmin>zero)
THEN
210 IF (offg(i)==zero) cycle
211 IF (tet_colla(i) < colmin)
THEN
223 WRITE(iout,
'(6X,I10,1PG20.13)')ngl(i),tet_colla(i)
224 WRITE(istdo,
'(6X,I10,1PG20.13)')ngl(i),tet_colla(i)
228#include "lockoff.inc"
235 .
'THE FOLLOWING SOLID ELEMENTS WILL BE DELETED BY MINIMUM VOLUME RATIO' /)
237 .
'THE FOLLOWING SOLID ELEMENTS WILL BE DELETED BY MAXIMUM VOLUME RATIO' /)
239 .
'THE FOLLOWING SOLID ELEMENTS WILL BE DELETED BY MAXIMUM ASPECT RATIO' /)
241 .
'THE FOLLOWING SOLID ELEMENTS WILL BE DELETED BY MINIMUM COLLAPSE RATIO' /)
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)