OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
failini.F File Reference
#include "implicit_f.inc"
#include "param_c.inc"
#include "vect01_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine failini (elbuf_str, nptr, npts, nptt, nlay, ipm, sigsp, nsigi, fail_ini, sigi, nsigs, ix, nix, pt, rnoise, perturb, mat_param)

Function/Subroutine Documentation

◆ failini()

subroutine failini ( type(elbuf_struct_), target elbuf_str,
integer nptr,
integer npts,
integer nptt,
integer nlay,
integer, dimension(npropmi,*) ipm,
sigsp,
integer nsigi,
integer, dimension(*) fail_ini,
sigi,
integer nsigs,
integer, dimension(nix,*) ix,
integer nix,
integer, dimension(*) pt,
rnoise,
integer, dimension(nperturb) perturb,
type (matparam_struct_), dimension(nummat), intent(inout) mat_param )

Definition at line 41 of file failini.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE elbufdef_mod
48 USE matparam_def_mod
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "param_c.inc"
57#include "vect01_c.inc"
58#include "com01_c.inc"
59#include "com04_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER NPTR,NPTS,NPTT,IPM(NPROPMI,*),NSIGI,NLAY,
64 . FAIL_INI(*),IX(NIX,*),NSIGS,NIX,PT(*),PERTURB(NPERTURB)
66 . sigsp(nsigi,*),sigi(nsigs,*),rnoise(nperturb,*)
67 TYPE(ELBUF_STRUCT_), TARGET :: ELBUF_STR
68 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER I,J,L, II, JJ,IUS,
73 . JPS,IL,IR,IS,IT,NV,NVAR_RUPT,NVMAX,NFAIL,
74 . IMAT,IRUP
75 my_real,
76 . DIMENSION(:), POINTER :: uvarf,dfmax
77 TYPE(BUF_FAIL_),POINTER :: FBUF
79 . c1,c2,c3,c4,c5,x_1(2),x_2(3)
80C-----------------------------------------------
81 IF (isigi /= 0 .AND. nvsolid4 /= 0) THEN
82C
83 DO i=lft,llt
84c
85 ii=nft+i
86 jj=pt(ii)
87 IF(jj==0)cycle
88c
89 DO il=1,nlay
90 nfail = elbuf_str%BUFLY(il)%NFAIL
91 DO ius=1,nfail
92 jps = nvsolid1 + nvsolid2 + 4 + nusolid + nvsolid3
93 nvmax = nvsolid4 /(nptr*npts*nptt*nlay*5)
94 DO ir = 1,nptr
95 DO is = 1,npts
96 DO it = 1,nptt
97 fbuf => elbuf_str%BUFLY(il)%FAIL(ir,is,it)
98 uvarf => fbuf%FLOC(ius)%VAR
99 dfmax => fbuf%FLOC(ius)%DAMMX
100 nvar_rupt = fbuf%FLOC(ius)%NVAR
101 dfmax(i)= sigsp(jps+1+(ius-1)*nlay*nptr*npts*nptt*nvmax+
102 . (il-1)*nvmax*nptr*npts*nptt,jj)
103 jps = jps + 1
104 DO nv=1,nvar_rupt
105 uvarf((nv-1)*llt+i)=
106 . sigsp(jps+1+(ius-1)*nlay*nptr*npts*nptt*nvmax+
107 . (il-1)*nvmax*nptr*npts*nptt,jj)
108 jps = jps + 1
109 ENDDO
110 ENDDO
111 ENDDO
112 ENDDO
113 ENDDO
114 ENDDO
115 ENDDO
116 ENDIF
117c-----------------------------
118 IF( nperturb /= 0 ) THEN
119 DO j=1,nperturb
120 IF(perturb(j) == 2)THEN
121 DO i=lft,llt
122 IF (rnoise(j,i+nft) /= zero) THEN
123 DO il=1,nlay
124 nfail = elbuf_str%BUFLY(il)%NFAIL
125 imat = elbuf_str%BUFLY(il)%IMAT
126 DO ius=1,nfail
127 irup = mat_param(imat)%FAIL(ius)%IRUPT
128 IF (irup == 30) THEN ! /FAIL/BIQUAD
129 mat_param(imat)%FAIL(ius)%UPARAM(8) = 1
130 c1 = zero
131 c2 = zero
132 c3 = mat_param(imat)%FAIL(ius)%UPARAM(9) * rnoise(j,i+nft)
133 c4 = zero
134 c5 = zero
135 l = int(mat_param(imat)%FAIL(ius)%UPARAM(10))
136c
137 CALL biquad_coefficients(c1 ,c2 ,c3 ,c4 ,c5 ,l ,
138 . x_1,x_2,zero,zero,zero,zero)
139c
140 DO it = 1,nptt
141 DO is = 1,npts
142 DO ir = 1,nptr
143 fbuf => elbuf_str%BUFLY(il)%FAIL(ir,is,it)
144 uvarf => fbuf%FLOC(ius)%VAR
145 uvarf((3-1)*llt+i) = c2
146 uvarf((4-1)*llt+i) = x_1(1)
147 uvarf((5-1)*llt+i) = x_1(2)
148 uvarf((6-1)*llt+i) = x_2(1)
149 uvarf((7-1)*llt+i) = x_2(2)
150 uvarf((8-1)*llt+i) = x_2(3)
151 ENDDO
152 ENDDO
153 ENDDO
154 ENDIF
155 ENDDO
156 ENDDO
157 ENDIF
158 ENDDO
159 ENDIF
160 ENDDO
161 ENDIF
162c-----------
163 RETURN
subroutine biquad_coefficients(c1, c2, c3, c4, c5, l, x_1, x_2, e1, e2, e3, e4)
#define my_real
Definition cppsort.cpp:32