OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
ruser32ke3.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!|| ruser32ke3 ../engine/source/elements/spring/ruser32ke3.F
25!||--- called by ------------------------------------------------------
26!|| imp_glob_k0 ../engine/source/implicit/imp_glob_k.F
27!||--- calls -----------------------------------------------------
28!|| assem_p ../engine/source/implicit/assem_p.F
29!|| peoff ../engine/source/elements/beam/peoff.F
30!|| r1coork3 ../engine/source/elements/spring/r1coork3.F
31!|| r4sumg3 ../engine/source/elements/spring/r4sumg3.F
32!|| ruser32mat3 ../engine/source/elements/spring/ruser32mat3.F
33!|| tkeg3 ../engine/source/elements/truss/tkeg3.F
34!||--- uses -----------------------------------------------------
35!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
36!||====================================================================
37 SUBROUTINE ruser32ke3 (JFT ,JLT ,NEL ,MTN ,PM ,
38 1 GEO ,IXR ,X ,ELBUF_TAB,NPF ,
39 2 TF ,SKEW ,OFFSET,FR_WAVE,
40 3 IKGEO ,IGEO ,
41 4 ETAG , IDDL ,NDOF ,K_DIAG ,K_LT ,
42 5 IADK ,JDIK )
43C-----------------------------------------------
44C M o d u l e s
45C-----------------------------------------------
46 USE elbufdef_mod
47C-----------------------------------------------
48C I m p l i c i t T y p e s
49C-----------------------------------------------
50#include "implicit_f.inc"
51C-----------------------------------------------
52C G l o b a l P a r a m e t e r s
53C-----------------------------------------------
54#include "mvsiz_p.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "com04_c.inc"
59#include "param_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER IXR(NIXR,*), NPF(*),JFT,JLT,OFFSET,NEL,MTN,IKGEO,
64 . IGEO(*), ETAG(*),IDDL(*) ,NDOF(*) ,IADK(*) ,JDIK(*)
65 my_real DT2T ,
66 . GEO(NPROPG,*),X(*),TF(*),SKEW(LSKEW,*),
67 . FR_WAVE(*),PM(*),KE11(9,MVSIZ),KE12(9,MVSIZ),KE22(9,MVSIZ),
68 . off(mvsiz),k_diag(*) ,k_lt(*)
69C
70 TYPE (ELBUF_STRUCT_), TARGET:: ELBUF_TAB
71C-----------------------------------------------
72C L o c a l V a r i a b l e s
73C-----------------------------------------------
74 my_real
75 . al(mvsiz),kx(mvsiz),ex(mvsiz),ey(mvsiz),ez(mvsiz)
76 INTEGER I,PID(MVSIZ),NGL(MVSIZ),
77 . NB1, NB2, NB3, NB4, NB5, NB6, NB7, NB8, NB9, NB10,
78 . NB11, NB12, NEL3, NEL4, NEL5, NB15, NB16, NBFI,
79 . nb13, nb14, nuvar
80C
81 TYPE(g_bufel_) ,POINTER :: GBUF
82C-----------------------------------------------
83 GBUF => elbuf_tab%GBUF
84C
85c NB1 =1
86c NB2 =NB1 + NEL
87c NEL3 = 3 * NEL
88c NEL4 = 4 * NEL
89c NEL5 = 5 * NEL
90c NB3 =NB2 + NEL3
91c NB4 =NB3 + NEL
92c NB5 =NB4 + NEL3
93c NB6 =NB5
94c NB7 =NB6
95c NB8 =NB7
96c NB9 =NB8 + NEL3
97c NB10=NB9 + NEL3
98c NB11=NB10
99c NB12=NB11
100c NB13=NB12
101c NB14=NB13
102C
103c IF (SCODVER < 101) THEN
104c NB15 =NB14 + NEL3
105c ELSE
106c NB15 =NB14 + 2*NEL3
107c END IF
108 nuvar = nint(geo(25,ixr(1,1)))
109 CALL r1coork3(jft ,jlt ,x ,ixr ,pid ,
110 1 ngl ,al ,ex ,ey ,ez ,
111 2 gbuf%OFF,off )
112C Define local stiffness
113 CALL ruser32mat3(kx, jft, jlt, gbuf%VAR, nuvar)
114C-------------------------
115C MATRICE de RIGIDITE
116C-------------------------
117 CALL r4sumg3(jft ,jlt ,al ,kx ,ex ,
118 1 ey ,ez ,ke11 ,ke12 ,ke22 )
119
120 IF (ikgeo==1) CALL tkeg3(jft ,jlt ,
121 1 gbuf%FOR ,al ,ke11 ,ke12 ,ke22 )
122
123
124 IF (neig>0) CALL peoff(
125 1 nixr, jft, jlt, ixr , etag,
126 2 off )
127
128 CALL assem_p(nixr,3 ,
129 1 ixr ,nel ,iddl ,ndof ,k_diag ,
130 2 k_lt ,iadk ,jdik ,ke11 ,ke12 ,
131 3 ke22 ,off )
132C-----------------------------------------------
133 RETURN
134 END
subroutine assem_p(nixpl, nd, ixp, nel, iddl, ndof, k_diag, k_lt, iadk, jdik, kc11, kc12, kc22, off)
Definition assem_p.F:40
subroutine peoff(nixpl, jft, jlt, ixp, etag, off)
Definition peoff.F:35
subroutine r1coork3(jft, jlt, x, ncc, pid, ngl, al, r11, r21, r31, offg, off)
Definition r1coork3.F:32
subroutine r4sumg3(jft, jlt, al, kx, r11, r21, r31, ke11, ke12, ke22)
Definition r4sumg3.F:32
subroutine ruser32ke3(jft, jlt, nel, mtn, pm, geo, ixr, x, elbuf_tab, npf, tf, skew, offset, fr_wave, ikgeo, igeo, etag, iddl, ndof, k_diag, k_lt, iadk, jdik)
Definition ruser32ke3.F:43
subroutine ruser32mat3(kx, jft, jlt, uvar, nuvar)
Definition ruser32mat3.F:29
subroutine tkeg3(jft, jlt, fx, al, ke11, ke12, ke22)
Definition tkeg3.F:32