OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sdlensh2.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine sdlensh2 (voln, llsh, area, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)

Function/Subroutine Documentation

◆ sdlensh2()

subroutine sdlensh2 ( intent(in) voln,
intent(out) llsh,
intent(out) area,
intent(in) x1,
intent(in) x2,
intent(in) x3,
intent(in) x4,
intent(in) x5,
intent(in) x6,
intent(in) x7,
intent(in) x8,
intent(in) y1,
intent(in) y2,
intent(in) y3,
intent(in) y4,
intent(in) y5,
intent(in) y6,
intent(in) y7,
intent(in) y8,
intent(in) z1,
intent(in) z2,
intent(in) z3,
intent(in) z4,
intent(in) z5,
intent(in) z6,
intent(in) z7,
intent(in) z8,
integer, intent(in) nel )

Definition at line 29 of file sdlensh2.F.

37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER, INTENT(IN) :: NEL
52 my_real, DIMENSION(MVSIZ) , INTENT(OUT) :: area,llsh
53 my_real, DIMENSION(MVSIZ) , INTENT(IN) ::
54 . voln,
55 . x1, x2, x3, x4, x5, x6, x7, x8,
56 . y1, y2, y3, y4, y5, y6, y7, y8,
57 . z1, z2, z3, z4, z5, z6, z7, z8
58C-----------------------------------------------
59C L o c a l V a r i a b l e s
60C-----------------------------------------------
61 INTEGER I, J, N
63 . rx(mvsiz),ry(mvsiz),rz(mvsiz),sx(mvsiz),sy(mvsiz),sz(mvsiz),
64 . xn(mvsiz,4) , yn(mvsiz,4) , zn(mvsiz,4)
66 . al1,al2,e3x,e3y,e3z,det
67C=======================================================================
68 DO i=1,nel
69 xn(i,1) = half*(x1(i)+x5(i))
70 yn(i,1) = half*(y1(i)+y5(i))
71 zn(i,1) = half*(z1(i)+z5(i))
72 xn(i,2) = half*(x2(i)+x6(i))
73 yn(i,2) = half*(y2(i)+y6(i))
74 zn(i,2) = half*(z2(i)+z6(i))
75 xn(i,3) = half*(x3(i)+x7(i))
76 yn(i,3) = half*(y3(i)+y7(i))
77 zn(i,3) = half*(z3(i)+z7(i))
78 xn(i,4) = half*(x4(i)+x8(i))
79 yn(i,4) = half*(y4(i)+y8(i))
80 zn(i,4) = half*(z4(i)+z8(i))
81 ENDDO
82C------g1,g2 :
83 DO i=1,nel
84 rx(i)=xn(i,2)+xn(i,3)-xn(i,1)-xn(i,4)
85 ry(i)=yn(i,2)+yn(i,3)-yn(i,1)-yn(i,4)
86 rz(i)=zn(i,2)+zn(i,3)-zn(i,1)-zn(i,4)
87 sx(i)=xn(i,3)+xn(i,4)-xn(i,1)-xn(i,2)
88 sy(i)=yn(i,3)+yn(i,4)-yn(i,1)-yn(i,2)
89 sz(i)=zn(i,3)+zn(i,4)-zn(i,1)-zn(i,2)
90 ENDDO
91 DO i=1,nel
92 e3x = ry(i) * sz(i) - rz(i) * sy(i)
93 e3y = rz(i) * sx(i) - rx(i) * sz(i)
94 e3z = rx(i) * sy(i) - ry(i) * sx(i)
95 det = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
96 area(i)=fourth*det
97 al1 = rx(i)*rx(i) + ry(i)*ry(i)+ rz(i)*rz(i)
98 al2 = sx(i)*sx(i) + sy(i)*sy(i)+ sz(i)*sz(i)
99 llsh(i) = fourth*max(al1,al2)
100 ENDDO
101C
102 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define max(a, b)
Definition macros.h:21