OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
surface_deactivation.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!|| surface_deactivation ../engine/source/interfaces/interf/surface_deactivation.F
25!||--- called by ------------------------------------------------------
26!|| check_remote_surface_state ../engine/source/interfaces/interf/check_remote_surface_state.F
27!||====================================================================
28 SUBROUTINE surface_deactivation(ITY,NRTM,GLOCAL_SURFACE_ID,MSEGLO,MVOISIN)
29!$COMMENT
30! SURFACE_DEACTIVATION description
31! deactivation of neighbour surface
32! SURFACE_DEACTIVATION organization
33! - for a given K deactivated surface :
34! loop over the surfaces to deactivate the neighbour K
35!$ENDCOMMENT
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
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER, INTENT(in) :: ITY ! kind of interface
48 INTEGER, INTENT(in) :: NRTM ! number of surface
49 INTEGER, INTENT(in) :: GLOCAL_SURFACE_ID ! global id of the surface
50 INTEGER, DIMENSION(NRTM), INTENT(in) :: MSEGLO ! global id of the k surface
51 INTEGER, DIMENSION(4,NRTM), INTENT(inout) :: MVOISIN ! neighbouring array
52C-----------------------------------------------
53C L o c a l V a r i a b l e s
54C-----------------------------------------------
55 INTEGER :: J
56C-----------------------------------------------
57 ! ----------------------
58 DO j=1,nrtm
59 ! --------------
60 ! deactivation of neighbouring
61 IF(mvoisin(1,j)==glocal_surface_id) mvoisin(1,j) = 0
62 IF(mvoisin(2,j)==glocal_surface_id) mvoisin(2,j) = 0
63 IF(mvoisin(3,j)==glocal_surface_id) mvoisin(3,j) = 0
64 IF(mvoisin(4,j)==glocal_surface_id) mvoisin(4,j) = 0
65 ! --------------
66
67 ! --------------
68 ! deactivation of the surface SURFACE_ID
69 IF(ity==24.AND.mseglo(j)==glocal_surface_id) THEN
70 mvoisin(1,j) = 0
71 mvoisin(2,j) = 0
72 mvoisin(3,j) = 0
73 mvoisin(4,j) = 0
74 ENDIF
75 ! --------------
76 ENDDO
77 ! ----------------------
78 RETURN
79 END SUBROUTINE surface_deactivation
subroutine surface_deactivation(ity, nrtm, glocal_surface_id, mseglo, mvoisin)