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),
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)'
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 s20forc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, ixs20, iads20, nel, fx, fy, fz, volnp, rx, ry, rz, sx, sy, sz, tx, ty, tz, stig, stin, ul, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, dnidr, dnids, dnidt, px, py, pz, ipm, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, table, igeo, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, idel7nok, snpc, stf, sbufmat, svis, idtmins, nsvois, iresp, idel7ng, idtmin, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
subroutine s4forc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, nel, fskym, msnf, ipm, igeo, bufvois, istrain, itask, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, xdp, sfem_nodvar, voln, condn, condnsky, d, sensors, ioutprt, mat_elem, h3d_strain, dt, idel7nok, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, idtmins, iresp, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, s_sfem_nodvar)
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)