38 SUBROUTINE desacti(IXS ,IXQ ,IXC ,IXP ,IXT ,
39 . IXR ,IXTG ,IPARG ,IACTIV ,
40 . NSENSOR ,SENSOR_TAB,FSKY ,X ,ELBUF_TAB,
41 . IBCV ,FCONV ,IBCR ,FRADIA ,IGROUPS ,
42 . FACTIV ,TEMP ,MCP ,PM ,MCP_OFF ,
43 . IGRBRIC ,IGRQUAD ,IGRSH4N ,IGRSH3N ,IGRTRUSS ,
44 . IGRBEAM ,IGRSPRING,GLOB_THERM)
52 use element_mod ,
only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
56#include "implicit_f.inc"
68 INTEGER ,
INTENT(IN) :: NSENSOR
69 INTEGER IACTIV(LACTIV,*),IPARG(NPARG,*),
70 . IXS(NIXS,*), IXQ(NIXQ,*), IXC(NIXC,*),
71 . IXT(NIXT,*),IXP(NIXP,*), IXR(NIXR,*), IXTG(NIXTG,*)
72 INTEGER IBCV(*), IBCR(*), IGROUPS(*)
73 my_real FSKY(*), FCONV(*), FRADIA(*)
74 my_real x(3,*), factiv(lractiv,*), temp(*), mcp(*), pm(npropm,*)
76 TYPE(elbuf_struct_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
77 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) ,
INTENT(IN) :: SENSOR_TAB
78 type (glob_therm_) ,
intent(inout) :: glob_therm
80 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
81 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
82 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
83 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
84 TYPE (GROUP_) ,
DIMENSION(NGRTRUS) :: IGRTRUSS
85 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
86 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
90 INTEGER I,N,IFLAG,ISENS,OFFCHANGE
95 itherm_fe = glob_therm%ITHERM_FE
100 IF (iactiv(10,n) == 1)
THEN
105 IF (iflag == 1 .AND. tt > sensor_tab(isens)%TSTART)
THEN
106 CALL eloff(ixs ,ixq ,ixc ,ixp ,ixt ,
108 . iactiv ,tt ,iflag ,n ,elbuf_tab,
109 . x ,temp ,mcp ,pm ,igroups ,
110 . mcp_off ,igrbric ,igrquad ,igrsh4n ,igrsh3n ,
111 . igrtruss,igrbeam ,igrspring,itherm_fe)
115 IF (iparit /= 0)
THEN
123 ELSEIF (iflag == 0 .AND. tt <= sensor_tab(isens)%TSTART)
THEN
124 CALL eloff(ixs ,ixq ,ixc ,ixp ,ixt ,
126 . iactiv ,tt ,iflag ,n ,elbuf_tab,
127 . x ,temp ,mcp ,pm ,igroups ,
128 . mcp_off ,igrbric ,igrquad ,igrsh4n ,igrsh3n ,
129 . igrtruss,igrbeam ,igrspring,itherm_fe)
136 ELSEIF(iactiv(10,n) == 2)
THEN
141 CALL eloff(ixs ,ixq ,ixc ,ixp ,ixt ,
143 . iactiv ,tt ,1 ,n ,elbuf_tab,
144 . x ,temp ,mcp ,pm ,igroups ,
145 . mcp_off ,igrbric ,igrquad ,igrsh4n ,igrsh3n ,
146 . igrtruss,igrbeam ,igrspring,itherm_fe)
157 IF(itherm_fe > 0)
THEN
158 startt = startt / glob_therm%THEACCFACT
159 stopt = stopt / glob_therm%THEACCFACT
161 IF(iflag == 0 .AND. tt >= startt .AND. tt < stopt)
THEN
162 CALL eloff(ixs ,ixq ,ixc ,ixp ,ixt
164 . iactiv ,tt ,iflag ,n ,elbuf_tab,
165 . x ,temp ,mcp ,pm ,igroups ,
166 . mcp_off ,igrbric ,igrquad ,igrsh4n ,igrsh3n ,
167 . igrtruss,igrbeam ,igrspring,itherm_fe)
174 IF(iflag == 1 .AND. tt > stopt)
THEN
175 CALL eloff(ixs ,ixq ,ixc ,ixp ,ixt ,
177 . iactiv ,tt ,1 ,n ,elbuf_tab,
178 . x ,temp ,mcp ,pm ,igroups ,
179 . mcp_off ,igrbric ,igrquad ,igrsh4n ,igrsh3n ,
180 . igrtruss,igrbeam ,igrspring,itherm_fe)
187 IF(itherm_fe > 0 .AND. offchange == 1)
THEN
188 IF(glob_therm%NUMCONV > 0)
CALL convecoff(ibcv, fconv, iparg, igroups, elbuf_tab,glob_therm)
189 IF(glob_therm%NUMRADIA > 0)
CALL radiatoff(ibcr, fradia,iparg, igroups, ixs, elbuf_tab,glob_therm)
192 IF(itherm_fe > 0 .AND. tt == zero)
THEN
195 CALL eloff(ixs ,ixq ,ixc ,ixp ,ixt ,
197 . iactiv ,tt ,iflag ,n ,elbuf_tab,
198 . x ,temp ,mcp ,pm ,igroups ,
199 . mcp_off ,igrbric ,igrquad ,igrsh4n ,igrsh3n ,
200 . igrtruss,igrbeam ,igrspring,itherm_fe)
subroutine desacti(ixs, ixq, ixc, ixp, ixt, ixr, ixtg, iparg, iactiv, nsensor, sensor_tab, fsky, x, elbuf_tab, ibcv, fconv, ibcr, fradia, igroups, factiv, temp, mcp, pm, mcp_off, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, glob_therm)