OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
scaleini.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!|| scaleini ../starter/source/elements/initia/scaleini.F
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| fretitl2 ../starter/source/starter/freform.F
30!||--- uses -----------------------------------------------------
31!|| message_mod ../starter/share/message_module/message_mod.F
32!||====================================================================
33 SUBROUTINE scaleini(
34 . ELBUF_STR, IXS , SIGSP ,SIGI ,NSIGI ,
35 . NEL ,LFT , LLT ,NFT ,NSIGS ,
36 . PT ,IGEO )
37C-----------------------------------------------
38C M o d u l e s
39C-----------------------------------------------
40 USE elbufdef_mod
41 USE message_mod
43 use element_mod , only : nixs
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48C-----------------------------------------------
49C C o m m o n B l o c k s
50C-----------------------------------------------
51#include "param_c.inc"
52#include "com01_c.inc"
53#include "scr17_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER NSIGS, NSIGI,NEL,LFT,LLT,NFT ,PT(*), IXS(NIXS,*),
58 . IGEO(NPROPGI,*)
59 my_real
60 . sigsp(nsigi,nel),sigi(nsigs,nel)
61 TYPE(elbuf_struct_), TARGET :: ELBUF_STR
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 CHARACTER(LEN=NCHARTITLE) :: TITR
66 INTEGER I,J,IIP,JPT, II, JJ, IPT, IPP,IUS,IPSU,N,IPID1,
67 . IFLAGINI,NVAR_TMP,IR,IS,IT,NPTT,NPTS,NPTR,PID1,IGTYP,
68 . iis,ipt_all,ilay,nlay,kk,npt,nps,npr,nlayi,jhbet
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER MA
73 my_real,
74 . DIMENSION(:), POINTER :: FACYLD
75 TYPE(l_bufel_) ,POINTER :: LBUF
76C-----------------------------------------------
77 DO i=lft,llt
78C
79 ii=nft+i
80 n =ixs(nixs,ii)
81 jj=pt(ii)
82 iflagini = 1
83 IF(jj == 0)iflagini = 0
84c
85 IF (iflagini == 1)THEN
86 iis =nvsolid1 + nvsolid2 + nvsolid3 + nusolid + 4 + nvsolid4
87
88
89 npt = nint(sigsp(iis +3 , jj))
90 nps = nint(sigsp(iis +2 , jj) )
91 npr = nint(sigsp(iis +1 , jj) )
92 nlayi= nint(sigsp(iis +4 , jj) )
93
94 nptt = elbuf_str%NPTT
95 npts = elbuf_str%NPTS
96 nptr = elbuf_str%NPTR
97 nlay = elbuf_str%NLAY
98 igtyp = elbuf_str%IGTYP
99
100 IF ( npt /= nptt .OR. nps /= npts .OR. npr /= nptr .OR. nlayi /= nlay )THEN
101 IF(igtyp /= 20 .AND. igtyp /= 21 .AND. igtyp /= 22)THEN
102 ipid1=ixs(nixs-1,ii)
103 pid1 = igeo(1,ipid1)
104 jhbet = igeo(10,ipid1)
105 CALL fretitl2(titr,pid1,ltitr)
106 CALL ancmsg(msgid=1214,
107 . msgtype=msgerror,
108 . anmode=aninfo,
109 . i1=pid1,
110 . i2=jhbet,
111 . i3=n)
112 ENDIF
113
114 ENDIF
115
116 iis = iis + 7
117
118
119 DO ilay = 1,nlay
120 IF(elbuf_str%BUFLY(ilay)%L_FAC_YLD > 0 ) THEN
121 DO it=1,nptt
122 DO is=1,npts
123 DO ir=1,nptr
124 kk = nptr*npts*nptt*(ilay-1)+ nptr*npts*(it-1)+nptr*(is-1)+ir
125 lbuf => elbuf_str%BUFLY(ilay)%LBUF(ir,is,it)
126 lbuf%FAC_YLD(i) = sigsp(iis+ kk ,jj)
127 ENDDO !R
128 ENDDO !S
129 ENDDO !T
130 ENDIF
131 ENDDO
132 ENDIF
133 ENDDO ! I=LFT,LLT
134c-----------
135 RETURN
136 END
integer, parameter nchartitle
subroutine scaleini(elbuf_str, ixs, sigsp, sigi, nsigi, nel, lft, llt, nft, nsigs, pt, igeo)
Definition scaleini.F:37
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:895
subroutine fretitl2(titr, iasc, l)
Definition freform.F:799