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