OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
qinit2.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!|| qinit2 ../starter/source/elements/solid_2d/quad/qinit2.F
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.f
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| atheri ../starter/source/ale/atheri.F
30!|| aturi2 ../starter/source/ale/ale2d/aturi2.F
31!|| dtmain ../starter/source/materials/time_step/dtmain.F
32!|| edlen2 ../starter/source/ale/ale2d/edlen2.F
33!|| fretitl2 ../starter/source/starter/freform.F
34!|| matini ../starter/source/materials/mat_share/matini.F
35!|| qcoor2 ../starter/source/elements/solid_2d/quad/qcoor2.F
36!|| qdlen2 ../starter/source/elements/solid_2d/quad/qdlen2.F
37!|| qmasi2 ../starter/source/elements/solid_2d/quad/qmasi2.F
38!|| qmorth2 ../starter/source/elements/solid_2d/quad/qmorth2.F
39!|| qrcoor2 ../starter/source/elements/solid_2d/quad/qrcoor2.F
40!|| qvoli2 ../starter/source/elements/solid_2d/quad/qvoli2.F
41!||--- uses -----------------------------------------------------
42!|| detonators_mod ../starter/share/modules1/detonators_mod.F
43!|| message_mod ../starter/share/message_module/message_mod.F
44!||====================================================================
45 SUBROUTINE qinit2(ELBUF_STR ,MS ,IXQ ,PM ,X ,
46 . DETONATORS ,GEO ,VEUL ,ALE_CONNECTIVITY ,IPARG ,
47 . DTELEM ,SIGI ,IGEO ,
48 . NEL ,SKEW ,MSQ ,IPART ,IPARTQ ,
49 . IPM ,NSIGS ,
50 . WMA ,PTQUAD ,BUFMAT ,NPF ,TF ,
51 . IPARGG ,ILOADP ,FACLOAD ,PARTSAV ,V )
52C-----------------------------------------------
53C M o d u l e s
54C-----------------------------------------------
55 USE elbufdef_mod
56 USE message_mod
60C-----------------------------------------------
61C I m p l i c i t T y p e s
62C-----------------------------------------------
63#include "implicit_f.inc"
64C-----------------------------------------------
65C G l o b a l P a r a m e t e r s
66C-----------------------------------------------
67#include "mvsiz_p.inc"
68C-----------------------------------------------
69C C o m m o n B l o c k s
70C-----------------------------------------------
71#include "com04_c.inc"
72#include "param_c.inc"
73#include "scry_c.inc"
74#include "vect01_c.inc"
75#include "scr17_c.inc"
76C-----------------------------------------------
77C D u m m y A r g u m e n t s
78C-----------------------------------------------
79 INTEGER IXQ(NIXQ,*), IPARG(*),IGEO(NPROPGI,*),
80 . NEL,IPART(LIPART1,*),IPARTQ(*),IPM(NPROPMI,*), PTQUAD(*),
81 . NSIGS, NPF(*),IPARGG(*)
82 my_real
83 . MS(*), PM(NPROPM,*), X(*), GEO(NPROPG,*),
84 . VEUL(10,*), DTELEM(*),SIGI(NSIGS,*),SKEW(LSKEW,*),
85 . msq(*), bufmat(*), tf(*),wma(*),partsav(20,*),v(*)
86 TYPE(elbuf_struct_), TARGET :: ELBUF_STR
87 INTEGER,INTENT(IN) :: ILOADP(SIZLOADP,*)
88 my_real,INTENT(IN) :: facload(lfacload,*)
89 TYPE(detonators_struct_)::DETONATORS
90 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
91C-----------------------------------------------
92C L o c a l V a r i a b l e s
93C-----------------------------------------------
94 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ)
95 INTEGER NF1, I, IGTYP, IP, IBID, IPID1
96 my_real e1y(mvsiz),e1z(mvsiz),e2y(mvsiz),e2z(mvsiz),
97 . bid(1), dtx(mvsiz),
98 . sy(mvsiz) ,sz(mvsiz) ,ty(mvsiz) ,tz(mvsiz)
99 my_real fv
100 CHARACTER(LEN=NCHARTITLE)::TITR
101 TYPE(g_bufel_) ,POINTER :: GBUF
102 TYPE(L_BUFEL_), POINTER :: LBUF
103 TYPE(BUF_MAT_) ,POINTER :: MBUF
104 my_real Y1(MVSIZ), Y2(MVSIZ), Y3(MVSIZ), Y4(MVSIZ),
105 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
106 . aire(mvsiz), deltax(mvsiz)
107 my_real :: tempel(nel)
108 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
109C-----------------------------------------------
110C S o u r c e L i n e s
111C=======================================================================
112 gbuf => elbuf_str%GBUF
113 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
114 mbuf => elbuf_str%BUFLY(1)%MAT(1,1,1)
115c
116 igtyp = iparg(38)
117 jcvt = iparg(37)
118 ibid = 0
119 bid = zero
120 tempel(:) = zero
121 nf1 = nft+1
122c
123 IF(jcvt == 0)THEN
124 CALL qcoor2(x,ixq(1,nf1),ngl,mat,
125 . pid, ix1, ix2, ix3, ix4,
126 . y1, y2, y3, y4,
127 . z1, z2, z3, z4,
128 . sy, sz, ty, tz)
129 ELSE
130 CALL qrcoor2(x ,ixq(1,nf1),ngl ,mat ,
131 . pid, ix1, ix2, ix3, ix4,
132 . y1, y2, y3, y4,
133 . z1, z2, z3, z4,
134 . sy, sz, ty, tz,
135 . e1y, e1z, e2y, e2z)
136 END IF
137 IF (igtyp == 6) CALL qmorth2(pid ,geo ,igeo ,gbuf%GAMA, nel,
138 . sy ,sz ,ty ,tz ,
139 . e1y ,e1z , e2y, e2z)
140 CALL qvoli2(gbuf%VOL,ixq(1,nf1),
141 . ngl, aire,
142 . y1, y2, y3, y4,
143 . z1, z2, z3 ,z4)
144 CALL qdlen2(iparg(63),
145 . aire, deltax,
146 . y1, y2, y3, y4,
147 . z1, z2, z3, z4)
148 IF(jeul/=0) CALL edlen2(veul(1,nf1), aire, deltax)
149C
150 ip=0
151 CALL matini(pm ,ixq ,nixq ,x ,
152 . geo ,ale_connectivity ,detonators,iparg ,
153 . sigi ,nel ,skew ,igeo ,
154 . ipart ,ipartq ,
155 . mat ,ipm ,nsigs ,numquad ,ptquad ,
156 . ip ,ngl ,npf ,tf ,bufmat ,
157 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
158 . facload, deltax ,tempel )
159C----------------------------------------
160C INITIALISATION DE LA THERMIQUE ET TURBULENCE
161C----------------------------------------
162 IF (jthe/=0) CALL atheri(mat,pm,gbuf%TEMP)
163 IF (jtur/=0) CALL aturi2(ipargg ,gbuf%RHO,pm,ixq,x,
164 . gbuf%RK,gbuf%RE, aire)
165C------------------------------------------
166C INITIALISATION DE LA MATRICE DE MASSE
167C------------------------------------------
168 IF (jlag+jale+jeul/=0)
169 . CALL qmasi2(pm,mat,ms,gbuf%VOL,msq(nf1),wma,ipartq(nft+1),partsav,
170 . ix1, ix2, ix3, ix4 ,x ,v)
171C-------------------------------------------
172C CALCUL DES DT ELEMENTAIRES
173C-------------------------------------------
174 CALL dtmain(geo ,pm ,ipm ,pid ,mat ,fv ,
175 . gbuf%EINT ,gbuf%TEMP ,gbuf%DELTAX ,gbuf%RK ,gbuf%RE ,bufmat, deltax, aire,
176 . gbuf%VOL, dtx, igeo,igtyp)
177c
178 DO i=lft,llt
179 IF(ixq(6,i+nft)/=0) THEN
180 IF (igtyp/=0 .AND. igtyp/=6 .AND.
181 . igtyp/=14.AND.igtyp/=15)THEN
182 ipid1=ixq(nixq-1,i+nft)
183 CALL fretitl2(titr,igeo(npropgi-ltitr+1,ipid1),ltitr)
184 CALL ancmsg(msgid=226,
185 . msgtype=msgerror,
186 . anmode=aninfo_blind_1,
187 . i1=igeo(1,ipid1),
188 . c1=titr,
189 . i2=igtyp)
190 ENDIF
191 ENDIF
192 dtelem(nft+i)=dtx(i)
193 ENDDO
194C-----------
195 RETURN
196 END
subroutine atheri(mat, pm, temp)
Definition atheri.F:41
subroutine aturi2(iparg, rho, pm, ix, x, rk, re, aire)
Definition aturi2.F:32
subroutine dtmain(geo, pm, ipm, pid, mat, fv, eint, temp, deltax, rk, re, bufmat, ddeltax, aire, vol, dtx, igeo, igtyp)
Definition dtmain.F:67
subroutine edlen2(veul, aire, deltax)
Definition edlen2.F:31
subroutine initia(iparg, elbuf, ms, in, v, x, ixs, ixq, ixc, ixt, ixp, ixr, detonators, geo, pm, rby, npby, lpby, npc, npts, pld, veul, ale_connectivity, skew, fill, ipart, itab, sensors, skvol, ixtg, thk, nloc_dmg, group_param_tab, glob_therm, igrnod, igrsurf, bufsf, vr, bufmat, xlas, las, dtelem, mss, msq, msc, mst, msp, msr, mstg, ptg, inc, nod2eltg, knod2eltg, inp, inr, intg, index, itri, kxx, ixx, xelemwa, iwa, nod2elq, knod2elq, nod2els, knod2els, kxsp, ixsp, nod2sp, ispcond, icode, iskew, iskn, ispsym, xframe, isptag, spbuf, mssx, nsigi, npbyl, lpbyl, rbyl, msnf, mssf, nsigsh, igeo, ipm, nsigs, nsigsph, vns, vnsx, stc, stt, stp, str, sttg, stur, bns, bnsx, volnod, bvolnod, etnod, nshnod, stifint, fxbdep, fxbvit, fxbacc, fxbipm, fxbrpm, fxbelm, fxbsig, fxbmod, ins, ptshel, ptsh3n, ptsol, ptquad, wma, ptsph, fxbnod, mbufel, mdepl, fxani, numel, nsigrs, sh4tree, sh3tree, mcp, temp, imerge2, iadmerge2, slnrbm, nslnrbm, rmstifn, rmstifr, ms_layer, zi_layer, itag, itagel, mcpc, mcptg, xrefc, xreftg, xrefs, mssa, msrt, irbe2, lrbe2, inivol, kvol, nbsubmat, ixs10, ixs16, ixs20, totaddmas, ipmas, stifn, msz2, itagn, sitage, itage, ixr_kj, elbuf_tab, nom_opt, ptr_nopt_rbe2, ptr_nopt_adm, ptr_nopt_fun, sol2sph, irst, sh3trim, xfem_tab, kxig3d, ixig3d, msig3d, knot, nctrlmax, wige, stack, rnoise, drape, sh4ang, sh3ang, geo_stack, igeo_stack, stifintr, strc, strp, strr, strtg, perturb, itagnd, nativ_sms, iloadp, facload, ptspri, nsigbeam, ptbeam, nsigtruss, pttruss, multi_fvm, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, strsglob, straglob, orthoglob, isigsh, iyldini, ksigsh3, fail_ini, iusolyld, iuser, iddlevel, inimap1d, inimap2d, func2d, fvm_inivel, tagprt_sms, igrbric, igrquad, igrsh4n, igrsh3n, igrpart, totmas, knotlocpc, knotlocel, vnige, bnige, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxb_matrix, fxb_matrix_add, fxb_last_adress, ptr_nopt_fxb, r_skew, knod2el1d, nod2el1d, ebcs_tab, rby_iniaxis, alea, knod2elc, nod2elc, dr, slrbody, drapeg, ipari, intbuf_tab, interfaces, mat_param, npreload_a, preload_a, fail_fractal, fail_brokmann, defaults, ndamp_freq_range, dampr, ibeam_vector, rbeam_vector, ikine)
Definition initia.F:188
subroutine matini(pm, ix, nix, x, geo, ale_connectivity, detonators, iparg, sigi, nel, skew, igeo, ipart, ipartel, mat, ipm, nsig, nums, pt, ipt, ngl, npf, tf, bufmat, gbuf, lbuf, mbuf, elbuf_str, iloadp, facload, ddeltax, tempel)
Definition matini.F:81
integer, parameter nchartitle
subroutine qinit2(elbuf_str, ms, ixq, pm, x, detonators, geo, veul, ale_connectivity, iparg, dtelem, sigi, igeo, nel, skew, msq, ipart, ipartq, ipm, nsigs, wma, ptquad, bufmat, npf, tf, ipargg, iloadp, facload, partsav, v)
Definition qinit2.F:52
subroutine qmasi2(pm, mat, ms, vol, msq, wma, ipart, partsav, ix1, ix2, ix3, ix4, x, v)
Definition qmasi2.F:33
subroutine qmorth2(pid, geo, igeo, gama, nel, ry, rz, sy, sz, e1y, e1z, e2y, e2z)
Definition qmorth2.F:37
subroutine qvoli2(volu, ixq, ngl, aire, y1, y2, y3, y4, z1, z2, z3, z4)
Definition qvoli2.F:40
subroutine qcoor2(x, ixq, ngl, mxt, pid, ix1, ix2, ix3, ix4, y1, y2, y3, y4, z1, z2, z3, z4, sy, sz, ty, tz)
Definition qcoor2.F:37
subroutine qdlen2(iparg, aire, deltax, y1, y2, y3, y4, z1, z2, z3, z4)
Definition qdlen2.F:39
subroutine qrcoor2(x, ixq, ngl, mxt, pid, ix1, ix2, ix3, ix4, y1, y2, y3, y4, z1, z2, z3, z4, sy, sz, ty, tz, e1y, e1z, e2y, e2z)
Definition qrcoor2.F:34
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
program starter
Definition starter.F:39