OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
spmd_ibcast.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!|| spmd_ibcast ../engine/source/mpi/generic/spmd_ibcast.F
26!||--- called by ------------------------------------------------------
27!|| drbe2cnt ../engine/source/output/anim/generate/drbe2cnt.F
28!|| drbe3cnt ../engine/source/output/anim/generate/drbe3cnt.F
29!|| drbycnt ../engine/source/output/anim/generate/drbycnt.F
30!|| fr_rlink1 ../engine/source/mpi/kinematic_conditions/fr_rlink1.F
31!|| fxbypid ../engine/source/constraints/fxbody/fxbypid.F
32!|| genani ../engine/source/output/anim/generate/genani.F
33!|| get_mass_rby_spmd ../engine/source/coupling/rad2rad/r2r_init.F
34!|| i9wal2 ../engine/source/interfaces/int09/i9wal2.F
35!|| i9wal3 ../engine/source/interfaces/int09/i9wal3.F
36!|| lectur ../engine/source/input/lectur.F
37!|| manctr ../engine/source/input/manctr.F
38!|| mpp_init ../engine/source/mpi/interfaces/spmd_i7tool.F
39!|| r2r_exchange ../engine/source/coupling/rad2rad/r2r_exchange.F
40!|| r2r_init ../engine/source/coupling/rad2rad/r2r_init.F
41!|| r2r_input_init ../engine/source/coupling/rad2rad/r2r_input_init.F
42!|| rbyonf ../engine/source/constraints/general/rbody/rbyonf.F
43!|| rbypid ../engine/source/constraints/general/rbody/rbypid.F
44!|| resol ../engine/source/engine/resol.F
45!|| sensor_spmd ../engine/source/tools/sensor/sensor_spmd.F
46!|| sms_build_diag ../engine/source/ams/sms_build_diag.f
47!|| sms_ini_kin_1 ../engine/source/ams/sms_init.F
48!|| sms_ini_kin_2 ../engine/source/ams/sms_init.F
49!|| spmd_init_ebcs ../engine/source/mpi/fluid/spmd_cfd.F
50!|| sz_print ../engine/source/output/restart/arralloc.F
51!|| tagoff3n ../engine/source/interfaces/interf/chkstfn3.F
52!||--- calls -----------------------------------------------------
53!||--- uses -----------------------------------------------------
54!|| spmd_comm_world_mod ../engine/source/mpi/spmd_comm_world.F90
55!||====================================================================
56 SUBROUTINE spmd_ibcast(TABI,TABR,N1,N2,FROM,ADD)
57C-----------------------------------------------
58C I m p l i c i t T y p e s
59C-----------------------------------------------
60 USE spmd_comm_world_mod, ONLY : spmd_comm_world
61#include "implicit_f.inc"
62C-----------------------------------------------------------------
63C M e s s a g e P a s s i n g
64C-----------------------------------------------
65#include "spmd.inc"
66C-----------------------------------------------
67C C o m m o n B l o c k s
68C-----------------------------------------------
69#include "task_c.inc"
70C-----------------------------------------------
71C D u m m y A r g u m e n t s
72C-----------------------------------------------
73 INTEGER N1,N2,FROM,ADD
74 INTEGER TABI(N1*N2),TABR(N1*N2)
75C-----------------------------------------------
76C L o c a l V a r i a b l e s
77C-----------------------------------------------
78#ifdef MPI
79 INTEGER INFO,MSGOFF
80 INTEGER K
81 INTEGER STATUS(MPI_STATUS_SIZE),IERROR
82C-----------------------------------------------
83C S o u r c e L i n e s
84C-----------------------------------------------
85
86C si FROM = 0 ADD = 2 broadcast depuis 0 sur les autres
87C si FROM = NSPMD ADD = 1 de NSPMD sur les autres
88
89 IF(ispmd==from)THEN
90 call mpi_bcast(tabi,n1*n2,mpi_integer,from,
91 . spmd_comm_world,ierror)
92 ELSE
93 call mpi_bcast(tabr,n1*n2,mpi_integer,from,
94 . spmd_comm_world,ierror)
95 ENDIF
96
97#endif
98 RETURN
99 END
subroutine mpi_bcast(buffer, cnt, datatype, root, comm, ierr)
Definition mpi.f:205
subroutine sms_build_diag(itask, nodft, nodlt, ms, nodii_sms, jad_sms, jdi_sms, lt_sms, diag_sms, indx1_sms, indx2_sms, iad_elem, fr_elem, npby, lpby, lad_sms, kad_sms, jrb_sms, mskyi_sms, iskyi_sms, jadi_sms, jdii_sms, lti_sms, nodxi_sms, fr_sms, fr_rms, list_sms, list_rms, mskyi_fi_sms, ilink, rlink, nnlink, lnlink, tag_lnk_sms, ljoint, iadcj, fr_cj, itab, weight, imv, mv, mv6, w6, nprw, lprw, fr_wall, nrwl_sms, tagmsr_rby_sms, rby, awork, x, a, ar, in, v, vr, tagslv_rby_sms, irbe2, lrbe2, irbe3, lrbe3, iad_rbe3m, fr_rbe3m)
subroutine spmd_ibcast(tabi, tabr, n1, n2, from, add)
Definition spmd_ibcast.F:57