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