OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sboltini.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!|| sboltini ../starter/source/loads/bolt/sboltini.F
25!||--- called by ------------------------------------------------------
26!|| s10init3 ../starter/source/elements/solid/solide10/s10init3.F
27!|| s4init3 ../starter/source/elements/solid/solide4/s4init3.F
28!|| s8zinit3 ../starter/source/elements/solid/solide8z/s8zinit3.F
29!|| sinit3 ../starter/source/elements/solid/solide/sinit3.F
30!||====================================================================
31 SUBROUTINE sboltini(E1X ,E1Y ,E1Z ,E2X ,E2Y ,E2Z ,E3X ,E3Y ,E3Z ,
32 . BPRELD ,NEL ,IX ,NIX ,VPRELOAD, IFLAG_BPRELOAD)
33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C C o m m o n B l o c k s
39C-----------------------------------------------
40#include "boltpr_c.inc"
41#include "vect01_c.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 INTEGER NIX , NEL
46 INTEGER IX(NIX,*), IFLAG_BPRELOAD(*)
48 . vpreload(7,*),bpreld(nel,nbpreld),
49 . e1x(*),e1y(*),e1z(*),e2x(*),e2y(*),e2z(*),e3x(*),e3y(*),e3z(*)
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER I,IFLAGINI,J,II,JJ
55 . nx,ny,nz,tstart,tend,load,sens,
56 . l11,l22,l33,l12,l23,l13,t11,t22,t33,t12,t23,t13,
57 . s11,s12,s13,s21,s22,s23,s31,s32,s33,
58 . ee1x,ee1y,ee1z,ee2x,ee2y,ee2z,ee3x,ee3y,ee3z
59C=======================================================================
60 IF (jcvt /= 0)THEN
61 DO i=lft,llt
62 iflagini = 0
63 ii=nft+i
64 jj=iflag_bpreload(ii)
65 IF (jj == 0)GOTO 200
66 iflagini = 1
67C-----------
68 IF (iflagini == 1)THEN
69 tstart = vpreload(1,ii)
70 tend = vpreload(2,ii)
71 load = vpreload(3,ii)
72 nx = vpreload(4,ii)
73 ny = vpreload(5,ii)
74 nz = vpreload(6,ii)
75 sens = vpreload(7,ii)
76 l11 = load*nx*nx
77 l22 = load*ny*ny
78 l33 = load*nz*nz
79 l12 = load*nx*ny
80 l23 = load*ny*nz
81 l13 = load*nz*nx
82 ee1x = e1x(i)
83 ee1y = e1y(i)
84 ee1z = e1z(i)
85 ee2x = e2x(i)
86 ee2y = e2y(i)
87 ee2z = e2z(i)
88 ee3x = e3x(i)
89 ee3y = e3y(i)
90 ee3z = e3z(i)
91 s11 = l11*ee1x+l12*ee1y+l13*ee1z
92 s12 = l11*ee2x+l12*ee2y+l13*ee2z
93 s13 = l11*ee3x+l12*ee3y+l13*ee3z
94 s21 = l12*ee1x+l22*ee1y+l23*ee1z
95 s22 = l12*ee2x+l22*ee2y+l23*ee2z
96 s23 = l12*ee3x+l22*ee3y+l23*ee3z
97 s31 = l13*ee1x+l23*ee1y+l33*ee1z
98 s32 = l13*ee2x+l23*ee2y+l33*ee2z
99 s33 = l13*ee3x+l23*ee3y+l33*ee3z
100 t11 = ee1x*s11+ee1y*s21+ee1z*s31
101 t22 = ee2x*s12+ee2y*s22+ee2z*s32
102 t33 = ee3x*s13+ee3y*s23+ee3z*s33
103 t12 = ee1x*s12+ee1y*s22+ee1z*s32
104 t23 = ee2x*s13+ee2y*s23+ee2z*s33
105 t13 = ee1x*s13+ee1y*s23+ee1z*s33
106 bpreld(i,1)=tstart
107 bpreld(i,2)=tend
108 bpreld(i,3)=zero
109 bpreld(i,4)=t11
110 bpreld(i,5)=t22
111 bpreld(i,6)=t33
112 bpreld(i,7)=t12
113 bpreld(i,8)=t23
114 bpreld(i,9)=t13
115 bpreld(i,10)=sens
116
117 !write (957,'(3I5,1X,10E10.3)')II,I,N,BPRELD(I,1:10)
118 ENDIF
119 200 CONTINUE
120 ENDDO
121 ELSE
122 DO i=lft,llt
123 iflagini = 0
124 ii=nft+i
125 jj=iflag_bpreload(ii)
126 IF (jj == 0)GOTO 300
127 iflagini = 1
128C-----------
129 IF (iflagini == 1)THEN
130 tstart = vpreload(1,ii)
131 tend = vpreload(2,ii)
132 load = vpreload(3,ii)
133 nx = vpreload(4,ii)
134 ny = vpreload(5,ii)
135 nz = vpreload(6,ii)
136 sens = vpreload(7,ii)
137 l11 = load*nx*nx
138 l22 = load*ny*ny
139 l33 = load*nz*nz
140 l12 = load*nx*ny
141 l23 = load*ny*nz
142 l13 = load*nz*nx
143 bpreld(i,1)=tstart
144 bpreld(i,2)=tend
145 bpreld(i,3)=zero
146 bpreld(i,4)=l11
147 bpreld(i,5)=l22
148 bpreld(i,6)=l33
149 bpreld(i,7)=l12
150 bpreld(i,8)=l23
151 bpreld(i,9)=l13
152 bpreld(i,10)=sens
153
154 !write (917,'(3I5,1X,10E10.3)')II,I,N,BPRELD(I,1:10)
155 ENDIF
156 300 CONTINUE
157 ENDDO
158 ENDIF
159C-----------
160 RETURN
161 END
162
#define my_real
Definition cppsort.cpp:32
subroutine sboltini(e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, bpreld, nel, ix, nix, vpreload, iflag_bpreload)
Definition sboltini.F:33