OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
spmdset.F
Go to the documentation of this file.
1
Copyright> OpenRadioss
2
Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3
Copyright>
4
Copyright> This program is free software: you can redistribute it and/or modify
5
Copyright> it under the terms of the GNU Affero General Public License as published by
6
Copyright> the Free Software Foundation, either version 3 of the License, or
7
Copyright> (at your option) any later version.
8
Copyright>
9
Copyright> This program is distributed in the hope that it will be useful,
10
Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11
Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
Copyright> GNU Affero General Public License for more details.
13
Copyright>
14
Copyright> You should have received a copy of the GNU Affero General Public License
15
Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16
Copyright>
17
Copyright>
18
Copyright> Commercial Alternative: Altair Radioss Software
19
Copyright>
20
Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21
Copyright> software under a commercial license. Contact Altair to discuss further if the
22
Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23
!||====================================================================
24
!|| spmdset ../starter/source/constraints/general/rbody/spmdset.F
25
!||--- called by ------------------------------------------------------
26
!|| damping_rby_spmdset ../starter/source/general_controls/damping/damping_rby_spmdset.F90
27
!|| hm_read_rbody ../starter/source/constraints/general/rbody/hm_read_rbody.F
28
!|| trirbmerge ../starter/source/constraints/general/merge/hm_read_merge.F
29
!||--- calls -----------------------------------------------------
30
!|| ifrontplus ../starter/source/spmd/node/frontplus.F
31
!|| nlocal ../starter/source/spmd/node/ddtools.F
32
!||====================================================================
33
SUBROUTINE
spmdset
(N,NPBY,NNPBY,LPBY,NSL,K)
34
C-----------------------------------------------
35
C I m p l i c i t T y p e s
36
C-----------------------------------------------
37
#include "implicit_f.inc"
38
C-----------------------------------------------
39
C C o m m o n B l o c k s
40
C-----------------------------------------------
41
#include "com01_c.inc"
42
C-----------------------------------------------
43
C D u m m y A r g u m e n t s
44
C-----------------------------------------------
45
INTEGER
N,NPBY(NNPBY,*),LPBY(*), NNPBY, NSL, K
46
C-----------------------------------------------
47
C F u n c t i o n
48
C-----------------------------------------------
49
INTEGER
NLOCAL
50
EXTERNAL
nlocal
51
C-----------------------------------------------
52
C L o c a l V a r i a b l e s
53
C-----------------------------------------------
54
INTEGER
P,J,FMAIN(NSPMD),S_FMAIN
55
C-----------------------------------------------------------------
56
DO
p = 1, nspmd
57
fmain(p) = 0
58
ENDDO
59
s_fmain = 0
60
DO
p = 1, nspmd
61
DO
j = 1, nsl
62
IF
(
nlocal
(lpby(j+k),p)/=0)
THEN
63
fmain(p) = 1
64
s_fmain = s_fmain + 1
65
GO TO
85
66
ENDIF
67
ENDDO
68
85
CONTINUE
69
END DO
70
C rigid body // noeud main sur les procs ayant au moins 1 secnd
71
DO
p = 1, nspmd
72
IF
(fmain(p) == 1)
THEN
73
CALL
ifrontplus
(npby
(1,n),p)
74
ENDIF
75
ENDDO
76
C rigid body // les secnds nodes ne sont pas connectes, on affecte arbitrairement le main sur le proc0
77
IF
(s_fmain==0)
CALL
ifrontplus
(npby(1,n),1)
78
IF
(npby(8,n)/=0)
THEN
79
CALL
ifrontplus
(npby(1,n),1)
80
ENDIF
81
c-----------
82
RETURN
83
END
nlocal
integer function nlocal(n, p)
Definition
ddtools.F:349
ifrontplus
subroutine ifrontplus(n, p)
Definition
frontplus.F:100
spmdset
subroutine spmdset(n, npby, nnpby, lpby, nsl, k)
Definition
spmdset.F:34
starter
source
constraints
general
rbody
spmdset.F
Generated by
1.15.0