FarfieldArray Object
Defines the antenna array pattern for a farfieldplot based on a single antenna element.
Reset
Resets all internal settings to their initial values.
UseArray ( bool bFlag )
Activates the array pattern for farfield calculation.
Arraytype ( enum type )
Sets the type of the array pattern.
type can have one of the following values:
”rectangular” |
A rectangular array pattern (linear: 1D, planar: 2D, cubic: 3D) can be defined by setting the corresponding antenna numbers together with the space and phaseshift information using the methods XSet, YSet, and ZSet. The resulting list is then calculated by SetList. The array setup uses automatically the unit cell geometry and phasing if unit cell or periodic boundaries are active. |
”edit” |
This mode offers the possibility to edit the current antennalist by adding single antenna elements to the list using the method Antenna. |
XSet ( int number, double spaceshift, double phaseshift )
YSet ( int number, double spaceshift, double phaseshift )
ZSet ( int number, double spaceshift, double phaseshift )
Defines a linear array pattern in the x,y or z-direction respectively. Thus a linear, planar or cubic antenna array structure may be created.
number |
The number of single antenna elements in x,y or z-direction |
spaceshift |
The constant spaceshift between two single antenna elements in x,y or z-direction |
phaseshift |
The constant phaseshift between two single antenna elements in x,y or z-direction |
SetList
Calculates a complete list of single antenna elements based on the specified array configuration and transfers these settings to the farfield plotter.
DeleteList
Deletes the current list of single antenna elements defining the array pattern.
Antenna ( double x, double y, double z, double amplitude, double phase )
Defines the properties of a single antenna element. This method is only applicable in the editing mode set by Arraytype.
x |
The x-position of the single antenna element in space |
y |
The y-position of the single antenna element in space |
z |
The z-position of the single antenna element in space |
amplitude |
The amplitude value of the single antenna element |
phase |
The phase value of the single antenna element |
AddAntennaItem ( filename sfile, double x, double y, double z, double alpha, double beta, double gamma, double A, double phase)
Loads an antenna farfield from sfile and adds it to the combine list.
AddAntennaItemA ( filename sfile, double x, double y, double z, double z1, double z2, double z3, double x1, double x2, double x3, double A, double phase)
The command is similar to AddAntennaItem, but the orientation is specified by the antenna frame z-axis and x-axis in global coordinates.
The following table summarizes the antenna parameters:
x, y, z |
Position of the antenna in space |
alpha, beta, gamma |
Orientation of the antenna in Euler-x angles |
z1, z2, z3 |
Antenna frame z-axis in global coordinate |
x1, x2, x3 |
Antenna frame x-axis in global coordinate |
A |
Amplitude of the antenna emission |
Phase |
Phase of the antenna emission |
ClearAntennaItems
Clears the antenna combine list.
SetNormalizeAntennas ( bool bflag )
Activates the normalization of all antennas to 1 W(peak) stimulated power before the execution of the combine command. The user specified amplitudes are applied to the scaled farfields.
SetCombineFrequency ( double frequency )
Sets the frequency of the combined antenna. All antennas in the combine list must have the same frequency, otherwise the consistent combination of the antennas is not possible.
SetCombineReferenceAxes ( double z1, double z2, double z3, double x1, double x2, double x3 )
Sets the theta reference axis (z1, z2, z3) and the phi reference axis (x1, x2, x3) of the combined antenna.
SetCombineReferenceOrigin ( double p1, double p2, double p3 )
Sets the phase reference origin (p1, p2, p3) of the combined antenna.
ExecuteCombine ( filename sfile, double stepInDegree )
Combines all antennas from the combine list to a single antenna. The new antenna data is sampled with stepInDegree and written to sfile. No further scaling is applied to the combined field.
GetCombinePowerRatio double
Returns the ratio of the actual emitted power to the integrated input power of all antennas from the combine list. A strong deviation from unity indicates a non-negligible interaction of the antennas.
UseArray (False)
Arraytype ("rectangular")
XSet (1, 0.0, 0.0)
YSet (1, 0.0, 0.0)
ZSet (1, 0.0, 0.0)
SetCombineFrequency (-1.0)
SetCombineReferenceAxes (0, 0, 1, 1, 0, 0)
SetCombineReferenceOrigin (0, 0, 0)
SetNormalizeAntennas (True)
The first example defines a linear antenna array:
With FarfieldArray
.Reset
.UseArray (True)
.Arraytype ("rectangular")
.ZSet (2, 2.5, 90)
.SetList
.Arraytype ("edit")
.Antenna (0, 0, 0, 1.0, 0.0)
End With
The second example combines two antennas with different orientation and position:
With FarfieldArray
ResultPath = GetProjectPath("Result") ' Assume that the farfield files are in the result folder
.ClearAntennaItems()
.SetCombineFrequency(100.0)
.AddAntennaItem(ResultPath + "farfield_1.ffp", 0.0, -1.0, 0.0, 0, 0, 30.0, 1.0, 90.0)
.AddAntennaItem(ResultPath + "farfield_2.ffp", 0.0, 1.0, 0.0, 0, -30, 0.0, 1.0, 0.0)
.ExecuteCombine(ResultPath + "combined_ff.ffp", 5.0) ' Store the combined antenna in the result folder
MsgBox "Actual Power / Power Sum = " & .GetCombinePowerRatio()
End With
The third example combines antennas to a finite-size array of unit cells with seven times seven elements:
With FarfieldArray
.SetCombineFrequency(100.0)
.SetNormalizeAntennas(False)
.SetUnitCellArray("farfield_1.ffp", 7, 7)
.ExecuteCombine("combined_ff.ffp", 5.0)
End With
The forth example sets the farfield origin:
NewOriginX = -100
NewOriginY = 300
NewOriginZ = 400
Frequency = 30.0
MonitorName = "farfield (f=30)"
With FarfieldArray
ResultPath = GetProjectPath("Result")
.ClearAntennaItems()
.SetCombineFrequency(Frequency)
.AddAntennaItemA(ResultPath + MonitorName + "2D_1.ffp", 0,0,0, 0,0,1,1,0,0, 1, 0)
.SetCombineReferenceOrigin ( NewOriginX, NewOriginY ,NewOriginZ )
.ExecuteCombine(ResultPath + "MovedOrigin.ffp", 1.0)
End With
' Add to result tree
With ResultTree
.Name "Farfields\MovedOrigin"
.File ResultPath + "MovedOrigin.ffp"
.Type "Farfield"
.Add
End With