OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r2r_check.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "scr17_c.inc"
#include "param_c.inc"
#include "r2r_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine r2r_check (iexter, igrnod, ipartl)

Function/Subroutine Documentation

◆ r2r_check()

subroutine r2r_check ( integer, dimension(nr2r,*) iexter,
type (group_), dimension(ngrnod) igrnod,
integer, dimension(lipart1,*) ipartl )

Definition at line 35 of file r2r_check.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE groupdef_mod
40 USE message_mod
41C-----------------------------------------------
42C M o d u l e s
43C-----------------------------------------------
44 USE restmod
45 USE r2r_mod
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "com04_c.inc"
54#include "scr17_c.inc"
55#include "param_c.inc"
56#include "r2r_c.inc"
57C-----------------------------------------------
58C D u m m y A r g u m e n t s
59C-----------------------------------------------
60 INTEGER IEXTER(NR2R,*),IPARTL(LIPART1,*)
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 INTEGER STAT,I,IGR,IGRS,N,K,ADD
65 CHARACTER MESS*40
66 INTEGER, DIMENSION(:), ALLOCATABLE :: TAGPART
67C-----------------------------------------------
68 TYPE (GROUP_) ,DIMENSION(NGRNOD) :: IGRNOD
69C-----------------------------------------------
70C E x t e r n a l F u n c t i o n s
71C-----------------------------------------------
72 INTEGER GRFIND
73C
74 DATA mess/' ** ERROR EXTERNAL COUPLING DEFINITION '/
75
76C----- Check if Id of subdomains-----------------------------------C
77
78 IF (nsubdom>0) THEN
79 DO n=1,nsubdom-1
80 igr = isubdom(2,n)
81 DO i=n+1,nsubdom
82 IF (igr==isubdom(2,i)) THEN
83 CALL ancmsg(msgid=792,
84 . msgtype=msgerror,
85 . anmode=aninfo,
86 . i1=igr)
87 ierr=ierr+1
88 ENDIF
89 END DO
90 END DO
91 ENDIF
92
93C----- Check of parts of subdomains-------------------------------C
94
95 ALLOCATE(tagpart(npart))
96 tagpart = 0
97
98 DO n=1,nsubdom
99 add = isubdom(3,n)
100 DO k=1,npart
101 DO i=1,isubdom(1,n)
102 IF(k == isubdom_part(i+add))THEN
103 tagpart(k)=tagpart(k)+1
104 IF (tagpart(k)>1) THEN
105 CALL ancmsg(msgid=827,
106 . msgtype=msgerror,
107 . anmode=aninfo,i1=isubdom(1,n),
108 . i2=ipart(lipart1*(k-1)+4))
109 ierr=ierr+1
110 ENDIF
111 ENDIF
112 ENDDO
113 END DO
114 END DO
115
116C----- Check of common nodes between interfaces---------------------C
117
118! DO N=1,NR2RLNK-1
119! DO I=N+1,NR2RLNK
120C CALL ANSTCKI(22)
121C CALL ANSTCKI(9)
122C CALL ANSTCKI(8)
123C CALL ANCERR(792,ANINFO)
124C IERR=IERR+1
125! END DO
126! END DO
127
128C----- Check of multidomains node groups-----------------------------C
129
130 DO n=1,nr2rlnk
131 igr = iexter(1,n)
132 igrs = grfind(igr,igrnod,mess)
133 iexter(1,n) = igrs
134 IF (igrs==0) ierr=ierr+1
135 END DO
136
137C--------------------------------------------------------------------C
138
139 RETURN
integer, dimension(:), allocatable isubdom_part
Definition r2r_mod.F:131
integer, dimension(:,:), allocatable isubdom
Definition r2r_mod.F:144
integer, dimension(:), allocatable, target ipart
Definition restart_mod.F:60
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
integer function grfind(igu, igrnod, mess)
Definition freform.F:437