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

Go to the source code of this file.

Functions/Subroutines

subroutine dxyzsect (nstrf, rwbuf, nprw, x, xmin, ymin, zmin, xmax, ymax, zmax, itab)

Function/Subroutine Documentation

◆ dxyzsect()

subroutine dxyzsect ( integer, dimension(*) nstrf,
rwbuf,
integer, dimension(*) nprw,
x,
xmin,
ymin,
zmin,
xmax,
ymax,
zmax,
integer, dimension(*) itab )

Definition at line 33 of file dxyzsect.F.

36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "param_c.inc"
44#include "com04_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER NSTRF(*),NPRW(*),ITAB(*)
50 . rwbuf(nrwlp,*),x(3,*),xmin ,ymin ,zmin ,xmax ,ymax, zmax
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER J, I, K, K0, K1, N, NSEG, N1, N2, N3, N4,MSR, ITYP
56 . xx1, yy1, zz1, xx2, yy2, zz2, xx3, yy3, zz3,
57 . xx4, yy4, zz4, d13, xxc, yyc, zzc, al4,xwl,ywl,zwl,
58 . pmain,loc_proc
59
61 . xsec(3,3,nsect)
62 REAL R4,SBUF(3*NSECT)
63CC-----------------------------------------------
64 k1=1
65C
66 k1 = 33
67 DO i=1,nsect
68 n1 = nstrf(k1+1)
69 n2 = nstrf(k1+2)
70 n3 = nstrf(k1+3)
71 xx1=x(1,n1)
72 yy1=x(2,n1)
73 zz1=x(3,n1)
74 xx2=x(1,n2)
75 yy2=x(2,n2)
76 zz2=x(3,n2)
77 xx3=x(1,n3)
78 yy3=x(2,n3)
79 zz3=x(3,n3)
80 xx4=xx2-xx1
81 yy4=yy2-yy1
82 zz4=zz2-zz1
83 al4=sqrt(xx4**2+yy4**2+zz4**2)
84 xx4=xx4/max(al4,em20)
85 yy4=yy4/max(al4,em20)
86 zz4=zz4/max(al4,em20)
87C
88 d13=(xx3-xx1)*xx4+(yy3-yy1)*yy4+(zz3-zz1)*zz4
89 xxc=xx1+d13*xx4
90 yyc=yy1+d13*yy4
91 zzc=zz1+d13*zz4
92C
93 r4 = xxc
94 CALL write_r_c(r4,1)
95 r4 = yyc
96 CALL write_r_c(r4,1)
97 r4 = zzc
98 CALL write_r_c(r4,1)
99C
100
101 k1= nstrf(k1+22)+2
102 ENDDO
103C
104 k=1
105 DO n=1,nrwall
106 n2=n +nrwall
107 n3=n2+nrwall
108 n4=n3+nrwall
109 msr = nprw(n3)
110 IF(msr==0)THEN
111 xwl=rwbuf(4,n)
112 ywl=rwbuf(5,n)
113 zwl=rwbuf(6,n)
114 ELSE
115 xwl=x(1,msr)
116 ywl=x(2,msr)
117 zwl=x(3,msr)
118 ENDIF
119 ityp= nprw(n4)
120 IF(ityp==4)THEN
121 xwl = xwl + half*(rwbuf(7,n)+rwbuf(10,n))
122 ywl = ywl + half*(rwbuf(8,n)+rwbuf(11,n))
123 zwl = zwl + half*(rwbuf(9,n)+rwbuf(12,n))
124 ENDIF
125 k=k+nprw(n)
126 IF(nprw(n4)==-1)k=k+nint(rwbuf(8,n))
127 r4 = xwl
128 CALL write_r_c(r4,1)
129 r4 = ywl
130 CALL write_r_c(r4,1)
131 r4 = zwl
132 CALL write_r_c(r4,1)
133 ENDDO
134C
135 k=1
136 DO n=1,nrwall
137 n2=n +nrwall
138 n3=n2+nrwall
139 n4=n3+nrwall
140 ityp= nprw(n4)
141
142 IF(iabs(ityp)==1)THEN
143 CALL dxwall(x,rwbuf(1,n),nprw(n3),xmin ,ymin ,
144 . zmin ,xmax ,ymax , zmax)
145 ELSEIF(ityp==2)THEN
146 CALL dxwalc(x,rwbuf(1,n),nprw(n3),xmin ,ymin ,
147 . zmin ,xmax ,ymax , zmax)
148 ELSEIF(ityp==3)THEN
149 CALL dxwals(x,rwbuf(1,n),nprw(n3))
150 ELSEIF(ityp==4)THEN
151 CALL dxwalp(x,rwbuf(1,n),nprw(n3))
152 ENDIF
153 k=k+nprw(n)
154 IF(nprw(n4)==-1)k=k+nint(rwbuf(8,n))
155 ENDDO
156C
157 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine ymax(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
Definition law100_upd.F:272
#define max(a, b)
Definition macros.h:21
subroutine dxwalc(x, rwl, msr, xmin, ymin, zmin, xmax, ymax, zmax)
Definition dxwalc.F:32
subroutine dxwall(x, rwl, msr, xmin, ymin, zmin, xmax, ymax, zmax)
Definition dxwall.F:32
subroutine dxwalp(x, rwl, msr)
Definition dxwalp.F:30
subroutine dxwals(x, rwl, msr)
Definition dxwals.F:30
void write_r_c(float *w, int *len)