OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
r1coork3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| r1coork3 ../engine/source/elements/spring/r1coork3.f
25!||--- called by ------------------------------------------------------
26!|| r4ke3 ../engine/source/elements/spring/r4ke3.F
27!|| ruser32ke3 ../engine/source/elements/spring/ruser32ke3.F
28!||--- uses -----------------------------------------------------
29!|| element_mod ../common_source/modules/elements/element_mod.F90
30!||====================================================================
31 SUBROUTINE r1coork3(JFT ,JLT ,X ,NCC ,PID ,
32 1 NGL ,AL ,R11 ,R21 ,R31 ,
33 2 OFFG ,OFF )
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(*),r21(*),r31(*),offg(*) ,off(*)
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I,NC1(MVSIZ),NC2(MVSIZ)
63C REAL
65 . x1(mvsiz), x2(mvsiz),y1(mvsiz), y2(mvsiz),
66 . z1(mvsiz), z2(mvsiz), norm
67C-----------------------------------------------
68C
69 DO i=jft, jlt
70 pid(i)=ncc(1,i)
71 ngl(i)=ncc(5,i)
72 nc1(i)=ncc(2,i)
73 nc2(i)=ncc(3,i)
74 ENDDO
75C----------------------------
76C COORDONNEES
77C----------------------------
78 DO i=jft, jlt
79 x1(i)=x(1,nc1(i))
80 y1(i)=x(2,nc1(i))
81 z1(i)=x(3,nc1(i))
82 x2(i)=x(1,nc2(i))
83 y2(i)=x(2,nc2(i))
84 z2(i)=x(3,nc2(i))
85 ENDDO
86C----------------------------
87C LOCAL SYSTEM
88C----------------------------
89 DO i=jft, jlt
90 r11(i)=one
91 r21(i)=zero
92 r31(i)=zero
93 ENDDO
94 DO i=jft, jlt
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 al(i)=max(em14,al(i))
100 ENDDO
101 IF (imp_chk > 0) THEN
102 DO i=jft,jlt
103 IF(offg(i)/=zero)THEN
104 IF(al(i)<=em14)THEN
105#include "lockon.inc"
106 WRITE(iout ,2001) ngl(i)
107#include "lockoff.inc"
108 idel7nok = 1
109 imp_iw = imp_iw + 1
110 ENDIF
111 ENDIF
112 ENDDO
113 ENDIF
114C
115 DO i=jft, jlt
116 IF (al(i)>em14) THEN
117 norm=one/al(i)
118 r11(i)=r11(i)*norm
119 r21(i)=r21(i)*norm
120 r31(i)=r31(i)*norm
121 ENDIF
122 ENDDO
123 DO i=jft,jlt
124 off(i)=offg(i)
125 ENDDO
126C
127 RETURN
128 2001 FORMAT(/'***WARNING :SPRING TYPE4 ZERO-LENGTH : ELEMENT NB:',
129 . i8/)
130 END
#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
subroutine r1coork3(jft, jlt, x, ncc, pid, ngl, al, r11, r21, r31, offg, off)
Definition r1coork3.F:34