OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
thrnur.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "task_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine thrnur (iad, nn, iadv, nvar, iparg, ithbuf, bufel, wa)

Function/Subroutine Documentation

◆ thrnur()

subroutine thrnur ( integer iad,
integer nn,
integer iadv,
integer nvar,
integer, dimension(nparg,*) iparg,
integer, dimension(*) ithbuf,
bufel,
wa )

Definition at line 28 of file thrnur.F.

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
#define my_real
Definition cppsort.cpp:32
integer function nvar(text)
Definition nvar.F:32