Go to the source code of this file.
◆ __smashskel.f__()
program __smashskel.f__ |
( |
| ) |
|
Definition at line 37 of file smashSkel.f.
References cerrormsg(), copenf(), copenfw2(), cpupw(), distribute(), i, issuemsg(), kgetenv2(), klena(), ksplit(), maxp, memoforcpu(), movetrack(), n, sortbyerg(), and true.
◆ distribute()
Definition at line 205 of file smashSkel.f.
References cerrormsg(), cpupw(), erg, idx(), idxlocal(), kqsortd(), ksortinv(), sumergi(), and sumergw().
207 include
"../../SkelFlesh/Zprivate.h" 208 include
"Zprivate2.h" 222 idxlist(1,
i) =
idx(
i)
277 noncpu( k ) = noncpu( k ) + 1
278 if( noncpu( k ) .gt. maxptclpercpu )
then 280 *
'# of ptcls on a cpu', k,
' exceeded limit=',
283 call cerrormsg(
'Enlarge MaxPtclPerCpu in Zprivate2.h',0)
285 idxlist( noncpu(k), k ) =
idx(
j)
subroutine cerrormsg(msg, needrtn)
averg real * sumergi(MaxCPU)
averg real MaxCPU integer idx(Maxp)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
subroutine kqsortd(A, ORD, N)
subroutine ksortinv(idx, n)
averg real sumergw(MaxCPU)
averg real MaxCPU integer idxlocal(MaxCPU) integer numba(MaxCPU) integer ctc
averg real cpupw(MaxCPU) integer nOnCpu(MaxCPU) integer idxlist(MaxPtclPerCpu
◆ issuemsg()
Definition at line 319 of file smashSkel.f.
References cerrormsg(), cpupw(), and sumergi().
321 include
"../../SkelFlesh/Zprivate.h" 322 include
"Zprivate2.h" 327 msg =
' cpu# cpuPW Sum E # of ptcls' 331 write(msg,
'(i4, f7.1, g16.7, i9)')
subroutine cerrormsg(msg, needrtn)
averg real * sumergi(MaxCPU)
averg real cpupw(MaxCPU) integer nOnCpu(MaxCPU) integer idxlist(MaxPtclPerCpu
◆ memoforcpu()
Definition at line 293 of file smashSkel.f.
295 include
"../../SkelFlesh/Zprivate.h" 296 include
"Zprivate2.h" 307 write(basefn+1) oo(
j)
312 write(basefn+
i) noncpu(
i)
314 write(basefn+
i) ct( idxlist(
j,
i) )
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
◆ movetrack()
subroutine movetrack |
( |
type(child) |
f, |
|
|
type(track) |
t |
|
) |
| |
Definition at line 375 of file smashSkel.f.
References asflag, charge, code, colheight, cresetdirec(), depth, height, mass, p, r, radiallen, subcode, sys, wgt, and xyz.
378 include
"../../SkelFlesh/Zprivate.h" 379 include
"Zprivate2.h" 387 t.
p.fm.
p(1) =
f.fm(1)
388 t.
p.fm.
p(2) =
f.fm(2)
389 t.
p.fm.
p(3) =
f.fm(3)
390 t.
p.fm.
p(4) =
f.fm(4)
392 t.pos.
xyz.
r(1) = pp.posx
393 t.pos.
xyz.
r(2) = pp.posy
394 t.pos.
xyz.
r(3) = pp.posz
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos depth
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos colheight
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz r
latitude latitude this system is used *****************************************************************! type coord sequence union map real z z in m endmap xyz map real ! latitude in deg is to the north ! longitude in deg is to the east *h ! height in m endmap llh map real ! polar angle ! azimuthal angle *radius ! radial distance endmap sph endunion character *sys ! which system xyz
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz sys
subroutine cresetdirec(aTrack)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos *Zfirst Zfirst vec w *Zfirst vec w Zfirst vec *Zfirst Zfirst Zfirst asflag
*Zfirst p fm *Zfirst p Zfirst p code
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos height
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p charge
*Zfirst p fm *Zfirst p mass
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos *Zfirst Zfirst vec w *Zfirst vec w Zfirst vec *Zfirst wgt
*Zfirst p fm *Zfirst p Zfirst p Zfirst p subcode
dE dx *! Nuc Int sampling table f
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos radiallen
◆ sortbyerg()
Definition at line 341 of file smashSkel.f.
References cerrormsg(), erg, idx(), kqsortd(), ksortinv(), and p.
343 include
"../../SkelFlesh/Zprivate.h" 344 include
"Zprivate2.h" 351 averg = averg +
erg(
i)
358 averg = averg/ctc * ncpu
360 call cerrormsg(
'no need to flesh; no child',0)
362 if(
erg(
idx(ctc) ) .gt. averg*1.1 )
then 365 write(msg,*)
'WARGNING: max E=',
erg(
idx(
i)),
366 *
' is > average total energy for 1 cpu=',
subroutine cerrormsg(msg, needrtn)
averg real MaxCPU integer idx(Maxp)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
subroutine kqsortd(A, ORD, N)
subroutine ksortinv(idx, n)