OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
tagnod_r2r_nl.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!|| tagnod_r2r_nl ../starter/source/coupling/rad2rad/tagnod_r2r_nl.F
25!||--- called by ------------------------------------------------------
26!|| r2r_group ../starter/source/coupling/rad2rad/r2r_group.F
27!||--- uses -----------------------------------------------------
28!|| message_mod ../starter/share/message_module/message_mod.F
29!||====================================================================
30 SUBROUTINE tagnod_r2r_nl(IXC,IXTG,IXS,IXS10,IXS20,IXS16,TAG_NLOCAL,MAT_PARAM)
31C-----------------------------------------------
32C M o d u l e s
33C-----------------------------------------------
34 USE message_mod
35 USE matparam_def_mod
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "com04_c.inc"
44#include "param_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER, INTENT(IN) :: IXC(NIXC,NUMELC),IXTG(NIXTG,NUMELTG),IXS(NIXS,NUMELS),IXS10(6,NUMELS10),
49 . IXS20(12,NUMELS20),IXS16(8,NUMELS16)
50 INTEGER, INTENT(INOUT) :: TAG_NLOCAL(NUMNOD)
51 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
52C-----------------------------------------------
53C L o c a l V a r i a b l e s
54C-----------------------------------------------
55 INTEGER I,J,L,MID
56C=======================================================================
57C
58C-----------------------------------------------------------------------------------------------
59c-----Tag of nodes with non local dof-----------------------------------------------------------
60C-----------------------------------------------------------------------------------------------
61C
62C-----------------------------------------------------------------------------------------------
63 DO j=1,numelc
64 mid = ixc(1,j)
65 IF (mat_param(mid)%NLOC > 0)THEN
66 DO l=2,5
67 tag_nlocal(ixc(l,j))=1
68 ENDDO
69 ENDIF
70 ENDDO
71C-----------------------------------------------------------------------------------------------
72 DO j=1,numeltg
73 mid = ixtg(1,j)
74 IF (mat_param(mid)%NLOC > 0)THEN
75 DO l=2,4
76 tag_nlocal(ixtg(l,j))=1
77 ENDDO
78 ENDIF
79 ENDDO
80C-----------
81 DO j=1,numels8
82 mid = ixs(1,j)
83 IF (mat_param(mid)%NLOC > 0)THEN
84 DO l=2,9
85 tag_nlocal(ixs(l,j))=1
86 ENDDO
87 ENDIF
88 ENDDO
89C-----------
90 DO i=1,numels10
91 j = i + numels8
92 mid = ixs(1,j)
93 IF (mat_param(mid)%NLOC > 0)THEN
94 DO l=2,9
95 tag_nlocal(ixs(l,j))=1
96 ENDDO
97 DO l=1,6
98 IF (ixs10(l,i) /= 0) THEN
99 tag_nlocal(ixs10(l,i))=1
100 ENDIF
101 ENDDO
102 ENDIF
103 ENDDO
104C-----------
105 DO i=1,numels20
106 j = i + numels8 + numels10
107 mid = ixs(1,j)
108 IF (mat_param(mid)%NLOC > 0)THEN
109 DO l=2,9
110 tag_nlocal(ixs(l,j))=1
111 ENDDO
112 DO l=1,12
113 IF (ixs20(l,i) /= 0) THEN
114 tag_nlocal(ixs20(l,i))=1
115 ENDIF
116 ENDDO
117 ENDIF
118 ENDDO
119C-----------
120 DO i=1,numels16
121 j = i + numels8 + numels10 + numels20
122 mid = ixs(1,j)
123 IF (mat_param(mid)%NLOC > 0)THEN
124 DO l=2,9
125 tag_nlocal(ixs(l,j))=0
126 ENDDO
127 DO l=1,8
128 IF (ixs16(l,i) /= 0) THEN
129 tag_nlocal(ixs16(l,i))=0
130 ENDIF
131 ENDDO
132 ENDIF
133 ENDDO
134C
135 RETURN
136C
137 END SUBROUTINE tagnod_r2r_nl
subroutine tagnod_r2r_nl(ixc, ixtg, ixs, ixs10, ixs20, ixs16, tag_nlocal, mat_param)