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
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "param_c.inc"
51#include "com01_c.inc"
52#include "scr17_c.inc"
53C-----------------------------------------------
54C D u m m y A r g u m e n t s
55C-----------------------------------------------
56 INTEGER NSIGS, NSIGI,NEL,LFT,LLT,NFT ,PT(*), IXS(NIXS,*),
57 . IGEO(NPROPGI,*)
58 my_real
59 . sigsp(nsigi,nel),sigi(nsigs,nel)
60 TYPE(elbuf_struct_), TARGET :: ELBUF_STR
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 CHARACTER(LEN=NCHARTITLE) :: TITR
65 INTEGER I,J,IIP,JPT, II, JJ, IPT, IPP,IUS,IPSU,N,IPID1,
66 . IFLAGINI,NVAR_TMP,IR,IS,IT,NPTT,NPTS,NPTR,PID1,IGTYP,
67 . iis,ipt_all,ilay,nlay,kk,npt,nps,npr,nlayi,jhbet
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 INTEGER MA
72 my_real,
73 . DIMENSION(:), POINTER :: FACYLD
74 TYPE(l_bufel_) ,POINTER :: LBUF
75C-----------------------------------------------
76 DO i=lft,llt
77C
78 ii=nft+i
79 n =ixs(nixs,ii)
80 jj=pt(ii)
81 iflagini = 1
82 IF(jj == 0)iflagini = 0
83c
84 IF (iflagini == 1)THEN
85 iis =nvsolid1 + nvsolid2 + nvsolid3 + nusolid + 4 + nvsolid4
86
87
88 npt = nint(sigsp(iis +3 , jj))
89 nps = nint(sigsp(iis +2 , jj) )
90 npr = nint(sigsp(iis +1 , jj) )
91 nlayi= nint(sigsp(iis +4 , jj) )
92
93 nptt = elbuf_str%NPTT
94 npts = elbuf_str%NPTS
95 nptr = elbuf_str%NPTR
96 nlay = elbuf_str%NLAY
97 igtyp = elbuf_str%IGTYP
98
99 IF ( npt /= nptt .OR. nps /= npts .OR. npr /= nptr .OR. nlayi /= nlay )THEN
100 IF(igtyp /= 20 .AND. igtyp /= 21 .AND. igtyp /= 22)THEN
101 ipid1=ixs(nixs-1,ii)
102 pid1 = igeo(1,ipid1)
103 jhbet = igeo(10,ipid1)
104 CALL fretitl2(titr,pid1,ltitr)
105 CALL ancmsg(msgid=1214,
106 . msgtype=msgerror,
107 . anmode=aninfo,
108 . i1=pid1,
109 . i2=jhbet,
110 . i3=n)
111 ENDIF
112
113 ENDIF
114
115 iis = iis + 7
116
117
118 DO ilay = 1,nlay
119 IF(elbuf_str%BUFLY(ilay)%L_FAC_YLD > 0 ) THEN
120 DO it=1,nptt
121 DO is=1,npts
122 DO ir=1,nptr
123 kk = nptr*npts*nptt*(ilay-1)+ nptr*npts*(it-1)+nptr*(is-1)+ir
124 lbuf => elbuf_str%BUFLY(ilay)%LBUF(ir,is,it)
125 lbuf%FAC_YLD(i) = sigsp(iis+ kk ,jj)
126 ENDDO !R
127 ENDDO !S
128 ENDDO !T
129 ENDIF
130 ENDDO
131 ENDIF
132 ENDDO ! I=LFT,LLT
133c-----------
134 RETURN
135 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:889
subroutine fretitl2(titr, iasc, l)
Definition freform.F:804