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

Go to the source code of this file.

Functions/Subroutines

subroutine sdlensh14 (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, ics, nel)

Function/Subroutine Documentation

◆ sdlensh14()

subroutine sdlensh14 ( 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) ics,
integer, intent(in) nel )

Definition at line 28 of file sdlensh14.F.

36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C C o m m o n B l o c k s
46C-----------------------------------------------
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: NEL,ICS
51 my_real, DIMENSION(MVSIZ) , INTENT(OUT) :: area,llsh
52 my_real, DIMENSION(MVSIZ) , INTENT(IN) ::
53 . voln,
54 . x1, x2, x3, x4, x5, x6, x7, x8,
55 . y1, y2, y3, y4, y5, y6, y7, y8,
56 . z1, z2, z3, z4, z5, z6, z7, z8
57C-----------------------------------------------
58C L o c a l V a r i a b l e s
59C-----------------------------------------------
60 INTEGER I, J, N
62 . rx(mvsiz),ry(mvsiz),rz(mvsiz),sx(mvsiz),sy(mvsiz),sz(mvsiz),
63 . xn(mvsiz,4) , yn(mvsiz,4) , zn(mvsiz,4)
65 . al1,al2,e3x,e3y,e3z,det
66C=======================================================================
67 SELECT CASE(ics)
68 CASE (1)
69 DO i=1,nel
70 xn(i,1) = half*(x1(i)+x4(i))
71 yn(i,1) = half*(y1(i)+y4(i))
72 zn(i,1) = half*(z1(i)+z4(i))
73 xn(i,2) = half*(x2(i)+x3(i))
74 yn(i,2) = half*(y2(i)+y3(i))
75 zn(i,2) = half*(z2(i)+z3(i))
76 xn(i,3) = half*(x6(i)+x7(i))
77 yn(i,3) = half*(y6(i)+y7(i))
78 zn(i,3) = half*(z6(i)+z7(i))
79 xn(i,4) = half*(x5(i)+x8(i))
80 yn(i,4) = half*(y5(i)+y8(i))
81 zn(i,4) = half*(z5(i)+z8(i))
82 ENDDO
83 CASE (10)
84 DO i=1,nel
85 xn(i,1) = half*(x1(i)+x5(i))
86 yn(i,1) = half*(y1(i)+y5(i))
87 zn(i,1) = half*(z1(i)+z5(i))
88 xn(i,2) = half*(x2(i)+x6(i))
89 yn(i,2) = half*(y2(i)+y6(i))
90 zn(i,2) = half*(z2(i)+z6(i))
91 xn(i,3) = half*(x3(i)+x7(i))
92 yn(i,3) = half*(y3(i)+y7(i))
93 zn(i,3) = half*(z3(i)+z7(i))
94 xn(i,4) = half*(x4(i)+x8(i))
95 yn(i,4) = half*(y4(i)+y8(i))
96 zn(i,4) = half*(z4(i)+z8(i))
97 ENDDO
98 CASE (100)
99 DO i=1,nel
100 xn(i,1) = half*(x1(i)+x2(i))
101 yn(i,1) = half*(y1(i)+y2(i))
102 zn(i,1) = half*(z1(i)+z2(i))
103 xn(i,2) = half*(x5(i)+x6(i))
104 yn(i,2) = half*(y5(i)+y6(i))
105 zn(i,2) = half*(z5(i)+z6(i))
106 xn(i,3) = half*(x8(i)+x7(i))
107 yn(i,3) = half*(y8(i)+y7(i))
108 zn(i,3) = half*(z8(i)+z7(i))
109 xn(i,4) = half*(x4(i)+x3(i))
110 yn(i,4) = half*(y4(i)+y3(i))
111 zn(i,4) = half*(z4(i)+z3(i))
112 ENDDO
113 END SELECT
114C------g1,g2 :
115 DO i=1,nel
116 rx(i)=xn(i,2)+xn(i,3)-xn(i,1)-xn(i,4)
117 ry(i)=yn(i,2)+yn(i,3)-yn(i,1)-yn(i,4)
118 rz(i)=zn(i,2)+zn(i,3)-zn(i,1)-zn(i,4)
119 sx(i)=xn(i,3)+xn(i,4)-xn(i,1)-xn(i,2)
120 sy(i)=yn(i,3)+yn(i,4)-yn(i,1)-yn(i,2)
121 sz(i)=zn(i,3)+zn(i,4)-zn(i,1)-zn(i,2)
122 ENDDO
123 DO i=1,nel
124 e3x = ry(i) * sz(i) - rz(i) * sy(i)
125 e3y = rz(i) * sx(i) - rx(i) * sz(i)
126 e3z = rx(i) * sy(i) - ry(i) * sx(i)
127 det = sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
128 area(i)=fourth*det
129 al1 = rx(i)*rx(i) + ry(i)*ry(i)+ rz(i)*rz(i)
130 al2 = sx(i)*sx(i) + sy(i)*sy(i)+ sz(i)*sz(i)
131 llsh(i) = fourth*max(al1,al2)
132 ENDDO
133C
134 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