OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
failini.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!|| failini ../starter/source/elements/solid/solide/failini.F
25!||--- called by ------------------------------------------------------
26!|| s10init3 ../starter/source/elements/solid/solide10/s10init3.f
27!|| s16init3 ../starter/source/elements/thickshell/solide16/s16init3.F
28!|| s20init3 ../starter/source/elements/solid/solide20/s20init3.f
29!|| s4init3 ../starter/source/elements/solid/solide4/s4init3.F
30!|| s6cinit3 ../starter/source/elements/thickshell/solide6c/s6cinit3.f
31!|| s8cinit3 ../starter/source/elements/thickshell/solide8c/s8cinit3.f
32!|| s8zinit3 ../starter/source/elements/solid/solide8z/s8zinit3.f
33!|| scinit3 ../starter/source/elements/thickshell/solidec/scinit3.F
34!|| sinit3 ../starter/source/elements/solid/solide/sinit3.F
35!|| suinit3 ../starter/source/elements/elbuf_init/suinit3.F
36!||--- calls -----------------------------------------------------
37!|| biquad_coefficients ../starter/source/materials/fail/biquad/biquad_coefficients.F
38!||--- uses -----------------------------------------------------
39!||====================================================================
40 SUBROUTINE failini(
41 . ELBUF_STR,NPTR,NPTS,NPTT,NLAY,IPM,SIGSP,NSIGI,FAIL_INI,
42 . SIGI,NSIGS,IX,NIX,PT,RNOISE,PERTURB,MAT_PARAM)
43C-----------------------------------------------
44C M o d u l e s
45C-----------------------------------------------
46 USE elbufdef_mod
47 USE matparam_def_mod
48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "param_c.inc"
56#include "vect01_c.inc"
57#include "com01_c.inc"
58#include "com04_c.inc"
59C-----------------------------------------------
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62 INTEGER NPTR,NPTS,NPTT,IPM(NPROPMI,*),NSIGI,NLAY,
63 . FAIL_INI(*),IX(NIX,*),NSIGS,NIX,PT(*),PERTURB(NPERTURB)
65 . sigsp(nsigi,*),sigi(nsigs,*),rnoise(nperturb,*)
66 TYPE(elbuf_struct_), TARGET :: ELBUF_STR
67 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 INTEGER I,J,L,N,IIP,JPT, II, JJ, IPT, IPP,IUS,IPSU,
72 . IFLAGINI,JPS,IL,IR,IS,IT,NV,NVAR_RUPT,NVMAX,NFAIL,
73 . ip,imat,irup
74 my_real,
75 . DIMENSION(:), POINTER :: uvarf,dfmax
76 TYPE(buf_fail_),POINTER :: FBUF
77 my_real
78 . c1,c2,c3,c4,c5,x_1(2),x_2(3)
79C-----------------------------------------------
80 IF (isigi /= 0 .AND. nvsolid4 /= 0) THEN
81C
82 DO i=lft,llt
83c
84 ii=nft+i
85 jj=pt(ii)
86 IF(jj==0)cycle
87c
88 DO il=1,nlay
89 nfail = elbuf_str%BUFLY(il)%NFAIL
90 DO ius=1,nfail
91 jps = nvsolid1 + nvsolid2 + 4 + nusolid + nvsolid3
92 nvmax = nvsolid4 /(nptr*npts*nptt*nlay*5)
93 DO ir = 1,nptr
94 DO is = 1,npts
95 DO it = 1,nptt
96 fbuf => elbuf_str%BUFLY(il)%FAIL(ir,is,it)
97 uvarf => fbuf%FLOC(ius)%VAR
98 dfmax => fbuf%FLOC(ius)%DAMMX
99 nvar_rupt = fbuf%FLOC(ius)%NVAR
100 dfmax(i)= sigsp(jps+1+(ius-1)*nlay*nptr*npts*nptt*nvmax+
101 . (il-1)*nvmax*nptr*npts*nptt,jj)
102 jps = jps + 1
103 DO nv=1,nvar_rupt
104 uvarf((nv-1)*llt+i)=
105 . sigsp(jps+1+(ius-1)*nlay*nptr*npts*nptt*nvmax+
106 . (il-1)*nvmax*nptr*npts*nptt,jj)
107 jps = jps + 1
108 ENDDO
109 ENDDO
110 ENDDO
111 ENDDO
112 ENDDO
113 ENDDO
114 ENDDO
115 ENDIF
116c-----------------------------
117 IF( nperturb /= 0 ) THEN
118 DO j=1,nperturb
119 IF(perturb(j) == 2)THEN
120 DO i=lft,llt
121 IF (rnoise(j,i+nft) /= zero) THEN
122 DO il=1,nlay
123 nfail = elbuf_str%BUFLY(il)%NFAIL
124 imat = elbuf_str%BUFLY(il)%IMAT
125 DO ius=1,nfail
126 irup = mat_param(imat)%FAIL(ius)%IRUPT
127 IF (irup == 30) THEN ! /FAIL/BIQUAD
128 mat_param(imat)%FAIL(ius)%UPARAM(8) = 1
129 c1 = zero
130 c2 = zero
131 c3 = mat_param(imat)%FAIL(ius)%UPARAM(9) * rnoise(j,i+nft)
132 c4 = zero
133 c5 = zero
134 l = int(mat_param(imat)%FAIL(ius)%UPARAM(10))
135c
136 CALL biquad_coefficients(c1 ,c2 ,c3 ,c4 ,c5 ,l ,
137 . x_1,x_2,zero,zero,zero,zero)
138c
139 DO it = 1,nptt
140 DO is = 1,npts
141 DO ir = 1,nptr
142 fbuf => elbuf_str%BUFLY(il)%FAIL(ir,is,it)
143 uvarf => fbuf%FLOC(ius)%VAR
144 uvarf((3-1)*llt+i) = c2
145 uvarf((4-1)*llt+i) = x_1(1)
146 uvarf((5-1)*llt+i) = x_1(2)
147 uvarf((6-1)*llt+i) = x_2(1)
148 uvarf((7-1)*llt+i) = x_2(2)
149 uvarf((8-1)*llt+i) = x_2(3)
150 ENDDO
151 ENDDO
152 ENDDO
153 ENDIF
154 ENDDO
155 ENDDO
156 ENDIF
157 ENDDO
158 ENDIF
159 ENDDO
160 ENDIF
161c-----------
162 RETURN
163 END
subroutine biquad_coefficients(c1, c2, c3, c4, c5, l, x_1, x_2, e1, e2, e3, e4)
#define my_real
Definition cppsort.cpp:32
subroutine failini(elbuf_str, nptr, npts, nptt, nlay, ipm, sigsp, nsigi, fail_ini, sigi, nsigs, ix, nix, pt, rnoise, perturb, mat_param)
Definition failini.F:43
subroutine s10init3(elbuf_str, mas, ixs, pm, x, detonators, geo, veul, ale_connectivity, iparg, dtelem, sigi, nel, skew, igeo, stifn, partsav, v, iparts, mss, ixs10, ipart, glob_therm, mssx, sigsp, nsigi, ipm, iuser, nsigs, volnod, bvolnod, vns, bns, vnsx, bnsx, ptsol, bufmat, mcp, mcps, mcpsx, temp, npf, tf, in, stifr, ins, mssa, strsglob, straglob, fail_ini, iloadp, facload, rnoise, perturb, mat_param, defaults_solid)
Definition s10init3.F:63
subroutine s20init3(elbuf_str, mas, ixs, pm, x, detonators, geo, veul, ale_connectivity, iparg, dtelem, sigi, nel, skew, igeo, stifn, partsav, v, iparts, mss, ixs20, ipart, mssx, sigsp, nsigi, ipm, iuser, nsigs, volnod, bvolnod, vns, bns, vnsx, bnsx, ptsol, bufmat, mcp, mcps, mcpsx, temp, npf, tf, strsglob, straglob, fail_ini, iloadp, facload, rnoise, perturb, mat_param, glob_therm)
Definition s20init3.F:59
subroutine s6cinit3(elbuf_str, mas, ixs, pm, x, detonators, geo, veul, ale_connectivity, iparg, dtelem, sigi, nel, skew, igeo, stifn, partsav, v, iparts, mss, ipart, glob_therm, sigsp, nsigi, ipm, iuser, nsigs, volnod, bvolnod, vns, bns, ptsol, bufmat, mcp, mcps, mcpsx, temp, npf, tf, strsglob, straglob, mssa, orthoglob, fail_ini, iloadp, facload, rnoise, perturb, mat_param, defaults_solid)
Definition s6cinit3.F:60
subroutine s8cinit3(elbuf_str, mas, ixs, pm, x, detonators, geo, veul, ale_connectivity, iparg, dtelem, sigi, nel, skew, igeo, stifn, partsav, v, iparts, mss, ipart, sigsp, nsigi, msnf, mssf, ipm, iuser, nsigs, volnod, bvolnod, vns, bns, wma, ptsol, bufmat, mcp, mcps, temp, npf, tf, xrefs, mssa, strsglob, straglob, orthoglob, fail_ini, iloadp, facload, rnoise, perturb, mat_param, glob_therm)
Definition s8cinit3.F:60
subroutine s8zinit3(elbuf_str, mas, ixs, pm, x, detonators, geo, veul, ale_connectivity, iparg, dtelem, sigi, nel, skew, igeo, stifn, partsav, v, iparts, mss, ipart, glob_therm, sigsp, nsigi, msnf, mssf, ipm, iuser, nsigs, volnod, bvolnod, vns, bns, wma, ptsol, bufmat, mcp, mcps, temp, npf, tf, xrefs, mssa, strsglob, straglob, fail_ini, spbuf, kxsp, ipartsp, nod2sp, sol2sph, irst, iloadp, facload, perturb, rnoise, mat_param)
Definition s8zinit3.F:70
program starter
Definition starter.F:39