OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i22tzinf.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!|| i22tzinf ../starter/source/interfaces/inter3d1/i22tzinf.F
25!||--- called by ------------------------------------------------------
26!|| inint3 ../starter/source/interfaces/inter3d1/inint3.F
27!||--- uses -----------------------------------------------------
28!|| message_mod ../starter/share/message_module/message_mod.F
29!||====================================================================
30 SUBROUTINE i22tzinf(
31 1 X ,TZINF ,BUFBRIC ,NBRIC ,IXS)
32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE message_mod
36 use element_mod , only :nixs
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER IXS(NIXS,*)
49 my_real x(3,*),tzinf,xx(8),yy(8), zz(8), coormin(3), coormax(3), ddmax
50 INTEGER BUFBRIC(*), NBRIC
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER L
55 INTEGER NE
57 . dx1,dy1,dz1,
58 . dx3,dy3,dz3,
59 . dx4,dy4,dz4,
60 . dx6,dy6,dz6,
61 . dd1,dd2,dd3,dd4,dd,dd0,xmin,ymin,zmin,
62 . xmax,ymax,zmax,tzinf0,gapsmax,
63 . bid,tzinf_st,marge,marge_st,gapv(mvsiz),
64 . diag(4)
65C-----------------------------------------------
66C P r e c o n d i t i o n s
67C-----------------------------------------------
68 IF(nbric==0)RETURN
69C-----------------------------------------------
70C S o u r c e L i n e s
71C-----------------------------------------------
72 !1- INFLUCENCE AREA DIAMETER
73 !DD DIMENSION OF CIRCUMSCRIBED BALL (NORM L1)
74
75 l = 1
76 ne = bufbric(l)
77 xx(1:8) = x(1, ixs(2:9,ne) )
78 yy(1:8) = x(2, ixs(2:9,ne) )
79 zz(1:8) = x(3, ixs(2:9,ne) )
80
81 diag(1) = sqrt((xx(1)-xx(7))**2 + (yy(1)-yy(7))**2 + (zz(1)-zz(7))**2)
82 diag(2) = sqrt((xx(3)-xx(5))**2 + (yy(3)-yy(5))**2 + (zz(3)-zz(5))**2)
83 diag(3) = sqrt((xx(2)-xx(8))**2 + (yy(2)-yy(8))**2 + (zz(2)-zz(8))**2)
84 diag(4) = sqrt((xx(4)-xx(6))**2 + (yy(4)-yy(6))**2 + (zz(4)-zz(6))**2)
85
86 ddmax = maxval(diag(1:4))
87
88 DO l=2,nbric
89 ne = bufbric(l)
90 xx(1:8) = x(1, ixs(2:9,ne) )
91 yy(1:8) = x(2, ixs(2:9,ne) )
92 zz(1:8) = x(3, ixs(2:9,ne) )
93 diag(1) = sqrt((xx(1)-xx(7))**2 + (yy(1)-yy(7))**2 + (zz(1)-zz(7))**2)
94 diag(2) = sqrt((xx(3)-xx(5))**2 + (yy(3)-yy(5))**2 + (zz(3)-zz(5))**2)
95 diag(3) = sqrt((xx(2)-xx(8))**2 + (yy(2)-yy(8))**2 + (zz(2)-zz(8))**2)
96 diag(4) = sqrt((xx(4)-xx(6))**2 + (yy(4)-yy(6))**2 + (zz(4)-zz(6))**2)
97 dd = maxval(diag(1:4))
98 IF(dd>ddmax)THEN
99 ddmax = dd
100 ENDIF
101 ENDDO
102
103 tzinf = (one+five/hundred) * ddmax
104
105 RETURN
106 END
#define my_real
Definition cppsort.cpp:32
subroutine i22tzinf(x, tzinf, bufbric, nbric, ixs)
Definition i22tzinf.F:32
subroutine ymax(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
Definition law100_upd.F:274