C LINEAR SOURCE CHAT 05/01/13 01:18:32 5004 c--------------------------------------------------------------------- c SUBROUTINE LINEAR (ISTEG, ITERA, NDIME, NDIM1, NSTRE, NSTR1, . ntemp, . dmatx, poiss, stran, stres, strin, . stype) c c===================================================================== c = c Evaluates total and incremental stresses assuming linear and = c elastic behaviour. = c = c Note: stran = (Sxx, Syy, Szz, Sxy, Sxz, Syz) NSTRE=6 = c stran = (Srr, Szz, S00, Srz) NSTRE=4 = c stran = (Sxx, Syy, Szz, Sxy) NSTRE=3 = c = c stres = (Sxx, Syy, Szz, Sxy, Sxz, Syz) NSTRE=6 = c stres = (Srr, Szz, S00, Srz) NSTRE=4 = c stres = (Sxx, Syy, Szz, Sxy) NSTRE=3 = c = c Author: Rui Faria Version: 93.04.20 = c -------- = c===================================================================== IMPLICIT INTEGER(I-N) integer*4 isteg, itera, ndime, ndim1, nstre, nstr1, ntemp real*8 poiss, strin, stran (nstr1), stres (nstr1), . dmatx (nstre,nstre) c character*6 stype c=====---------------------------------------------------------------- c compute the incremental stresses | c=====---------------------------------------------------------------- call opmult (ndime, ndim1, nstre, nstr1, . dmatx, stran, stres, . stype) c if (stype .eq. 'PSTRES') stres (3) = 0.0 d0 if (stype .eq. 'PSTRAI') stres (3) = poiss * . (stres (1) + stres (2)) c=====---------------------------------------------------------------- c strin - stresses due to temperature | c=====---------------------------------------------------------------- c if (ntemp .eq. 1 .and. isteg .eq. 1 .and. itera .eq. 1) then c stres (1) = stres (1) + strin c stres (2) = stres (2) + strin c stres (3) = stres (3) + strin c end if c return end