OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fxbsini.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!|| fxbsini ../starter/source/constraints/fxbody/fxbsini.F
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.F
27!||--- calls -----------------------------------------------------
28!|| fsigcini ../starter/source/constraints/fxbody/fsigcini.F
29!|| fsigpini ../starter/source/constraints/fxbody/fsigpini.F
30!|| fsigsini ../starter/source/constraints/fxbody/fsigsini.F
31!|| fsigtini ../starter/source/constraints/fxbody/fsigtini.F
32!|| fsigtrini ../starter/source/constraints/fxbody/fsigtrini.F
33!||--- uses -----------------------------------------------------
34!||====================================================================
35 SUBROUTINE fxbsini(FXBELM, FXBSIG, NELS , NELC , NELTG,
36 . X , IPARG , PM , FXBMOD, NML ,
37 . NSN , IXS , IXC , IXTG , GEO ,
38 . FXBRPM, NFX , IFILE, LVSIG , NSNI ,
39 . NME , IRCS , IRCM0, NELT , NELP ,
40 . IXT , IXP ,IBEAM_VECTOR,RBEAM_VECTOR)
41 use element_mod , only : nixs,nixc,nixtg,nixt,nixp
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49#include "param_c.inc"
50#include "units_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER FXBELM(*), NELS, NELC, NELTG, IPARG(NPARG,*), NML,
55 . NSN, IXS(NIXS,*), IXC(NIXC,*), IXTG(NIXTG,*), NFX, IFILE,
56 . LVSIG, NSNI, NME, IRCS, IRCM0, NELT, NELP, IXT(NIXT,*),
57 . IXP(NIXP,*)
58 INTEGER, INTENT (IN ) :: IBEAM_VECTOR(NELP)
60 . fxbsig(*), x(3,*), pm(npropm,*), fxbmod(*),
61 . geo(npropg,*), fxbrpm(*)
62 my_real, INTENT (IN ) :: rbeam_vector(3,nelp)
63C-----------------------------------------------
64C L o c a l V a r i a b l e s
65C-----------------------------------------------
66 INTEGER I,II,IM,IADMOD,IADEL,IADSIG, IADM, IADS, IRCM, IAD, J
68 . rini(3,3), vmod(nsn*6), vsig(lvsig), vv(6)
69C=======================================================================
70 ircm=ircm0
71 ircm=ircm+nme*(nsn-nsni)
72C
73 DO i=1,3
74 DO ii=1,3
75 rini(i,ii)=fxbrpm(1+(i-1)*3+ii)
76 ENDDO
77 ENDDO
78C
79 iadsig=1
80 DO im=1,nml
81 IF (ifile==0) THEN
82 iadmod=nsn*6*(im-1)+1
83 DO i=1,nsn*6
84 vmod(i)=fxbmod(iadmod+i-1)
85 ENDDO
86 ELSEIF (ifile==1) THEN
87 iadmod=nsni*6*(im-1)+1
88 DO i=1,nsni*6
89 vmod(i)=fxbmod(iadmod+i-1)
90 ENDDO
91 iadm=nsni*6
92 DO i=1,nsn-nsni
93 ircm=ircm+1
94 READ(ifxm,rec=ircm) (vv(ii),ii=1,6)
95 DO ii=1,6
96 vmod(iadm+ii)=vv(ii)
97 ENDDO
98 iadm=iadm+6
99 ENDDO
100 ENDIF
101C 1. Solid elements
102 iadel=1
103 iads=1
104 IF (nels>0) CALL fsigsini(
105 . fxbelm(iadel), iparg, x, pm, ixs,
106 . geo, vmod, vsig(iads), rini, nels)
107C 2. 4-nodes shell elements
108 iadel=iadel+nels*13
109 iads=iads+nels*7
110 IF (nelc>0) CALL fsigcini(
111 . fxbelm(iadel), iparg, x, pm, ixc,
112 . geo, vmod, vsig(iads), rini, nelc)
113C 3. Truss elements
114 iadel=iadel+nelc*10
115 iads=iads+nelc*10
116 IF (nelt>0) CALL fsigtrini(
117 . fxbelm(iadel), iparg, x, pm, ixt,
118 . geo, vmod, vsig(iads),nelt)
119C 4. Beam elements
120 iadel=iadel+nelt*7
121 iads=iads+nelt*2
122 IF (nelp>0) CALL fsigpini(
123 . fxbelm(iadel), iparg, x, pm, ixp,
124 . geo, vmod, vsig(iads), rini, nelp,
125 . ibeam_vector ,rbeam_vector)
126C 5. 3-nodes shell elements
127 iadel=iadel+nelp*9
128 iads=iads+nelp*8
129 IF (neltg>0) CALL fsigtini(
130 . fxbelm(iadel), iparg, x, pm, ixtg,
131 . geo, vmod, vsig(iads), rini, neltg)
132 IF (ifile==0) THEN
133 DO i=1,lvsig
134 fxbsig(iadsig+i-1)=vsig(i)
135 ENDDO
136 ELSE
137 iad=0
138 DO i=1,lvsig/6
139 ircs=ircs+1
140 WRITE(ifxs,rec=ircs) (vsig(iad+j),j=1,6)
141 iad=iad+6
142 ENDDO
143 ii=lvsig-(lvsig/6)*6
144 IF (ii/=0) THEN
145 ircs=ircs+1
146 WRITE(ifxs,rec=ircs) (vsig(iad+j),j=1,ii),(zero,j=ii+1,6)
147 ENDIF
148 ENDIF
149 iadsig=iadsig+nels*7+nelc*10+nelt*2+nelp*8+neltg*10
150 ENDDO
151C-----------
152 RETURN
153 END SUBROUTINE fxbsini
154
155
156
#define my_real
Definition cppsort.cpp:32
subroutine fsigcini(fxbelm, iparg, x, pm, ixc, geo, fxbmod, fxbsig, r, nelc)
Definition fsigcini.F:38
subroutine fsigpini(fxbelm, iparg, x, pm, ixp, geo, fxbmod, fxbsig, r, nelp, ibeam_vector, rbeam_vector)
Definition fsigpini.F:37
subroutine fsigsini(fxbelm, iparg, x, pm, ixs, geo, fxbmod, fxbsig, r, nels)
Definition fsigsini.F:37
subroutine fsigtini(fxbelm, iparg, x, pm, ixtg, geo, fxbmod, fxbsig, r, neltg)
Definition fsigtini.F:38
subroutine fsigtrini(fxbelm, iparg, x, pm, ixt, geo, fxbmod, fxbsig, nelt)
Definition fsigtrini.F:31
subroutine fxbsini(fxbelm, fxbsig, nels, nelc, neltg, x, iparg, pm, fxbmod, nml, nsn, ixs, ixc, ixtg, geo, fxbrpm, nfx, ifile, lvsig, nsni, nme, ircs, ircm0, nelt, nelp, ixt, ixp, ibeam_vector, rbeam_vector)
Definition fxbsini.F:41