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