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 35 of file insurf.F.

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