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

Go to the source code of this file.

Functions/Subroutines

subroutine sdlen_dege (volg, lat, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, ixs, idege, nel)

Function/Subroutine Documentation

◆ sdlen_dege()

subroutine sdlen_dege ( volg,
lat,
x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
y1,
y2,
y3,
y4,
y5,
y6,
y7,
y8,
z1,
z2,
z3,
z4,
z5,
z6,
z7,
z8,
integer, dimension(nixs,*) ixs,
integer, dimension(*) idege,
integer, intent(in) nel )

Definition at line 36 of file sdlen_dege.F.

45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C G l o b a l P a r a m e t e r s
51C-----------------------------------------------
52#include "mvsiz_p.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER, INTENT(IN) :: NEL
60 INTEGER IXS(NIXS,*), IDEGE(*)
62 . volg(*),lat(*),
63 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
64 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
65 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*)
66C-----------------------------------------------
67C L o c a l V a r i a b l e s
68C-----------------------------------------------
69C----------DELTAX crrection for degenerated element
70 INTEGER I,IT
72 . aream(mvsiz), atax,fac,v_g
73C-----------------------------------------------
74 CALL degenes8(
75 1 ixs, idege, nel)
76C
77 DO i=1,nel
78C-------due to the fact that AREA_Max*L is far from V for Dege---
79 IF(idege(i) > 0) THEN
80 aream(i) =em20
81C----tetra 4 ,pyrami
82 IF (idege(i)>2) THEN
83 fac=one_over_9
84 ELSEIF (idege(i)>1) THEN
85 fac=fourth
86 ELSE
87 fac=one
88 END IF
89 it = 0
90 CALL idege8(x1(i),x2(i),x3(i),x4(i),y1(i),y2(i),y3(i),y4(i),
91 . z1(i),z2(i),z3(i),z4(i),aream(i),fac,it)
92 CALL idege8(x5(i),x6(i),x7(i),x8(i),y5(i),y6(i),y7(i),y8(i),
93 . z5(i),z6(i),z7(i),z8(i),aream(i),fac,it)
94 CALL idege8(x1(i),x2(i),x6(i),x5(i),y1(i),y2(i),y6(i),y5(i),
95 . z1(i),z2(i),z6(i),z5(i),aream(i),fac,it)
96 CALL idege8(x2(i),x3(i),x7(i),x6(i),y2(i),y3(i),y7(i),y6(i),
97 . z2(i),z3(i),z7(i),z6(i),aream(i),fac,it)
98 CALL idege8(x3(i),x4(i),x8(i),x7(i),y3(i),y4(i),y8(i),y7(i),
99 . z3(i),z4(i),z8(i),z7(i),aream(i),fac,it)
100 CALL idege8(x4(i),x1(i),x5(i),x8(i),y4(i),y1(i),y5(i),y8(i),
101 . z4(i),z1(i),z5(i),z8(i),aream(i),fac,it)
102C----tetra 4
103 IF (it ==0 ) aream(i)=fac*aream(i)
104 IF (idege(i)>3 ) THEN
105 aream(i)=aream(i)*fac
106 CALL deges4v(v_g,
107 . x1(i), x2(i), x3(i), x4(i), x5(i), x6(i), x7(i), x8(i),
108 . y1(i), y2(i), y3(i), y4(i), y5(i), y6(i), y7(i), y8(i),
109 . z1(i), z2(i), z3(i), z4(i), z5(i), z6(i), z7(i), z8(i))
110 ELSE
111 v_g=volg(i)
112 END IF
113 lat(i) = four*v_g/sqrt(aream(i))
114
115 ENDIF
116 ENDDO
117C
118 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine degenes8(ixs, idege, nel)
Definition degenes8.F:37
subroutine deges4v(det, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
Definition deges4v.F:37
subroutine idege8(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, amax, fac, it)
Definition idege8.F:30
subroutine idege(x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, a, amax, fac, it4, it, indx, n_indx)
Definition idege.F:30