OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
intcontp25e.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!|| intcontp25e ../engine/source/mpi/interfaces/intcontp25e.F
25!||--- called by ------------------------------------------------------
26!|| spmd_i7fcom_pon ../engine/source/mpi/forces/spmd_i7fcom_pon.F
27!||====================================================================
28 SUBROUTINE intcontp25e(N,ISKY,NSNFI,ISIZENV,NSNFITOT,LEN)
29C
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C C o m m o n B l o c k s
36C-----------------------------------------------
37#include "com01_c.inc"
38#include "assert.inc"
39C-----------------------------------------------
40C D u m m y A r g u m e n t s
41C-----------------------------------------------
42 INTEGER N, LEN,
43 . NSNFI(*), ISKY(*), ISIZENV(2,*), NSNFITOT(*)
44C-----------------------------------------------
45C L o c a l V a r i a b l e s
46C-----------------------------------------------
47 INTEGER IG, P, I, LASTIG
48 INTEGER LOCAL_ID
49 INTEGER NSNFI_TOT
50C-----------------------------------------------
51C S o u r c e L i n e s
52C-----------------------------------------------
53 nsnfi_tot = 0
54 DO p = 1,nspmd
55 nsnfi_tot = nsnfi(p) + nsnfi_tot
56 ENDDO
57 IF(n > 0) THEN
58 assert(nsnfi_tot > 0)
59 DO i = 1, n
60 p = 1
61 local_id = isky(i)
62 assert(isky(i) > 0)
63 assert(isky(i) <= nsnfi_tot)
64 DO WHILE( nsnfi(p) < local_id .AND. local_id > 0)
65 local_id = local_id - nsnfi(p)
66 p = p + 1
67 ENDDO
68 assert(p <= nspmd)
69 assert(local_id >= 0)
70 IF(p <= nspmd) THEN
71 isizenv(1,p) = isizenv(1,p) + len
72 isizenv(2,p) = isizenv(2,p) + 1
73 ELSE
74 assert(.false.)
75 ENDIF
76 ENDDO
77 ENDIF
78
79 DO p = 1, nspmd
80 nsnfitot(p) = nsnfitot(p) + nsnfi(p)
81 END DO
82C
83 RETURN
84 END
85
subroutine intcontp25e(n, isky, nsnfi, isizenv, nsnfitot, len)
Definition intcontp25e.F:29