OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fxbvini.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!|| fxbvini ../common_source/fxbody/fxbvini.F
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.F
27!|| lecinv ../engine/source/input/lecinv.F
28!||====================================================================
29 SUBROUTINE fxbvini(FXBIPM, FXBVIT, FXBRPM, V, VR)
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C C o m m o n B l o c k s
36C-----------------------------------------------
37#include "com04_c.inc"
38#include "fxbcom.inc"
39C-----------------------------------------------
40C D u m m y A r g u m e n t s
41C-----------------------------------------------
42 INTEGER, INTENT(IN) :: FXBIPM(NBIPM,NFXBODY)
43 my_real, INTENT(IN) :: fxbrpm(lenrpm),v(3,numnod),vr(3,numnod)
44 my_real, INTENT(INOUT) :: fxbvit(lenvar)
45C-----------------------------------------------
46C L o c a l V a r i a b l e s
47C-----------------------------------------------
48 INTEGER NFX,I,AVAR,ARPM,IDMAST
49 my_real p11,p12,p13,p21,p22,p23,p31,p32,p33,w1,w2,w3,wl1,wl2,wl3
50
51 DO nfx=1,nfxbody
52 idmast=fxbipm(2,nfx)
53 avar=fxbipm(13,nfx)
54 arpm=fxbipm(14,nfx)
55 DO i=1,3
56 fxbvit(avar+9+i-1)=v(i,idmast)
57 END DO
58 p11=fxbrpm(arpm+1)
59 p12=fxbrpm(arpm+2)
60 p13=fxbrpm(arpm+3)
61 p21=fxbrpm(arpm+4)
62 p22=fxbrpm(arpm+5)
63 p23=fxbrpm(arpm+6)
64 p31=fxbrpm(arpm+7)
65 p32=fxbrpm(arpm+8)
66 p33=fxbrpm(arpm+9)
67 w1=vr(1,idmast)
68 w2=vr(2,idmast)
69 w3=vr(3,idmast)
70 wl1=p11*w1+p21*w2+p31*w3
71 wl2=p12*w1+p22*w2+p32*w3
72 wl3=p13*w1+p23*w2+p33*w3
73 fxbvit(avar) =v(1,idmast)+p12*wl3-p13*wl2
74 fxbvit(avar+1)=v(2,idmast)+p22*wl3-p23*wl2
75 fxbvit(avar+2)=v(3,idmast)+p32*wl3-p33*wl2
76 fxbvit(avar+3)=v(1,idmast)-p11*wl3+p13*wl1
77 fxbvit(avar+4)=v(2,idmast)-p21*wl3+p23*wl1
78 fxbvit(avar+5)=v(3,idmast)-p31*wl3+p33*wl1
79 fxbvit(avar+6)=v(1,idmast)+p11*wl2-p12*wl1
80 fxbvit(avar+7)=v(2,idmast)+p21*wl2-p22*wl1
81 fxbvit(avar+8)=v(3,idmast)+p31*wl2-p32*wl1
82 ENDDO
83C
84 RETURN
85 END
86
#define my_real
Definition cppsort.cpp:32
subroutine fxbvini(fxbipm, fxbvit, fxbrpm, v, vr)
Definition fxbvini.F:30