OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r4coork3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "impl1_c.inc"
#include "comlock.inc"
#include "units_c.inc"
#include "scr17_c.inc"
#include "lockon.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine r4coork3 (jft, jlt, x, ncc, pid, ngl, al, r11, r12, r13, r21, r22, r23, r31, r32, r33, rloc, offg, off)

Function/Subroutine Documentation

◆ r4coork3()

subroutine r4coork3 ( integer jft,
integer jlt,
x,
integer, dimension(nixr,*) ncc,
integer, dimension(*) pid,
integer, dimension(*) ngl,
al,
r11,
r12,
r13,
r21,
r22,
r23,
r31,
r32,
r33,
rloc,
offg,
off )

Definition at line 30 of file r4coork3.F.

34 use element_mod , only : nixr
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C G l o b a l P a r a m e t e r s
41C-----------------------------------------------
42#include "mvsiz_p.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "impl1_c.inc"
47#include "comlock.inc"
48#include "units_c.inc"
49#include "scr17_c.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 INTEGER JFT, JLT
54 INTEGER NCC(NIXR,*),PID(*),NGL(*)
55C REAL
57 . x(3,*),al(*),
58 . r11(*),r12(*),r13(*),
59 . r21(*),r22(*),r23(*),
60 . r31(*),r32(*),r33(*),rloc(3,*),offg(*) ,off(*)
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 INTEGER I,NC1(MVSIZ),NC2(MVSIZ)
65C REAL
67 . x1(mvsiz), x2(mvsiz),y1(mvsiz), y2(mvsiz),
68 . z1(mvsiz), z2(mvsiz), norm
69C-----------------------------------------------
70C
71 DO i=jft, jlt
72 pid(i)=ncc(1,i)
73 ngl(i)=ncc(5,i)
74 nc1(i)=ncc(2,i)
75 nc2(i)=ncc(3,i)
76 ENDDO
77C----------------------------
78C COORDONNEES
79C----------------------------
80 DO i=jft, jlt
81 x1(i)=x(1,nc1(i))
82 y1(i)=x(2,nc1(i))
83 z1(i)=x(3,nc1(i))
84 x2(i)=x(1,nc2(i))
85 y2(i)=x(2,nc2(i))
86 z2(i)=x(3,nc2(i))
87 ENDDO
88C----------------------------
89C LOCAL SYSTEM
90C----------------------------
91 DO i=jft, jlt
92 r12(i)=rloc(1,i)
93 r22(i)=rloc(2,i)
94 r32(i)=rloc(3,i)
95 r11(i)=x2(i)-x1(i)
96 r21(i)=y2(i)-y1(i)
97 r31(i)=z2(i)-z1(i)
98 al(i)=sqrt(r11(i)*r11(i)+r21(i)*r21(i)+r31(i)*r31(i))
99 ENDDO
100C
101 DO i=jft, jlt
102 norm=one/max(em20,al(i))
103 r11(i)=r11(i)*norm
104 r21(i)=r21(i)*norm
105 r31(i)=r31(i)*norm
106 ENDDO
107 DO i=jft, jlt
108 r13(i)=r21(i)*r32(i)-r31(i)*r22(i)
109 r23(i)=r31(i)*r12(i)-r11(i)*r32(i)
110 r33(i)=r11(i)*r22(i)-r21(i)*r12(i)
111 ENDDO
112C
113 DO i=jft, jlt
114 norm=sqrt(r13(i)*r13(i)+r23(i)*r23(i)+r33(i)*r33(i))
115 norm=one/max(em20,norm)
116 r13(i)=r13(i)*norm
117 r23(i)=r23(i)*norm
118 r33(i)=r33(i)*norm
119 ENDDO
120 DO i=jft, jlt
121 r12(i)=r23(i)*r31(i)-r33(i)*r21(i)
122 r22(i)=r33(i)*r11(i)-r13(i)*r31(i)
123 r32(i)=r13(i)*r21(i)-r23(i)*r11(i)
124 ENDDO
125 DO i=jft,jlt
126 off(i)=offg(i)
127 ENDDO
128 IF (imp_chk > 0) THEN
129 DO i=jft,jlt
130 IF(offg(i)/=zero)THEN
131 IF(al(i)<=em20)THEN
132#include "lockon.inc"
133 WRITE(iout ,2001) ngl(i)
134#include "lockoff.inc"
135 idel7nok = 1
136 imp_ir = imp_ir + 1
137 ENDIF
138 ENDIF
139 ENDDO
140 ENDIF
141C
142 RETURN
143 2001 FORMAT(/'***ERROR :SPRING TYPE13 ZERO-LENGTH : ELEMENT NB:',
144 . i8/)
#define my_real
Definition cppsort.cpp:32
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
#define max(a, b)
Definition macros.h:21