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

Go to the source code of this file.

Functions/Subroutines

subroutine ani_segquadfr1 (ixq, segtag, knod2elq, nod2elq, x, nseg)
subroutine ani_segquadfr2 (segtag, segquadfr)

Function/Subroutine Documentation

◆ ani_segquadfr1()

subroutine ani_segquadfr1 ( integer, dimension(nixq,*) ixq,
integer, dimension(4,*) segtag,
integer, dimension(*) knod2elq,
integer, dimension(*) nod2elq,
x,
integer nseg )

Definition at line 28 of file ani_segquadfr.F.

29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C C o m m o n B l o c k s
35C-----------------------------------------------
36#include "com01_c.inc"
37#include "com04_c.inc"
38C-----------------------------------------------
39C D u m m y A r g u m e n t s
40C-----------------------------------------------
41C REAL
42 INTEGER
43 . NSEG,
44 . IXQ(NIXQ,*),SEGTAG(4,*),KNOD2ELQ(*),NOD2ELQ(*)
46 . x(3,*)
47C-----------------------------------------------
48C L o c a l V a r i a b l e s
49C-----------------------------------------------
50 INTEGER JQ,JJ,K,NQQ,N1,N2,ISEG,KK,KQ,N,L1,L2,L, TRUEAXE, NQQ1,NQQ2
51 INTEGER NODTAG(4),LINES(2,4),NQ(4)
52 DATA lines/1,2,
53 . 2,3,
54 . 3,4,
55 . 4,1/
56C REAL
57C-----------------------------------------------
58C
59 DO jq=1,numelq
60 nodtag(1:4)=1
61 DO l=1,4
62 nq(l) = ixq(l+1,jq)
63 l1 = lines(1,l)
64 l2 = lines(2,l)
65 nqq1 = ixq(l1+1,jq)
66 nqq2 = ixq(l2+1,jq)
67 DO k=knod2elq(nqq1)+1,knod2elq(nqq1+1)
68 kq=nod2elq(k)
69 IF(kq==jq .OR. kq > numelq)cycle
70 DO kk=1,4
71 IF(ixq(lines(1,kk)+1,kq)==nqq1.AND.ixq(lines(2,kk)+1,kq)==nqq2) THEN
72 nodtag(l)=0
73 ELSEIF(ixq(lines(1,kk)+1,kq)==nqq2.AND.ixq(lines(2,kk)+1,kq)==nqq1) THEN
74 nodtag(l)=0
75 ENDIF
76 ENDDO
77 ENDDO
78 ENDDO
79C
80 DO l=1,4
81 l1 = lines(1,l)
82 l2 = lines(2,l)
83 trueaxe= 1
84 n1 = nq(l1)
85 n2 = nq(l2)
86 IF(n2d==1.AND.x(2,n1)<=em10.AND.x(2,n2)<=em10) THEN ! Case Axi omit nodes of revolution axe z ( y=0)
87 trueaxe= 0
88 ENDIF
89
90 IF(trueaxe==1)THEN
91 IF(nodtag(l)==1) THEN ! nodes of external lines
92 nseg=nseg+1
93 segtag(l,jq) = 1
94 ENDIF
95 ENDIF
96 ENDDO
97 ENDDO
98C
99 RETURN
#define my_real
Definition cppsort.cpp:32

◆ ani_segquadfr2()

subroutine ani_segquadfr2 ( integer, dimension(4,*) segtag,
integer, dimension(2,*) segquadfr )

Definition at line 106 of file ani_segquadfr.F.

107C-----------------------------------------------
108C I m p l i c i t T y p e s
109C-----------------------------------------------
110#include "implicit_f.inc"
111C-----------------------------------------------
112C C o m m o n B l o c k s
113C-----------------------------------------------
114#include "com01_c.inc"
115#include "com04_c.inc"
116C-----------------------------------------------
117C D u m m y A r g u m e n t s
118C-----------------------------------------------
119 INTEGER
120 . SEGTAG(4,*), SEGQUADFR(2,*)
121C-----------------------------------------------
122C L o c a l V a r i a b l e s
123C-----------------------------------------------
124 INTEGER N,JJ,LL
125C REAL
126C-----------------------------------------------
127C
128 nsegquadfr=0
129 DO n=1,numelq
130 DO jj=1,4
131 IF(segtag(jj,n)==1)THEN
132 nsegquadfr=nsegquadfr+1
133 segquadfr(1,nsegquadfr)=n
134 segquadfr(2,nsegquadfr)=jj
135 END IF
136 END DO
137 END DO
138 RETURN