OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
w_ixloc.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/.
23C
24!||====================================================================
25!|| w_ixloc ../starter/source/restart/ddsplit/w_ixloc.F
26!||--- called by ------------------------------------------------------
27!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
28!||--- calls -----------------------------------------------------
29!||====================================================================
30 SUBROUTINE w_ixloc(IXX,NIXX,NNOD,CEP,P,
31 + NUMEL,NUMEL_L,NODLOCAL,LEN_IA)
32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C D u m m y A r g u m e n t s
38C-----------------------------------------------
39 INTEGER NIXX, NNOD, NUMEL, NUMEL_L, P, LEN_IA,
40 . ixx(nixx,*), cep(*), nodlocal(*)
41C-----------------------------------------------
42C L o c a l V a r i a b l e s
43C-----------------------------------------------
44 INTEGER I, N, EL, NN
45 INTEGER, DIMENSION(:,:), ALLOCATABLE :: IXTMP
46C
47! --------------------------
48! allocate 2d array
49 ALLOCATE( ixtmp(nixx,numel_l) )
50! --------------------------
51 el = 0
52 DO i = 1, numel
53 IF(cep(i)==p) THEN
54 el = el + 1
55 ixtmp(1,el) = ixx(1,i)
56 DO n = 1, nnod
57 nn = ixx(1+n,i)
58 IF(nn/=0) THEN
59 ixtmp(1+n,el) = nodlocal(nn)
60 ELSE
61 ixtmp(1+n,el) = 0
62 ENDIF
63 ENDDO
64 DO n = nnod+2,nixx
65 ixtmp(n,el) = ixx(n,i)
66 ENDDO
67 ENDIF
68 ENDDO
69C
70 CALL write_i_c(ixtmp,numel_l*nixx)
71 len_ia = len_ia + numel_l*nixx
72C
73! --------------------------
74! deallocate 2d array
75 DEALLOCATE( ixtmp )
76! --------------------------
77 RETURN
78 END
subroutine w_ixloc(ixx, nixx, nnod, cep, p, numel, numel_l, nodlocal, len_ia)
Definition w_ixloc.F:32
void write_i_c(int *w, int *len)