Ansys Near Field Description File Format Specification

The purpose of the Ansys Near Field Description (AND) File is to facilitate the auto-generation of HFSS design for any Near Field Data the user may wish to use for an HFSS simulation. These Near Field Data files could be in a variety of different formats and files, so the AND Format was designed to be as flexible as possible to accommodate them.

Overview

Blocks are defined with opening ($begin 'block_name') and closing ($end 'block_name') block tags that contain either key/value pairs, or function/argument calls described below.

$begin 'BlockName'

key=value

func(arg1, arg2)

$end 'BlockName'

NearFieldHeader Block

Every AND File requires a NearFieldHeader block shown below. This header is used to provide information to HFSS about the Near Field Data that may not be present in the Data Files themselves. Depending on the Near Field Data Format, some of this information may be redundant and merely used for verification purposes.



Valid Dimension Units:

Standard SI and Imperial Length Units are supported in Geometry Dimensions including:

'nm', 'mm', 'meter', 'cm', 'ft', 'in', 'mil', 'uin'

Standard SI Frequency Units are supported in 'fsweep' including:

'Hz, 'kHz, 'MHz, 'GHz, 'THz

Supported 'format type':

Supported 'field type':

Supported 'primitive type':

Supported 'fcoords type':

The Coordinate System Type is optional and will default to the corresponding system for that primitive type

("spherical" for Spheres, "cylindrical" for Cylinders, "cartesian" for Box/Plane).

Example NearFieldHeader Blocks

Box

$begin 'NearFieldHeader'

type='nfd'

fcoords='cartesian'

fields='JM'

geometry='box'

center='0mm,0mm,0mm'

size='20mm,20mm,20mm'

fsweep='1GHz, 3GHz'

$end 'NearFieldHeader '

Sphere

$begin 'NearFieldHeader'

type='nfd'

fcoords='spherical'

fields='EH'

geometry='sphere'

center='0mm,0mm,0mm'

radius='150mm'

fsweep='1GHz, 3GHz'

$end 'NearFieldHeader'

Plane

$begin 'NearFieldHeader'

type='nfd'

fields='E'

geometry='plane'

center='0mm,0mm,0mm'

size='20mm,20mm'

normal='0,1,0'

fsweep='1GHz, 3GHz'

$end 'NearFieldHeader '

Cylinder

$begin 'NearFieldHeader'

type='nfd'

geometry='cylinder'

center='0mm,0mm,0mm'

axis='0,0,1'

radius='20mm'

height='258mm'

fsweep='1GHz, 3GHz'

$end 'NearFieldHeader'

NearFieldData Block

The NearFieldData Block is used to specify which external data files to use for which frequencies. External Near Field Data can be spread across multiple files and multiple frequencies. This block provides a means of organizing these data files.

To bind a single Near Field Data file to a particular frequency, use:

FreqData("1GHz", "path/to/data.nfd")

To split Near Field Data files (one contains E Fields, one contains H Fields), use:

FreqData("1GHz", "path/to/efields.nfd", "path/to/hfields.nfd")

To bind a default Near Field Data file to all frequencies not explicitly defined, use:

FreqData("0", "path/to/data.nfd")

Example NearFieldData Blocks

$begin 'NearFieldData'

FreqData("0", "exportfields.nfd")

$end 'NearFieldData'

$begin 'NearFieldData'

FreqData("1GHz", "exportfields.nfd")

FreqData("2GHz", "exportfields2.nfd")

FreqData("3GHz", "exportfields3.nfd")

FreqData("4GHz", "exportfields4.nfd")

FreqData("5GHz", "exportfields5.nfd")

$end 'NearFieldData'

 

$begin 'NearFieldData'

FreqData("0", "efields0.nfd", "hfields0.nfd")

FreqData("2GHz", "efields1.nfd", "hfields1.nfd")

FreqData("4GHz", "efields2.nfd", "hfields2.nfd")

$end 'NearFieldData'

Example .and Files

$begin 'NearFieldHeader'

type='nfd'

geometry='box'

center='0mm,0mm,0mm'

size='20mm,20mm,20mm'

fsweep='1GHz, 3GHz'

$end 'NearFieldHeader'

$begin 'NearFieldData'

FreqData("0", "exportfields.nfd")

$end 'NearFieldData'

 

$begin 'NearFieldHeader'

type='nfd'

fcoords='cartesian'

geometry='cylinder'

center='0mm,0mm,0mm'

axis='0,0,1'

radius='20mm'

height='258mm'

fsweep='1GHz, 2GHz, 3GHz, 4GHz, 5GHz'

$end 'NearFieldHeader'

$begin 'NearFieldData'

FreqData("1GHz", "exportfields.nfd")

FreqData("2GHz", "exportfields2.nfd")

FreqData("3GHz", "exportfields3.nfd")

FreqData("4GHz", "exportfields4.nfd")

FreqData("5GHz", "exportfields5.nfd")

$end 'NearFieldData'

 

$begin 'NearFieldHeader'

type='nfd'

fcoords='cartesian'

geometry='plane'

center='0mm,0mm,0mm'

normal='0,1,0'

size="100mm,100mm"

fsweep='1GHz, 2GHz, 3GHz, 4GHz'

$end 'NearFieldHeader'

$begin 'NearFieldData'

FreqData("0", "efields0.nfd", "hfields0.nfd")

FreqData("2GHz", "efields1.nfd", "hfields1.nfd")

FreqData("4GHz", "efields2.nfd", "hfields2.nfd")

$end 'NearFieldData'