Index of Single Element in a DataSet

This type of scheme is used when fine control is required when accessing a DataSet. It is also the most intuitive method of accessing the elements.

Each axis in a DataSet contains a set number of values. By specifying the index of each value on an axis, the values can be accessed.
nearField[1][1][1][1].EFieldComp1 = nearField[1][1][1][1].EFieldComp1 * 2

The previous command multiplies the value E x at the first frequency, at the first indexed point in space. By iterating through all of the axes, it is possible to selectively modify specific values based on the index of the axes. In the following example, all fields further than 0.15 m from the Z axis is set to 0. Save the script as modNF_indiv.lua for use in future examples.

-- Create the near field dataset
nf = pf.NearField.GetDataSet("Horn.StandardConfiguration1.NearField1")

for freq = 1, #nf.Axes[1] do 
  for xPos = 1, #nf.Axes[2] do 
    for yPos = 1, #nf.Axes[3] do 
      for zPos = 1, #nf.Axes[4] do 
        if ( math.sqrt(nf.Axes[2][xPos]^2 + nf.Axes[3][yPos]^2) >= 0.15 ) then 
          nfPoint = nf[freq][xPos][yPos][zPos];
          nfPoint.EFieldComp1 = 0 + 0*i
          nfPoint.EFieldComp2 = 0 + 0*i
          nfPoint.EFieldComp3 = 0 + 0*i
          nfPoint.HFieldComp1 = 0 + 0*i
          nfPoint.HFieldComp2 = 0 + 0*i
          nfPoint.HFieldComp3 = 0 + 0*i
        end 
      end 
    end 
  end
end
return nf