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

Go to the source code of this file.

Functions/Subroutines

subroutine inisoldist (ifill, ixs, x, geo, ng, iparg, idp, ipart_, xrefs, glob_therm, ntrace, ntrace0, dis, nsoltosf, nbip, nnod2surf, inod2surf, knod2surf, surf_eltyp, surf_nodes, jmid, iphase, inphase, kvol, surf_type, iad_bufr, bufsf, nod_normal, isolnod, nbsubmat, fill_ratio, icumu, idc, nbconty, nseg, idsurf, swiftsurf, segtosurf, igrsurf, ivolsurf, nsurf_invol, ixq, ixtg, ityp, nel, numel_tot, num_inivol, inivol, i_inivol)

Function/Subroutine Documentation

◆ inisoldist()

subroutine inisoldist ( integer ifill,
integer, dimension(nixs,numels), target ixs,
x,
geo,
integer, intent(in) ng,
integer, dimension(nparg,ngroup) iparg,
integer idp,
integer, dimension(*) ipart_,
xrefs,
type(glob_therm_), intent(in) glob_therm,
integer ntrace,
integer ntrace0,
dis,
integer, dimension(nbconty,numnod) nsoltosf,
integer, dimension(nbsubmat,numel_tot) nbip,
integer nnod2surf,
integer, dimension(nnod2surf,numnod) inod2surf,
integer, dimension(numnod+1) knod2surf,
integer, dimension(nseg) surf_eltyp,
integer, dimension(nseg,4) surf_nodes,
integer jmid,
integer, dimension(nbsubmat+1,numel_tot) iphase,
integer, dimension(ntrace,nel) inphase,
kvol,
integer surf_type,
integer iad_bufr,
bufsf,
nod_normal,
integer isolnod,
integer, intent(in) nbsubmat,
fill_ratio,
integer icumu,
integer idc,
integer nbconty,
integer nseg,
integer idsurf,
integer, dimension(nsurf) swiftsurf,
integer, dimension(*) segtosurf,
type (surf_), dimension(nsurf) igrsurf,
integer, dimension(nsurf) ivolsurf,
integer nsurf_invol,
integer, dimension(nixq,numelq), target ixq,
integer, dimension(nixtg,numeltg), target ixtg,
integer ityp,
integer nel,
integer numel_tot,
integer, intent(in) num_inivol,
type (inivol_struct_), dimension(num_inivol), intent(inout) inivol,
integer, intent(in) i_inivol )
Parameters
[in]i_inivolinivol identifier
[in]num_inivolnumber of inivol options
[in,out]inivolinivol data structure

Definition at line 36 of file inisoldist.F.

47C-----------------------------------------------
48C M o d u l e s
49C-----------------------------------------------
50 USE groupdef_mod
52 use glob_therm_mod
53 use element_mod , only :nixs,nixq,nixtg
54C-----------------------------------------------
55C I m p l i c i t T y p e s
56C-----------------------------------------------
57#include "implicit_f.inc"
58C-----------------------------------------------
59C G l o b a l P a r a m e t e r s
60C-----------------------------------------------
61#include "mvsiz_p.inc"
62C-----------------------------------------------
63C C o m m o n B l o c k s
64C-----------------------------------------------
65#include "com01_c.inc"
66#include "com04_c.inc"
67#include "param_c.inc"
68#include "vect01_c.inc"
69#include "tabsiz_c.inc"
70C-----------------------------------------------
71C D u m m y A r g u m e n t s
72C-----------------------------------------------
73 INTEGER,INTENT(IN) :: I_INIVOL !< inivol identifier
74 INTEGER,INTENT(IN) :: NUM_INIVOL !< number of inivol options
75 TYPE (INIVOL_STRUCT_), DIMENSION(NUM_INIVOL), INTENT(INOUT) :: INIVOL !< inivol data structure
76 INTEGER,INTENT(IN) :: NG
77 INTEGER NTRACE,NTRACE0,IDC,NBCONTY,NSEG, IVOLSURF(NSURF),NUMEL_TOT,NEL
78 INTEGER,TARGET :: IXS(NIXS,NUMELS),IXQ(NIXQ,NUMELQ),IXTG(NIXTG,NUMELTG)
79 INTEGER IPARG(NPARG,NGROUP),IPART_(*),
80 . IDP,IFILL,NSOLTOSF(NBCONTY,NUMNOD),
81 . NNOD2SURF,KNOD2SURF(NUMNOD+1),JMID,
82 . IPHASE(NBSUBMAT+1,NUMEL_TOT),INPHASE(NTRACE,NEL),
83 . INOD2SURF(NNOD2SURF,NUMNOD),ISOLNOD,ICUMU,SURF_TYPE,IAD_BUFR,
84 . SURF_ELTYP(NSEG),SURF_NODES(NSEG,4),NBIP(NBSUBMAT,NUMEL_TOT),
85 . IDSURF,SWIFTSURF(NSURF),SEGTOSURF(*),NSURF_INVOL,
86 . ITYP
87 my_real x(3,numnod),geo(npropg,*),xrefs(8,3,*),
88 . dis(nsurf_invol,numnod),kvol(nbsubmat,numel_tot),bufsf(*),
89 . nod_normal(3,numnod),fill_ratio
90 INTEGER, INTENT(IN) :: NBSUBMAT
91 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
92 TYPE(glob_therm_) ,intent(in) :: glob_therm
93C-----------------------------------------------
94C L o c a l V a r i a b l e s
95C-----------------------------------------------
96 INTEGER,POINTER :: pIXQ,pIXTG,pIXS
97 INTEGER NF1,I,II,JHBE
98 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ),
99 . IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),
100 . IX5(MVSIZ),IX6(MVSIZ),IX7(MVSIZ),IX8(MVSIZ)
101
102 INTEGER IBID
103 my_real
104 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),x5(mvsiz),x6(mvsiz),
105 . x7(mvsiz),x8(mvsiz),y1(mvsiz),y2(mvsiz),y3(mvsiz),y4(mvsiz),
106 . y5(mvsiz),y6(mvsiz),y7(mvsiz),y8(mvsiz),z1(mvsiz),z2(mvsiz),
107 . z3(mvsiz),z4(mvsiz),z5(mvsiz),z6(mvsiz),z7(mvsiz),z8(mvsiz),
108 . rx(mvsiz) ,ry(mvsiz),rz(mvsiz) ,s_x(mvsiz) ,
109 . s_y(mvsiz) ,s_z(mvsiz),tx(mvsiz) ,ty(mvsiz) ,tz(mvsiz) ,
110 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),
111 . e2x(mvsiz),e2y(mvsiz),e2z(mvsiz),
112 . e3x(mvsiz),e3y(mvsiz),e3z(mvsiz),
113 . f1x(mvsiz),f1y(mvsiz),f1z(mvsiz),
114 . f2x(mvsiz),f2y(mvsiz),f2z(mvsiz)
115
116 my_real rbid
117 DOUBLE PRECISION
118 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
119 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
120 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
121 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
122 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
123 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ)
124C-----------------------------------------------
125C S o u r c e L i n e s
126C-----------------------------------------------
127 rbid = zero
128 ibid = 0
129
130 jhbe = iparg(23,ng)
131 jcvt = iparg(37,ng)
132
133 !common variables required for s*coor3 subroutine
134 nft=iparg(3,ng)
135 nf1=nft+1
136 lft=1
137 llt=nel
138 ity=ityp
139
140
141
142 IF(n2d == 0)THEN
143 IF ( isolnod == 4 )THEN
144 CALL s4coor3(x ,xrefs(1,1,nf1),ixs(1,nf1),ngl ,
145 . mat ,pid ,ix1 ,ix2 ,ix3 ,ix4 ,
146 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
147 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 )
148 ELSEIF (isolnod == 8) THEN
149 IF (jcvt == 0) THEN
150 CALL scoor3( x ,xrefs(1,1,nf1) ,ixs(1,nf1) ,geo ,mat ,pid ,ngl ,
151 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8,
152 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
153 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
154 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
155 . rx ,ry ,rz ,s_x ,s_y ,s_z ,tx ,ty ,tz ,
156 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
157 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,rbid ,rbid,glob_therm%NINTEMP,
158 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
159 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
160 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
161 ELSE
162 CALL srcoor3( x ,xrefs(1,1,nf1) ,ixs(1,nf1) ,geo ,mat ,pid ,ngl ,jhbe ,
163 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
164 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
165 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
166 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
167 . rx ,ry ,rz ,s_x ,s_y ,s_z ,tx ,ty ,tz ,
168 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
169 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,rbid ,rbid ,glob_therm%NINTEMP,
170 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
171 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
172 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
173 ENDIF
174 ENDIF
175 ELSEIF(n2d > 0)THEN
176 IF(ityp == 7)THEN
177 DO ii = 1, nel
178 i = ii + nft
179 ix1(ii) = ixtg(1 + 1, i)
180 ix2(ii) = ixtg(1 + 2, i)
181 ix3(ii) = ixtg(1 + 3, i)
182 x1(ii) = zero
183 x2(ii) = zero
184 x3(ii) = zero
185 y1(ii) = x(2, ixtg(1 + 1, i))
186 z1(ii) = x(3, ixtg(1 + 1, i))
187 y2(ii) = x(2, ixtg(1 + 2, i))
188 z2(ii) = x(3, ixtg(1 + 2, i))
189 y3(ii) = x(2, ixtg(1 + 3, i))
190 z3(ii) = x(3, ixtg(1 + 3, i))
191 ngl(ii) = ixtg(6, i)
192 ENDDO
193 ELSEIF(ityp == 2)THEN
194 DO ii = 1, nel
195 x1(ii) = zero
196 x2(ii) = zero
197 x3(ii) = zero
198 x4(ii) = zero
199 ENDDO
200 CALL qcoor2(x, ixq(1, nf1), ngl, mat, pid,
201 . ix1, ix2, ix3, ix4,
202 . y1, y2, y3, y4,
203 . z1, z2, z3, z4,
204 . s_y, s_z, ty, tz)
205 ENDIF
206 ENDIF
207C-----------
208 NULLIFY(pixs)
209 NULLIFY(pixq)
210 NULLIFY(pixtg)
211 IF(numels>0) pixs => ixs(1,nf1)
212 IF(numelq>0) pixq => ixq(1,nf1)
213 IF(n2d>0 .AND. numeltg>0) pixtg => ixtg(1,nf1)
214
215 CALL ratio_fill(
216 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
217 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
218 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
219 . idp ,x ,
220 . pixs ,ipart_(nf1),ifill ,ntrace ,ntrace0 ,dis ,nsoltosf ,
221 . nnod2surf ,inod2surf ,knod2surf ,jmid ,iphase(1,nf1) ,inphase ,kvol(1,nf1) ,
222 . surf_type ,iad_bufr ,bufsf ,nod_normal ,isolnod ,nbsubmat ,fill_ratio ,icumu ,
223 . nseg ,surf_eltyp ,surf_nodes,nbconty ,idc ,nbip(1,nf1) ,idsurf ,swiftsurf ,
224 . segtosurf ,igrsurf ,ivolsurf ,nsurf_invol,pixq ,pixtg ,ityp ,nel ,
225 . numel_tot ,num_inivol ,inivol ,i_inivol)
226C-----------------------------------------------------------------
227 RETURN
#define my_real
Definition cppsort.cpp:32
for(i8=*sizetab-1;i8 >=0;i8--)
type(inivol_struct_), dimension(:), allocatable inivol
Definition inivol_mod.F:84
integer num_inivol
Definition inivol_mod.F:85
subroutine ratio_fill(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, idp, x, ixs, ipart_, ifill, ntrace, ntrace0, dis, nsoltosf, nnod2surf, inod2surf, knod2surf, jmid, iphase, inphase, kvol, surf_type, iad_bufr, bufsf, nod_normal, isolnod, nbsubmat, fill_ratio, icumu, nseg, surf_eltyp, surf_nodes, nbconty, idc, nbip, idsurf, swiftsurf, segtosurf, igrsurf, ivolsurf, nsurf_invol, ixq, ixtg, ityp, nel, numel_tot, num_inivol, inivol, i_inivol)
Definition ratio_fill.F:42
subroutine s4coor3(x, xrefs, ixs, ngl, mxt, ngeo, ix1, ix2, ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition s4coor3.F:40
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition scoor3.F:52
subroutine srcoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, jhbe, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition srcoor3.F:52
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:38