OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i11trc.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!|| i11trc ../engine/source/interfaces/intsort/i11trc.F
25!||--- called by ------------------------------------------------------
26!|| i11main_tri ../engine/source/interfaces/intsort/i11main_tri.F
27!||--- uses -----------------------------------------------------
28!|| tri7box ../engine/share/modules/tri7box.F
29!||====================================================================
30 SUBROUTINE i11trc(
31 1 I_STOK ,CAND_N ,CAND_E,CAND_FX,CAND_FY ,
32 2 CAND_FZ ,MFROT ,ADDCM ,CHAINE ,NSN4 ,
33 3 ITAB , JLT , NFT ,IFPEN,STFS ,NIN ,NRTS)
34C============================================================================
35 USE tri7box
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40#include "comlock.inc"
41C-----------------------------------------------
42C C o m m o n B l o c k s
43C-----------------------------------------------
44C ROLE DE LA ROUTINE:
45C ===================
46C TRI sur N de CAND_N CAND_E CAND_F
47C et elimination des noeuds en rebond
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER I_STOK,MFROT,NSN4,JLT,NFT ,NIN,NRTS
52 INTEGER CAND_N(*),CAND_E(*),ADDCM(*),CHAINE(2,*),IFPEN(*),ITAB(*)
53C REAL
55 . cand_fx(*),cand_fy(*),cand_fz(*),stfs(*)
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I,N,K,IADFIN,IAD,IAD0,J,II,SLVE,NN
60C-----------------------------------------------
61C=======================================================================
62C
63C Remove deleted Candidates from impacting list.
64C
65 DO i=1,jlt
66 ii = i + nft
67 IF(ifpen(ii) == 1)THEN
68 slve = cand_n(ii)
69 IF(slve<=nrts)THEN
70 IF(stfs(slve)==zero)THEN
71 ifpen(ii) = 0
72 ENDIF
73 ELSE
74 nn = slve - nrts
75 IF(stifi(nin)%P(nn)==zero)THEN
76 ifpen(ii) = 0
77 ENDIF
78 ENDIF
79 ENDIF
80 ENDDO
81C
82
83 iad0 = 0
84 DO i=1,jlt
85 ii = i + nft
86 IF(ifpen(ii) == 1)THEN
87 iad=addcm(cand_e(ii))
88 j=0
89 DO WHILE(iad/=0.AND.j<nsn4)
90 j=j+1
91 IF(chaine(1,iad)==cand_n(ii))THEN
92 ifpen(ii) = 0
93 iad=0
94 ELSE
95 iad0=iad
96 iad=chaine(2,iad)
97 ENDIF
98 ENDDO
99 IF(ifpen(ii) == 1)THEN
100 i_stok = i_stok + 1
101 iadfin=i_stok
102 IF(iadfin>nsn4) THEN
103 RETURN
104 ENDIF
105 chaine(1,iadfin)=cand_n(ii)
106 chaine(2,iadfin)=0
107 IF(addcm(cand_e(ii))==0)THEN
108 addcm(cand_e(ii))=iadfin
109 ELSE
110 chaine(2,iad0)=iadfin
111 ENDIF
112 cand_fx(i_stok) = cand_fx(ii)
113
114 cand_fy(i_stok) = cand_fy(ii)
115 cand_fz(i_stok) = cand_fz(ii)
116 cand_e(i_stok) = cand_e(ii)
117 cand_n(i_stok) = cand_n(ii)
118 ifpen(i_stok) = ifpen(ii)
119 ENDIF
120 ENDIF
121 ENDDO
122C
123 RETURN
124 END
#define my_real
Definition cppsort.cpp:32
subroutine i11trc(i_stok, cand_n, cand_e, cand_fx, cand_fy, cand_fz, mfrot, addcm, chaine, nsn4, itab, jlt, nft, ifpen, stfs, nin, nrts)
Definition i11trc.F:34
type(real_pointer), dimension(:), allocatable stifi
Definition tri7box.F:449