OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
thrnur.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| thrnur ../engine/source/output/th/thrnur.F
25!||--- called by ------------------------------------------------------
26!|| hist2 ../engine/source/output/th/hist2.F
27!||====================================================================
28 SUBROUTINE thrnur(IAD,NN,IADV,NVAR,IPARG,
29 . ITHBUF,BUFEL, WA )
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C C o m m o n B l o c k s
36C-----------------------------------------------
37#include "com01_c.inc"
38#include "task_c.inc"
39#include "param_c.inc"
40C-----------------------------------------------
41C D u m m y A r g u m e n t s
42C-----------------------------------------------
43 INTEGER IAD,NN,IADV,NVAR,
44 . iparg(nparg,*),ithbuf(*)
46 . bufel(*),wa(*)
47C-----------------------------------------------
48C L o c a l V a r i a b l e s
49C-----------------------------------------------
50 INTEGER II, I, N, IH, NG, ITY, MTE, NB1, NB2, NB3,
51 . nb4, nb5, nb6, nb10, nb11, nb12, nb13, k, m1, m2, m3, m4, m5,
52 . m6, n1, n2, n3, n4, n5, nb7, nb8, m11, m10, nb9,ip,l,
53 . nb2a, nb2b, nb4a, nb4b, nb9a, nb9b, m8,nb14, nb15, nb16, nb17,
54 . nb10a, nb10b, nb12a, nb12b, nb18,nb8a, nb8b, offset1,offset2,
55 . lwa,nel,nft
57 . wwa(100),xfn
58 ii=0
59 ih=iad
60C specifique spmd
61 lwa = nn*nvar
62 DO i = 1, lwa
63 wa(i) = zero
64 ENDDO
65C decalage IH
66 DO WHILE((ithbuf(ih+nn)/=ispmd).AND.(ih<iad+nn))
67 ih = ih + 1
68 ENDDO
69 IF (ih>=iad+nn) RETURN
70C
71 DO ng=1,ngroup
72 ity=iparg(5,ng)
73 IF(ity==50) THEN
74 mte=iparg(1,ng)
75 nel=iparg(2,ng)
76 nft=iparg(3,ng)
77 nb1=iparg(4,ng)
78 nb2=nb1+nel*11
79 nb3=nb2+nel*12
80 nb4=nb3+nel
81 nb5=nb4+nel*13
82 nb6=nb5+nel*3
83C
84 DO i=1,nel
85 n=i+nft
86 k=ithbuf(ih)
87 ip=ithbuf(ih+nn)
88C
89 IF (k==n)THEN
90 ih=ih+1
91C traitement specifique spmd
92
93C recherche du ii correct
94 ii = ((ih-1) - iad)*nvar
95 DO WHILE((ithbuf(ih+nn)/=ispmd).AND.(ih<iad+nn))
96 ih = ih + 1
97 ENDDO
98C
99 IF(ih>iad+nn) RETURN
100C IF (IP==ISPMD)THEN
101C
102 m1=nb2+3*i-3
103 m2=nb5+3*i-3
104 m3=nb6+3*i-3
105 xfn=bufel(m1)*bufel(m2)+bufel(m1+1)*bufel(m2+1)
106 . +bufel(m1+2)*bufel(m2+2)
107 wwa(1)=bufel(nb1+i)
108 wwa(2)=bufel(nb3+i)
109 wwa(3)=bufel(nb4+i)
110 wwa(4)=xfn*bufel(m1)
111 wwa(5)=xfn*bufel(m1+1)
112 wwa(6)=xfn*bufel(m1+2)
113 wwa(7)=bufel(m2) -xfn*bufel(m1)
114 wwa(8)=bufel(m2+1)-xfn*bufel(m1+1)
115 wwa(9)=bufel(m2+2)-xfn*bufel(m1+2)
116 wwa(10)=bufel(m3)
117 wwa(11)=bufel(m3+1)
118 wwa(12)=bufel(m3+2)
119 DO k=1,12
120 ii=ii+1
121 wa(ii)=wwa(k)
122 ENDDO
123C ENDIF
124 ENDIF
125 ENDDO
126 ENDIF
127 ENDDO
128C
129 RETURN
130 END
#define my_real
Definition cppsort.cpp:32
subroutine thrnur(iad, nn, iadv, nvar, iparg, ithbuf, bufel, wa)
Definition thrnur.F:30