OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i9grd2.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!|| i9grd2 ../engine/source/interfaces/int09/i9grd2.F
25!||--- called by ------------------------------------------------------
26!|| i9wal2 ../engine/source/interfaces/int09/i9wal2.F
27!||--- calls -----------------------------------------------------
28!|| initbuf ../engine/share/resol/initbuf.F
29!||--- uses -----------------------------------------------------
30!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
31!|| element_mod ../common_source/modules/elements/element_mod.F90
32!|| initbuf_mod ../engine/share/resol/initbuf.F
33!||====================================================================
34 SUBROUTINE i9grd2(IERR ,AREA ,TSTIF ,T ,VOL ,
35 2 II ,X ,IXQ ,IX ,
36 3 IPARG ,PM ,ELBUF_TAB,IGROU ,IELN )
37C-----------------------------------------------
38C M o d u l e s
39C-----------------------------------------------
40 USE initbuf_mod
41 USE elbufdef_mod
42 use element_mod , only : nixq
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 "param_c.inc"
52C-----------------------------------------------
53C D u m m y A r g u m e n t s
54C-----------------------------------------------
55 INTEGER II, IGROU, IELN, IERR, IX(4), IXQ(NIXQ),IPARG(NPARG,*)
56C REAL
58 . dist, area, tstif, t, vol, x(3,*), pm(npropm,*)
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, NG,MAT
64 my_real
65 . y1, y2, z1, z2,ny, nz, dy, dz,norm,cond
66 INTEGER :: LLT ,NFT ,MTN ,IAD ,ITY ,NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,JTHE ,JLAG ,JMULT ,JHBE
67 INTEGER :: JIVF, NVAUX, JPOR, JCVT, JCLOSE, JPLASOL, IREP, IINT, IGTYP
68 INTEGER :: ISORTH, ISORTHG, ISRAT, ISROT, ICSEN, IFAILURE, JSMS
69
70C-----------------------------------------------
71 ierr = 0
72C---------------------------------
73C search for the element in the buffer
74C---------------------------------
75 DO 200 ng=1,ngroup
76 CALL initbuf(iparg ,ng ,
77 2 mtn ,llt ,nft ,iad ,ity ,
78 3 npt ,jale ,ismstr ,jeul ,jtur ,
79 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
80 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
81 6 irep ,iint ,igtyp ,israt ,isrot ,
82 7 icsen ,isorth ,isorthg ,ifailure,jsms )
83 IF(ity/=2) GO TO 200
84 IF(ii>nft+llt) GO TO 200
85 IF(iparg(8,ng)==1.OR.jthe/=1)THEN
86 ierr = 1
87 RETURN
88 ENDIF
89 i = ii - nft
90 GOTO 250
91 200 CONTINUE
92 ierr = 1
93 RETURN
94 250 CONTINUE
95
96 igrou = ng
97 ieln = i
98 vol = elbuf_tab(ng)%GBUF%VOL(i)
99C----------------------
100C CONDUCTION
101C----------------------
102 n1=ix(1)
103 n2=ix(2)
104C
105 y1=x(2,n1)
106 z1=x(3,n1)
107C
108 y2=x(2,n2)
109 z2=x(3,n2)
110C
111C------------------------------------------
112C calculation of the vector surface (*1.)
113C------------------------------------------
114 ny= (z2-z1)
115 nz=-(y2-y1)
116 norm = sqrt(ny**2 + nz**2)
117C--------+---------+---------+---------+---------+---------+---------+--
118C calculation of the distance between center and surface (*4.)
119C-------------------------------------------------------------
120 dy = two*(y1 + y2)
121 . -x(2,ixq(2))-x(2,ixq(3))
122 . -x(2,ixq(4))-x(2,ixq(5))
123C
124 dz = two*(z1 + z2)
125 . -x(3,ixq(2))-x(3,ixq(3))
126 . -x(3,ixq(4))-x(3,ixq(5))
127C----------------------------------------------------------
128C CALCULATION DISTANCE ET 1/2 SURFACE(SURFACE NODALE))
129C----------------------------------------------------------
130 dist = fourth*(dy*ny+dz*nz) / max(em15,norm)
131 area = half*norm
132C--------------------------------------------
133C calculation of the thermal resistance
134C--------------------------------------------
135 t = elbuf_tab(ng)%GBUF%TEMP(i)
136 mat =ixq(1)
137 IF(t<=pm(80,mat))THEN
138 cond=pm(75,mat)+pm(76,mat)*t
139 ELSE
140 cond=pm(77,mat)+pm(78,mat)*t
141 ENDIF
142 tstif = dist / cond
143C
144C
145 RETURN
146 END
#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)
subroutine i9grd2(ierr, area, tstif, t, vol, ii, x, ixq, ix, iparg, pm, elbuf_tab, igrou, ieln)
Definition i9grd2.F:37
#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