OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
insurf.F File Reference
#include "implicit_f.inc"
#include "units_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "scr03_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine insurf (nrt, msn, ir, irect, surf_nodes, itab, msv, id, titr, ntag, s_msv, sirect, type18)

Function/Subroutine Documentation

◆ insurf()

subroutine insurf ( integer nrt,
integer msn,
integer ir,
integer, dimension(4,sirect/4) irect,
integer, dimension(nrt,4) surf_nodes,
integer, dimension(numnod) itab,
integer, dimension(s_msv) msv,
integer id,
character(len=nchartitle) titr,
integer, dimension(2*numnod+1), intent(inout) ntag,
integer, intent(in) s_msv,
integer, intent(in) sirect,
logical, intent(inout) type18 )

Definition at line 36 of file insurf.F.

39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE message_mod
44 USE format_mod , ONLY : fmw_4i
45C-----------------------------------------------
46C READING SURFACE AND SEGMENT NUMBERING
47C INPUT : NRT
48C OUTPUT : IRECT
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "units_c.inc"
57#include "com01_c.inc"
58#include "com04_c.inc"
59#include "scr03_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER NRT, IR,MSN
64 INTEGER,INTENT(IN) :: S_MSV,SIRECT
65 INTEGER IRECT(4,SIRECT/4), ITAB(NUMNOD), MSV(S_MSV),SURF_NODES(NRT,4)
66 INTEGER ID
67 CHARACTER(LEN=NCHARTITLE) :: TITR
68 INTEGER, DIMENSION(2*NUMNOD+1), INTENT(INOUT) :: NTAG
69 LOGICAL, INTENT(INOUT) :: TYPE18
70C-----------------------------------------------
71C L o c a l V a r i a b l e s
72C-----------------------------------------------
73 INTEGER I, N23, IT, J, NSGOLD,ITG,K,L,IR1,K4
74 INTEGER OLDIRECT,OLDIRECT1
75C-----------------------------------------------
76C E x t e r n a l F u n c t i o n s
77C-----------------------------------------------
78 INTEGER USR2SYS
79C=======================================================================
80 i=1
81 l=1
82 DO j=1,nrt
83 DO k=1,4
84 irect(k,j)=surf_nodes(j,k)
85 l=l+1
86 ENDDO
87 l=l+2
88 ENDDO
89C SEGMENTS 3 NOEUDS MISE DE N4 = N3
90 DO i=1,nrt
91 IF(irect(4,i)==0) irect(4,i)=irect(3,i)
92 IF(irect(1,i)==irect(4,i)) THEN
93 oldirect=irect(4,i)
94 irect(4,i)=irect(3,i)
95 CALL ancmsg(msgid=106,msgtype=msgwarning,anmode=aninfo_blind_2,
96 . i1=id,
97 . c1=titr,
98 . i2=irect(1,i),
99 . i3=irect(2,i),
100 . i4=irect(3,i),
101 . i5=oldirect,
102 . i6=irect(1,i),
103 . i7=irect(2,i),
104 . i8=irect(3,i),
105 . i9=irect(4,i))
106 ELSEIF(irect(2,i)==irect(3,i)) THEN
107 oldirect=irect(3,i)
108 irect(3,i)=irect(4,i)
109 CALL ancmsg(msgid=106,msgtype=msgwarning,anmode=aninfo_blind_2,
110 . i1=id,
111 . c1=titr,
112 . i2=irect(1,i),
113 . i3=irect(2,i),
114 . i4=oldirect,
115 . i5=irect(4,i),
116 . i6=irect(1,i),
117 . i7=irect(2,i),
118 . i8=irect(3,i),
119 . i9=irect(4,i))
120 ELSEIF(irect(1,i)==irect(2,i)) THEN
121 oldirect=irect(2,i)
122 oldirect1=irect(3,i)
123 irect(2,i)=irect(3,i)
124 irect(3,i)=irect(4,i)
125 CALL ancmsg(msgid=106,msgtype=msgwarning,anmode=aninfo_blind_2,
126 . i1=id,
127 . c1=titr,
128 . i2=irect(1,i),
129 . i3=oldirect,
130 . i4=oldirect1,
131 . i5=irect(4,i),
132 . i6=irect(1,i),
133 . i7=irect(2,i),
134 . i8=irect(3,i),
135 . i9=irect(4,i))
136 ENDIF
137 ENDDO
138C-------
139 IF(ir/=0 .AND. ir/=2)THEN
140 DO j=1,nrt
141 ir1=irect(1,j)
142 irect(1,j)=irect(2,j)
143 irect(2,j)=ir1
144 ir1=irect(3,j)
145 irect(3,j)=irect(4,j)
146 irect(4,j)=ir1
147 ENDDO
148 ENDIF
149 n23=4
150C-------
151 IF(ipri>=1 .AND. .NOT.type18) THEN
152 WRITE(iout,'(/,A,/)')' SEGMENTS USED FOR SURFACE DEFINITION'
153 k=1
154 k4=4
155 IF(n2d/=0)k4=2
156 DO i=1,nrt
157 WRITE(iout,fmt=fmw_4i)(itab(irect(k,i)),k=1,k4)
158 ENDDO
159 ENDIF
160 IF (nrt/=0) CALL count3(irect,msv,msn,nrt,ntag)
161C------------------------------------------------------------
162 RETURN
subroutine count3(irect, mnn, n, nrt, ntag)
Definition count3.F:33
initmumps id
integer, parameter nchartitle
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