139!|| sigeps51 ../engine/source/materials/mat/mat051/sigeps51.f90
201#include "implicit_f.inc"
204! ----------------------------------------
220 INTEGER :: i,j,point_nbr
221 INTEGER :: first, last, middle
224 my_real :: dx1,dx2,dx2_first,dx2_last,dx2_middle
225 my_real :: product_fm,product_ml
231 dx2 = tf(npf(ifunc)) - xx
233 IF ((npf(ifunc+1)-npf(ifunc))==2)
THEN
235 finter = tf(npf(ifunc)+1)
244 point_nbr = ( npf(ifunc+1)-2 - (npf(ifunc)+2) ) / 2 + 1
245 IF(point_nbr<min_gap)
THEN
248 DO i=npf(ifunc)+2,npf(ifunc+1)-2,2
251 IF(dx2>=zero.OR.i==npf(ifunc+1)-2)
THEN
252 div0 = tf(i) - tf(i-2)
253 div =
max(abs(div0),em16)
255 deri = (tf(i+1) - tf(i-1)) / div
257 finter = tf(i-1) + dx1 * deri
259 finter = tf(i+1) - dx2 * deri
270 dx2 = tf(npf(ifunc)) - xx
274 IF(dx2>=zero.OR.i==npf(ifunc+1)-2)
THEN
275 div0 = tf(i) - tf(i-2)
278 deri = (tf(i+1) - tf(i-1)) / div
280 finter = tf(i-1) + dx1 * deri
282 finter = tf(i+1) - dx2 * deri
288 dx2 = tf(npf(ifunc+1)-2) - xx
293 div0 = tf(i) - tf(i-2)
294 div =
max(abs(div0),em16)
296 deri = (tf(i+1) - tf(i-1)) / div
297 IF(dx1 == zero .AND. dx2 == zero)
THEN
300 finter = tf(i-1) + dx1 * deri
302 finter = tf(i+1) - dx2 * deri
313 dx2 = tf(npf(ifunc)) - xx
317 middle = (last - first) / 2 + first
318 dx2_first= tf(npf(ifunc)+2*first) - xx
319 dx2_last= tf(npf(ifunc)+2*last) - xx
320 dx2_middle= tf(npf(ifunc)+2*middle) - xx
323 product_fm = dx2_first*dx2_middle
324 product_ml = dx2_middle*dx2_last
326 IF(product_fm<0)
THEN
328 ELSEIF(product_ml<0)
THEN
333 IF( (last-first)<min_gap) bool=.false.
336 counter = counter + 1
337 IF( counter>point_nbr )
THEN
350 IF( counter == -1 )
THEN
355 dx2 = tf(npf(ifunc)+2*first-2) - xx
360 IF(dx2>=zero.OR.j==last)
THEN
361 div0 = tf(i) - tf(i-2)
362 div =
max(abs(div0),em16)
365 deri = (tf(i+1) - tf(i-1)) / div
367 finter = tf(i-1) + dx1 * deri
369 finter = tf(i+1) - dx2 * deri
subroutine convec(ibcv, fconv, npc, tf, x, temp, nsensor, sensor_tab, fthe, iad, fthesky, python, glob_therm)
subroutine fail_fld_c(nel, nuparam, nfunc, ifunc, npf, tf, time, uparam, ngl, ipg, ilay, iptt, epsxx, epsyy, epsxy, lf_dammx, depsxx, depsyy, depsxy, pla, zt, off, foff, tdel, fld_idx, dam, dfmax, dt1, niparam, iparam, nuvar, uvar)
subroutine gravit_fvm_fem(igrv, agrv, npc, tf, a, v, x, skew, ms, sensor_tab, weight, ib, itask, nale, nsensor, python, wfext)
subroutine sigeps92(nel, nuparam, nuvar, nfunc, ifunc, npf, tf, time, timestep, uparam, rho0, rho, volume, eint, ngl, epspxx, epspyy, epspzz, epspxy, epspyz, epspzx, depsxx, depsyy, depszz, depsxy, depsyz, depszx, epsxx, epsyy, epszz, epsxy, epsyz, epszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigvxx, sigvyy, sigvzz, sigvxy, sigvyz, sigvzx, soundsp, viscmax, uvar, off, ismstr, et, ihet, offg, epsth3, iexpan, ww)