OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cmatini4.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!|| cmatini4 ../starter/source/materials/mat_share/cmatini4.F
25!||--- called by ------------------------------------------------------
26!|| cbainit3 ../starter/source/elements/shell/coqueba/cbainit3.F
27!|| cdkinit3 ../starter/source/elements/sh3n/coquedk/cdkinit3.F
28!||--- calls -----------------------------------------------------
29!|| ancmsg ../starter/source/output/message/message.F
30!|| fretitl2 ../starter/source/starter/freform.F
31!||--- uses -----------------------------------------------------
32!|| message_mod ../starter/share/message_module/message_mod.F
33!||====================================================================
34 SUBROUTINE cmatini4(ELBUF_STR,
35 1 JFT ,JLT ,NFT ,NEL ,ISTRAIN ,
36 2 SIGSH ,NSIGSH ,NUMEL ,IX ,NIX ,
37 3 NUMSH ,PTSH ,IR ,IS ,NPT ,
38 4 IGTYP ,IGEO ,NLAY ,NPG ,IPG )
39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE elbufdef_mod
43 USE message_mod
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C C o m m o n B l o c k s
51C-----------------------------------------------
52#include "param_c.inc"
53#include "com01_c.inc"
54#include "scr17_c.inc"
55C-----------------------------------------------
56C D u m m y A r g u m e n t s
57C-----------------------------------------------
58 INTEGER JFT,JLT,NFT,NEL,IR,IS,NPT,NUMEL,NIX,ISTRAIN,NSIGSH,NUMSH,IGTYP,IGEO(NPROPGI,*),NLAY,NPG,IPG
59 INTEGER IX(NIX,*),PTSH(*)
60 my_real SIGSH(NSIGSH,*)
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,II,J,JJ,N,NPTI,I1,I2,PT,NPGI,NU,NUVAR,NVARS,IPT,NPI,
67 . IPID1,PID1,C1,IPT_ALL,IT,ILAY,NPTT
68 TYPE(L_BUFEL_) ,POINTER :: LBUF
69C--------------------------------------------------------------
70 DO i=jft,jlt
71 IF (abs(isigi)/=3 .AND. abs(isigi)/=4 .AND. abs(isigi)/=5)THEN
72 ii = i+nft
73 n = nint(sigsh(nvshell + 1,ii))
74 IF (n/=ix(nix,ii)) THEN
75 jj = ii
76 DO j = 1,numel
77 ii= j
78 n = nint(sigsh(nvshell + 1,ii))
79 IF (n == 0) GOTO 200
80 IF (n == ix(nix,jj)) GOTO 60
81 ENDDO
82 60 CONTINUE
83 ENDIF
84 ELSE
85 jj=nft+i
86 n =ix(nix,jj)
87 ii=ptsh(jj)
88 IF (ii == 0) GOTO 200
89 ENDIF
90C
91 npi = nint(sigsh(nvshell + 2,ii))
92 npgi = nint(sigsh(nvshell + 3,ii))
93!! PT=NVSHELL+3 ! wrong position, overwriting FAIL
94 pt = nvshell+nushell+nortshel+nvshell1+3
95C
96C for IGTYP == 51, usually NPT <= NPTI (NPTI = NTPP --> for all layers)
97 IF ((npgi /= npg.OR.npi /= npt) .AND. igtyp /= 51
98 . .AND. igtyp /=52) THEN
99 ipid1=ix(nix-1,nft+i)
100 pid1=igeo(1,ipid1)
101 CALL fretitl2(titr,igeo(npropgi-ltitr+1,ipid1),ltitr)
102 CALL ancmsg(msgid=1215, anmode=aninfo, msgtype=msgerror, c1=titr, i1=pid1, i2=n)
103C
104 ELSE
105 IF (npgi > 0) THEN
106 IF (npi > 0) THEN
107c
108 ipt_all = 0
109 DO ilay=1,nlay
110 nptt = elbuf_str%BUFLY(ilay)%NPTT
111 DO it=1,nptt
112 ipt = ipt_all + it
113
114 lbuf => elbuf_str%BUFLY(ilay)%LBUF(ir,is,it)
115 lbuf%FAC_YLD(i) = sigsh(pt+(ipg-1)*npi+ipt,ii)
116 ENDDO
117 ipt_all = ipt_all + nptt
118 ENDDO ! DO ILAY=1,NPT
119c
120 ELSE
121!----------------------------------------------------------
122!! ILAY --> not initialised here
123!! SIGSH(PT, II) --> not filled within initia for NIP = 0
124!----------------------------------------------------------
125!! LBUF => ELBUF_STR%BUFLY(ILAY)%LBUF(IR,IS,IT)
126!! LBUF%FAC_YLD(I) = SIGSH(PT+IPG, II)
127 ENDIF ! IF (NPI > 0)
128 ELSE
129 ENDIF ! IF (NPGI > 0)
130 ENDIF ! IF ((NPGI /= NPG.OR.NPI /= NPT) .AND. IGTYP /= 51)
131C
132200 CONTINUE
133C
134 ENDDO ! DO I=JFT,JLT
135C---
136 RETURN
137 END
subroutine cmatini4(elbuf_str, jft, jlt, nft, nel, istrain, sigsh, nsigsh, numel, ix, nix, numsh, ptsh, ir, is, npt, igtyp, igeo, nlay, npg, ipg)
Definition cmatini4.F:39
integer, parameter nchartitle
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