section t of routines in hex.i

Home Manual Packages Global Index Keywords Quick Reference | # functions in hex.i - t
track_integ |
                 result= track_integ(nlist, transp, selfem, last)

         integrates a transport equation by doing the sums:
            transparency(i) = transparency(i-1) * TRANSP(i)
    	emissivity(i) = emissivity(i-1) * TRANSP(i) + SELFEM(i)
         returning only the final values transparency(n) and emissivity(n).
         The NLIST is a list of n values, so that many transport integrals
         can be performed simultaneously; sum(NLIST) = numberof(TRANSP) =
         numberof(SELFEM).  The result is 2-by-dimsof(NLIST).
         If TRANSP is nil, result is dimsof(NLIST) sums of SELFEM.
         If SELFEM is nil, result is dimsof(NLIST) products of TRANSP.
         TRANSP and SELFEM may by 2D to do multigroup integrations
         simultaneously.  By default, the group dimension is first, but
         if LAST is non-nil and non-zero, the group dimension is second.
         In either case, the result will be ngroup-by-2-by-dimsof(NLIST).
         track_solve is the higher-level interface.

    interpreted function, defined at i0/hex.i   line 290
SEE ALSO: | track_reduce, track_solve, track_solve
track_reduce |
                 nlist= track_reduce(c, s)
              or nlist= track_reduce(c, s, rays, slimits)

         compresses the C and S returns from the tracking routines (see
         hex5_track) to the following form:
           [cell1,cell2,cell3,..., cell1,cell2,cell3,..., ...]
           [s1-s0,s2-s1,s3-s2,..., s1-s0,s2-s1,s3-s2,..., ...]
         returning nlist as
           [#hits, #hits, ...]
         In this form, any negative #hits are combined with the preceding
         positive values, and #hits=1 (indicating a miss) appear as #hits=0
         in nlist.  Hence, nlist always has exactly Nrays elements.
         If RAYS is supplied, it is used to force the dimensions of the
         returned nlist to match the dimensions of RAYS (the value of RAYS
         is never used).  The RAYS argument need not have the trailing 2
         dimension, so if you specified RAYS as [P,Q] if the call to
         hex5_track, you can use just P or Q as the RAYS argument to
         track_reduce.
         If SLIMITS is supplied, it should be [smin,smax] or [smin,smax]-
         by-dimsof(nlist) in order to reject input S values outside the
         specified limits.  The C list will be culled appropriately, and
         the first and last returned ds values adjusted.
         With a non-zero flip= keyword, the order of the elements of
         C and S within each group of #hits is reversed, so that a
         subsequent track_solve will track the ray backwards.  If you
         use this, both the ray direction input to the tracking routine
         and any SLIMITS argument here should refer to the reverse of
         the ray you intend to track.

    interpreted function, defined at i0/hex.i   line 156
SEE ALSO: | hex5_track, c_adjust, track_solve, track_integ
track_solve |
                 result= track_solve(nlist, c, s, akap, ekap, last)

         integrates a transport equation for NLIST, C, and S returned
         by track_reduce (and optionally c_adjust).  The RAYS argument
         is used only to set the dimensions of the result.  AKAP and
         EKAP are mesh-sized arrays of opacity and emissivity, respectively.
         They may have an additional group dimension, as well.  The
         units of AKAP are 1/length (where length is the unit of S),
         while EKAP is (spectral) power per unit area (length^2), where
         the power is what ever units you want the result in.  The
         emission per unit volume of material is EKAP*AKAP; an optically
         thick block of material emits EKAP per unit surface.
         The NLIST is a list of n values, so that many transport integrals
         can be performed simultaneously; sum(NLIST) = numberof(AKAP) =
         numberof(EKAP).  The result is 2-by-dimsof(NLIST), where the
         first element of the first index is the transmission fraction
         through the entire ray path, and the second element of the
         result is the self-emission along the ray, which has the same
         units as EKAP.
         If EKAP is nil, result is dimsof(NLIST) -- exactly the same as
         the transparency (1st element of result) when both EKAP and AKAP
         are specified.
         If AKAP is nil, result is dimsof(NLIST).  In this case, EKAP
         must have units of emission per unit volume instead of per unit
         area; the result will be the sum of EKAP*S along each ray.
         AKAP and EKAP may by 2D to do multigroup integrations
         simultaneously.  By default, the group dimension is first, but
         if LAST is non-nil and non-zero, the group dimension is last.
         In either case, the result will be ngroup-by-2-by-dimsof(NLIST).
         To use in conjuction with hex5_track, one might do this:
            c= hex5_track(mesh, rays, s);
    	nlist= track_reduce(c, s, rays);
    	c_adjust, c, mesh;  // if necessary
    	result= track_solve(nlist, c, s, akap, ekap);

    interpreted function, defined at i0/hex.i   line 349
SEE ALSO: | track_reduce, hex5_track