OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i21main_opt_tri.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!|| i21main_opt_tri ../engine/source/interfaces/intsort/i21main_opt_tri.F
25!||--- called by ------------------------------------------------------
26!|| inttri ../engine/source/interfaces/intsort/inttri.F
27!||--- calls -----------------------------------------------------
28!|| i21optcd ../engine/source/interfaces/int21/i21optcd.F
29!||--- uses -----------------------------------------------------
30!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
31!|| intstamp_mod ../engine/share/modules/intstamp_mod.F
32!|| timer_mod ../engine/source/system/timer_mod.F90
33!||====================================================================
34 SUBROUTINE i21main_opt_tri(TIMERS,
35 1 IPARI ,INTBUF_TAB ,NIN ,ITASK ,
36 2 INTSTAMP,NB_STOK_N,NB_JLT)
37C-----------------------------------------------
38C M o d u l e s
39C-----------------------------------------------
40 USE timer_mod
41 USE intstamp_mod
42 USE intbufdef_mod
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47#include "comlock.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "com04_c.inc"
52#include "com08_c.inc"
53#include "param_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 TYPE(timer_) :: TIMERS
58 INTEGER IPARI(NPARI,NINTER), ITASK, NIN,
59 . nb_stok_n(*),nb_jlt(*)
60 TYPE(intstamp_data) INTSTAMP
61 TYPE(INTBUF_STRUCT_) INTBUF_TAB
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER KK, I, INACTI, I_STOK, NSN, ADXLOC
66C REAL
68 . startt,gap,stopt, dx, dy, dz
69C-----------------------------------------------
70C
71 nsn =ipari(5,nin)
72 inacti =ipari(22,nin)
73C
74 startt=intbuf_tab%VARIABLES(3)
75 stopt =intbuf_tab%VARIABLES(11)
76
77 IF(startt>tt) goto 999
78 IF(tt>stopt) goto 999
79C
80 gap =intbuf_tab%VARIABLES(2)
81C
82 IF(nsn > 0) THEN
83 adxloc = 1+3*(nsn+2)
84 ELSE
85 adxloc = 1
86 ENDIF
87C
88C-----------------------------------------------------------
89C Filtrage des candidats a l'impact
90C (si candidat retenu, cand_n(i) = - cand_n(i))
91C-----------------------------------------------------------
92 i_stok = intbuf_tab%I_STOK(1)
93 CALL i21optcd(timers,
94 1 intbuf_tab%CAND_E,intbuf_tab%CAND_N,intbuf_tab%XSAV(adxloc),
95 . i_stok ,intbuf_tab%IRECTM,
96 2gap ,intbuf_tab%GAP_S,ipari(21,nin),ipari(5,nin) ,intbuf_tab%STFNS,
97 3itask ,intbuf_tab%STF,inacti ,intbuf_tab%IFPEN,intbuf_tab%FTSAVX,
98 4intbuf_tab%FTSAVY,intbuf_tab%FTSAVZ,intbuf_tab%PENIS,nin ,intbuf_tab%VARIABLES(16),
99 5ipari(39,nin),intbuf_tab%IRTLM,intbuf_tab%CSTS,intbuf_tab%VARIABLES(23),
100 . intbuf_tab%NOD_NORMAL,
101 6intbuf_tab%XM0,intbuf_tab%VARIABLES(32),nb_stok_n,nb_jlt,intbuf_tab%VARIABLES(46))
102C-----------------------------------------------------------
103C
104 999 continue
105 RETURN
106 END
#define my_real
Definition cppsort.cpp:32
subroutine i21main_opt_tri(timers, ipari, intbuf_tab, nin, itask, intstamp, nb_stok_n, nb_jlt)
subroutine i21optcd(timers, cand_e, cand_n, xloc, i_stok, irect, gap, gap_s, igap, nsn, stfn, itask, stf, inacti, ifpen, ftxsav, ftysav, ftzsav, peni, nin, gapmax, icurv, irtlm, csts, depth, nod_normal, xm0, drad, nb_stok_n, nb_jlt, dgapload)
Definition i21optcd.F:40