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
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER IXS(NIXS,*)
48 INTEGER MAXSIZ
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 I, J, L, N1, N2, N3, N4, I_AMAX
55 INTEGER I_ADD, ADESTK, NB_NC, NB_EC, ADNSTK, IBID
56 INTEGER IP1, IP2, IP21, IP22, IP31,J_STOK,I_BID,NB_N_B,NE
58 . dx1,dy1,dz1,
59 . dx3,dy3,dz3,
60 . dx4,dy4,dz4,
61 . dx6,dy6,dz6,
62 . dd1,dd2,dd3,dd4,dd,dd0,xmin,ymin,zmin,
63 . xmax,ymax,zmax,tzinf0,gapsmax,
64 . bid,tzinf_st,marge,marge_st,gapv(mvsiz),
65 . diag(4)
66C-----------------------------------------------
67C P r e c o n d i t i o n s
68C-----------------------------------------------
69 IF(nbric==0)RETURN
70C-----------------------------------------------
71C S o u r c e L i n e s
72C-----------------------------------------------
73 !1- INFLUCENCE AREA DIAMETER
74 !DD DIMENSION OF CIRCUMSCRIBED BALL (NORM L1)
75
76 l = 1
77 ne = bufbric(l)
78 xx(1:8) = x(1, ixs(2:9,ne) )
79 yy(1:8) = x(2, ixs(2:9,ne) )
80 zz(1:8) = x(3, ixs(2:9,ne) )
81
82 diag(1) = sqrt((xx(1)-xx(7))**2 + (yy(1)-yy(7))**2 + (zz(1)-zz(7))**2)
83 diag(2) = sqrt((xx(3)-xx(5))**2 + (yy(3)-yy(5))**2 + (zz(3)-zz(5))**2)
84 diag(3) = sqrt((xx(2)-xx(8))**2 + (yy(2)-yy(8))**2 + (zz(2)-zz(8))**2)
85 diag(4) = sqrt((xx(4)-xx(6))**2 + (yy(4)-yy(6))**2 + (zz(4)-zz(6))**2)
86
87 ddmax = maxval(diag(1:4))
88
89 DO l=2,nbric
90 ne = bufbric(l)
91 xx(1:8) = x(1, ixs(2:9,ne) )
92 yy(1:8) = x(2, ixs(2:9,ne) )
93 zz(1:8) = x(3, ixs(2:9,ne) )
94 diag(1) = sqrt((xx(1)-xx(7))**2 + (yy(1)-yy(7))**2 + (zz(1)-zz(7))**2)
95 diag(2) = sqrt((xx(3)-xx(5))**2 + (yy(3)-yy(5))**2 + (zz(3)-zz(5))**2)
96 diag(3) = sqrt((xx(2)-xx(8))**2 + (yy(2)-yy(8))**2 + (zz(2)-zz(8))**2)
97 diag(4) = sqrt((xx(4)-xx(6))**2 + (yy(4)-yy(6))**2 + (zz(4)-zz(6))**2)
98 dd = maxval(diag(1:4))
99 IF(dd>ddmax)THEN
100 ddmax = dd
101 ENDIF
102 ENDDO
103
104 tzinf = (one+five/hundred) * ddmax
105
106 RETURN
107 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:272