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

Go to the source code of this file.

Functions/Subroutines

subroutine i9grd3 (ierr, area, tstif, t, vol, ii, x, ixs, ix, iparg, pm, elbuf_tab, igrou, ieln)

Function/Subroutine Documentation

◆ i9grd3()

subroutine i9grd3 ( integer ierr,
area,
tstif,
t,
vol,
integer ii,
x,
integer, dimension(nixs) ixs,
integer, dimension(4) ix,
integer, dimension(nparg,ngroup) iparg,
pm,
type (elbuf_struct_), dimension(ngroup) elbuf_tab,
integer igrou,
integer ieln )

Definition at line 34 of file i9grd3.F.

37C-----------------------------------------------
38C M o d u l e s
39C-----------------------------------------------
40 USE initbuf_mod
41 USE elbufdef_mod
42 use element_mod , only : nixs
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "com01_c.inc"
51#include "com04_c.inc"
52#include "param_c.inc"
53C-----------------------------------------------
54C D u m m y A r g u m e n t s
55C-----------------------------------------------
56 INTEGER II, IGROU, IELN , IERR, IX(4), IXS(NIXS),IPARG(NPARG,NGROUP)
58 . area, tstif, t, vol, x(3,numnod), pm(npropm,nummat)
59 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I, N1, N2, N3, N4, NG,MAT
65 . x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4,
66 . nx, ny, nz, dx, dy, dz, norm, dist, cond
67 INTEGER :: LLT ,NFT ,MTN ,IAD ,ITY ,NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,JTHE ,JLAG ,JMULT ,JHBE
68 INTEGER :: JIVF, NVAUX, JPOR, JCVT, JCLOSE, JPLASOL, IREP, IINT, IGTYP
69 INTEGER :: ISORTH, ISORTHG, ISRAT, ISROT, ICSEN, IFAILURE, JSMS
70
71C-----------------------------------------------
72 ierr = 0
73C---------------------------------
74C search for the element in the buffer
75C---------------------------------
76 DO 200 ng=ii/nvsiz+1,ngroup
77 CALL initbuf(iparg ,ng ,
78 2 mtn ,llt ,nft ,iad ,ity ,
79 3 npt ,jale ,ismstr ,jeul ,jtur ,
80 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
81 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
82 6 irep ,iint ,igtyp ,israt ,isrot ,
83 7 icsen ,isorth ,isorthg ,ifailure,jsms )
84 IF(ity/=1) GO TO 200
85 IF(ii>nft+llt) GO TO 200
86 IF(iparg(8,ng)==1.OR.jthe/=1)THEN
87 ierr = 1
88 RETURN
89 ENDIF
90 i = ii - nft
91 GOTO 250
92 200 CONTINUE
93 ierr = 1
94 RETURN
95 250 CONTINUE
96
97 igrou = ng
98 ieln = i
99 vol = elbuf_tab(ng)%GBUF%VOL(i)
100C----------------------
101C CONDUCTION
102C----------------------
103 n1=ix(1)
104 n2=ix(2)
105 n3=ix(3)
106 n4=ix(4)
107C
108 x1=x(1,n1)
109 y1=x(2,n1)
110 z1=x(3,n1)
111C
112 x2=x(1,n2)
113 y2=x(2,n2)
114 z2=x(3,n2)
115C
116 x3=x(1,n3)
117 y3=x(2,n3)
118 z3=x(3,n3)
119C
120 x4=x(1,n4)
121 y4=x(2,n4)
122 z4=x(3,n4)
123C------------------------------------------
124C calculation of the vector surface (*2.)
125C------------------------------------------
126 nx=(y1-y3)*(z2-z4) - (z1-z3)*(y2-y4)
127 ny=(z1-z3)*(x2-x4) - (x1-x3)*(z2-z4)
128 nz=(x1-x3)*(y2-y4) - (y1-y3)*(x2-x4)
129 norm = sqrt(nx**2 + ny**2 + nz**2)
130C--------+---------+---------+---------+---------+---------+---------+--
131C calculation of the distance between center and surface (*8.)
132C-------------------------------------------------------------
133 dx = two*(x1 + x2 + x3 + x4)
134 . -x(1,ixs(2))-x(1,ixs(3))
135 . -x(1,ixs(4))-x(1,ixs(5))
136 . -x(1,ixs(6))-x(1,ixs(7))
137 . -x(1,ixs(8))-x(1,ixs(9))
138C
139 dy = two*(y1 + y2 + y3 + y4)
140 . -x(2,ixs(2))-x(2,ixs(3))
141 . -x(2,ixs(4))-x(2,ixs(5))
142 . -x(2,ixs(6))-x(2,ixs(7))
143 . -x(2,ixs(8))-x(2,ixs(9))
144C
145 dz = two*(z1 + z2 + z3 + z4)
146 . -x(3,ixs(2))-x(3,ixs(3))
147 . -x(3,ixs(4))-x(3,ixs(5))
148 . -x(3,ixs(6))-x(3,ixs(7))
149 . -x(3,ixs(8))-x(3,ixs(9))
150C
151C---------------------------------
152C CALCULATION DISTANCE ET 1/4 SURFACE(SURFFACE NODALE))
153C---------------------------------
154 dist = one_over_8*(dx*nx+dy*ny+dz*nz) / max(em15,norm)
155 area = one_over_8*norm
156C---------------------------------
157C calculation of the conductivity
158C---------------------------------
159 t = elbuf_tab(ng)%GBUF%TEMP(i)
160 mat =ixs(1)
161 IF(t<=pm(80,mat))THEN
162 cond=pm(75,mat)+pm(76,mat)*t
163 ELSE
164 cond=pm(77,mat)+pm(78,mat)*t
165 ENDIF
166 tstif = dist / cond
167C
168C
169 RETURN
#define my_real
Definition cppsort.cpp:32
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define max(a, b)
Definition macros.h:21
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
Definition initbuf.F:261