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

Go to the source code of this file.

Functions/Subroutines

subroutine cevec3 (elbuf_str, dir_a, dir_b, jft, jlt, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, irep, nlay, nel)

Function/Subroutine Documentation

◆ cevec3()

subroutine cevec3 ( type (elbuf_struct_) elbuf_str,
dir_a,
dir_b,
integer jft,
integer jlt,
x1,
x2,
x3,
x4,
y1,
y2,
y3,
y4,
z1,
z2,
z3,
z4,
e1x,
e1y,
e1z,
e2x,
e2y,
e2z,
e3x,
e3y,
e3z,
integer irep,
integer nlay,
integer nel )

Definition at line 32 of file cevec3.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE elbufdef_mod
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C G l o b a l P a r a m e t e r s
46C-----------------------------------------------
47#include "mvsiz_p.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER JFT, JLT,J,IREP,NLAY,NEL
53 . x1(*), x2(*), x3(*), x4(*), y1(*), y2(*), y3(*), y4(*),
54 . z1(*), z2(*), z3(*), z4(*), e1x(*), e1y(*), e1z(*), e2x(*),
55 . e2y(*), e2z(*), e3x(*), e3y(*), e3z(*), dir_a(*),dir_b(*)
56 TYPE (ELBUF_STRUCT_) :: ELBUF_STR
57C-----------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I
63C REAL
65 . x31(mvsiz), y31(mvsiz), z31(mvsiz), x42(mvsiz), y42(mvsiz),
66 . z42(mvsiz), x21(mvsiz), y21(mvsiz), z21(mvsiz),
67 . sum(mvsiz), suma
68C=======================================================================
69 DO i=jft,jlt
70 x21(i)=x2(i)-x1(i)
71 y21(i)=y2(i)-y1(i)
72 z21(i)=z2(i)-z1(i)
73 x31(i)=x3(i)-x1(i)
74 y31(i)=y3(i)-y1(i)
75 z31(i)=z3(i)-z1(i)
76 x42(i)=x4(i)-x2(i)
77 y42(i)=y4(i)-y2(i)
78 z42(i)=z4(i)-z2(i)
79C
80 e3x(i)=y31(i)*z42(i)-z31(i)*y42(i)
81 e3y(i)=z31(i)*x42(i)-x31(i)*z42(i)
82 e3z(i)=x31(i)*y42(i)-y31(i)*x42(i)
83 suma=e3x(i)*e3x(i)+e3y(i)*e3y(i)+e3z(i)*e3z(i)
84 suma=max(sqrt(suma),em20)
85 e3x(i)=e3x(i)/suma
86 e3y(i)=e3y(i)/suma
87 e3z(i)=e3z(i)/suma
88 ENDDO
89C
90 DO i=jft,jlt
91 suma= x21(i)*e3x(i)+y21(i)*e3y(i)+z21(i)*e3z(i)
92 e1x(i)= x21(i)-e3x(i)*suma
93 e1y(i)= y21(i)-e3y(i)*suma
94 e1z(i)= z21(i)-e3z(i)*suma
95 ENDDO
96C
97 DO i=jft,jlt
98 suma=e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i)
99 suma=max(sqrt(suma),em20)
100 e1x(i)=e1x(i)/suma
101 e1y(i)=e1y(i)/suma
102 e1z(i)=e1z(i)/suma
103 ENDDO
104C
105 DO i=jft,jlt
106 e2x(i)=e3y(i)*e1z(i)-e3z(i)*e1y(i)
107 e2y(i)=e3z(i)*e1x(i)-e3x(i)*e1z(i)
108 e2z(i)=e3x(i)*e1y(i)-e3y(i)*e1x(i)
109 suma =e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z(i)*e2z(i)
110 suma =max(sqrt(suma),em20)
111 e2x(i)=e2x(i)/suma
112 e2y(i)=e2y(i)/suma
113 e2z(i)=e2z(i)/suma
114 ENDDO
115C
116C--- directions orthotropie / anisotropie convectes
117C
118 CALL cortdir3(elbuf_str,dir_a,dir_b ,jft ,jlt ,
119 . nlay ,irep ,x21 ,y21 ,z21 ,
120 . x31 ,y31 ,z31 ,e1x ,e1y ,
121 . e1z ,e2x ,e2y ,e2z ,nel )
122C-----------
123 RETURN
subroutine cortdir3(elbuf_str, dir_a, dir_b, jft, jlt, nlay, irep, rx, ry, rz, sx, sy, sz, e1x, e1y, e1z, e2x, e2y, e2z, nel)
Definition cortdir3.F:45
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21