OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
spmd_rst_check.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!|| spmd_rst_check ../engine/source/mpi/init/spmd_rst_check.F
25!||--- called by ------------------------------------------------------
26!|| radioss2 ../engine/source/engine/radioss2.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../engine/source/output/message/message.F
29!|| arret ../engine/source/system/arret.F
30!||--- uses -----------------------------------------------------
31!|| message_mod ../engine/share/message_module/message_mod.F
32!|| spmd_comm_world_mod ../engine/source/mpi/spmd_comm_world.F90
33!||====================================================================
34 SUBROUTINE spmd_rst_check()
35C-----------------------------------------------
36C M o d u l e s
37C-----------------------------------------------
38 USE message_mod
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42 USE spmd_comm_world_mod, ONLY : spmd_comm_world
43#include "implicit_f.inc"
44C-----------------------------------------------
45C M e s s a g e P a s s i n g
46C-----------------------------------------------
47#include "spmd.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "task_c.inc"
52#include "chara_c.inc"
53#include "com01_c.inc"
54#include "com08_c.inc"
55C-----------------------------------------------
56C D u m m y A r g u m e n t s
57C-----------------------------------------------
58
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62#ifdef MPI
63
64 INTEGER STATUS(MPI_STATUS_SIZE),IERROR,MSGTYP2,
65 . REQ_R(NSPMD),REQ_S(NSPMD), IRINDEX(NSPMD),
66 . INDEX, NBIRECV,I,MSGTYP,MSGOFF
67 DATA msgoff/100/
68
69
71 . ttrec,ttst
72
73 CHARACTER FILNAM*100, FILNAM1*100,RSRUN*4,RSRUN1*4
74
75
76 IF (ispmd/=0) THEN
77
78C ENVOI DE TT AU PROC 0
79 msgtyp = msgoff
80 CALL mpi_send(tt,1,real,it_spmd(1),msgtyp,
81 . spmd_comm_world,ierror)
82 ELSE
83 DO i=2,nspmd
84C Check sur TT
85 msgtyp = msgoff
86 CALL mpi_recv(ttrec,1,real,it_spmd(i),
87 . msgtyp,spmd_comm_world,status,ierror)
88 IF (ttrec/=tt) THEN
89
90 WRITE(rsrun1,'(I4.4)')1
91 filnam1=rootnam(1:rootlen)
92 . //'_'//chrun//'_'//rsrun1//'.rst'
93
94 WRITE(rsrun,'(I4.4)')i
95 filnam=rootnam(1:rootlen)
96 . //'_'//chrun//'_'//rsrun//'.rst'
97
98 CALL ancmsg(msgid=24,anmode=aninfo_blind,
99 . c1=filnam1(1:rootlen+15),
100 . c2=filnam(1:rootlen+15))
101 CALL arret(2)
102 ENDIF
103
104 ENDDO
105
106 ENDIF
107#endif
108 RETURN
109 END
110
#define my_real
Definition cppsort.cpp:32
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
Definition mpi.f:461
subroutine mpi_send(buf, cnt, datatype, dest, tag, comm, ierr)
Definition mpi.f:480
subroutine spmd_rst_check()
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
subroutine arret(nn)
Definition arret.F:87