LCX File Format Definition

Revision 1.1, updated 31 Dec 1997

Table Of Contents

1 Introduction

The LCX file format is a text file format that describes an LC model. It is both written and read as a native model file format by LC.

The file is structured as a sequential collection of segments, and each segment is composed of a set of records. Different segment types are used to store different types of model data. Generally only one segment of a particular type is present in a file, but it's also possible to have duplication.

In the case of the duplication of a list segment (see below for the a description of the types of segments), the lists are concatenated when read. Duplicated parameter segments are combined when read to create a single set of parameters, with identical parameters listed later in the file overwriting parameters given earlier. The header segment should not be duplicated.

The segments, as well as the records within the segments, are usually present in the order described in this document.

For the curious, the term "LCX" comes from "LC export file format". The original file format used by LC was a binary format which was not easily transported between computer architectures. This format was known as the "LC model file" format. The export format was developed to facilitate the interchange of LC models between computer architectures. It is now the default file format for LC, and the binary file format is deprecated.

The file suffix for LCX format files is ".lcx". The MIME type is "application/x-lc".

1.1 Header Segment

The header segment is a type of parameter segment. It is always present as the first segment of any file. Its parameters describe and document to the file itself.

1.2 List Segments

Some segment types contain a list of similar items. These list segments may be omitted if there are no items to be listed. A list may contain an arbitrary number of items, and therefore list segments are varible size.

1.3 Parameter Segments

Another type of segment, a parameter segment, contains parameters for a specific purpose which apply to the model as a whole. If a parameter segment is missing from a file, then default values are assumed.

1.4 Record Format

Each record in the file is an ASCII-coded text line which starts with a keyword and may be followed by a parameter.

Most parameters are of one of the three simple types: a text string, an decimal integer number, or a decimal floating point value expressed in scientific notation. A few parameters are structured into several fields; these special parameter formats are described later in this document.

Many of the integer parameters represent enumerated types. Each unique value, usually starting with 0 and numbered sequentially, corresponds to a particular subclass. A list of the allowed values for the enumated types and their meanings is given in the Enumerations section of this document.

1.5 The end Keyword

The end keyword without a parameter is used to terminate a segment. The end keyword with a parameter is used to terminate an item in a list of items. The parameter is a keyword itself, and identifies the type of item being terminated.

1.6 Unrecognized Keywords

New keywords can be added to the file format, or old ones removed, without requiring the version number of the file format to change. Programs processing an LCX file usually don't regard missing or extra information as a fatal error. This convention provides for some level of upward compatibility (new software reading files written by old software) and downward compatibility (old software reading files written by new software).

2 File Segments

The file is divided into segments, each containing data relevant to a specific purpose. Each segment is introduced by a unique keyword.

The file header segment must be the first in the file. The other segments may come in any order. For the list segments, omission indicates that there are no items in the list. For parameter segments, omission indicates that the default parameters should be used.

Segment Type Keyword Usage
File header LCX Mandatory
Material list materials Optional
Block list blocks Optional
Dialog list dialogs Optional
Pulse list pulses Optional
Sweep list sweeps Optional
Calculation list calculations Optional
Multiport list multiports Optional
Plane Wave Source list planes Optional
Model parameters model_parameters Optional
Mesh parameters mesh_parameters Optional
Plot parameters plot_parameters Optional
Sequence parameters seq_parameters Optional
Far field parameters far_parameters Optional

2.1 File Header Segment

The file header segment serves to identify the LCX file type and provide some information about its origin.

Although the header segment itself is required, all of the records except the first (LCX) and last (end) are optional. The records in the header are for informational purposes, and do not effect the simulation of the model.

Definition

Keyword Parameter Description
LCX none Every LCX file starts with a line containing the string "LCX" followed by a newline character.
model_name string The filename of the model.
magic_number integer The LC magic number. The magic number is 1279459328.
version_number integer The version number of this file format. The current version number is 1.
architecture integer The architecture number of the computer that wrote this file.
creator_name string The name of the user that first saved this model.
creation_time integer The time the model was first saved, expressed as the number of seconds since midnight, January 1, 1970.
modifier_name string The name of the user that last saved this model.
modification_time integer The time the file was last saved, expressed as the number of seconds since midnight, January 1, 1970.
end none Keyword marking the end of the segment.

Example

LCX
model_name lhole.lcx
magic_number 1279459328
version_number 1
architecture 2
creator_name
creation_time 780093601
modifier_name kjt
modification_time 878772849
end

2.2 Material List Segment

The material list segment provides a list of the materials which are defined in the model. Each geometry block of the model are be composed of one of the materials defined in the material list segment.

Definition

Keyword Parameter Description
materials none Starting keyword for the segment.
end none Keyword marking the end of the segment.

A list of any number of material definitions can appear between the materials and end records. Each list item has the follow format.

Keyword Parameter Description
name string Name of the material.
permittivity real Relative electric permittivity of the material.
conductivity real Electric conductivity of the material.
permeability real Relative magnetic permeability of the material.
color integer The default color number of the material.
end "material" Keyword marking the end of the item.

Example

materials
name air
permittivity   1.0000e+00
conductivity   0.0000e+00
permeability   1.0000e+00
color 19
end material
name metal
permittivity   1.0000e+00
conductivity   3.2700e+07
permeability   1.0000e+00
color 13
end material
end

2.3 Block List Segment

The block list segment contains the blocks of geometry which defines the material composition of the model space, plus block definitions for source excitation, loads, and probes to monitor and record the simulation results.

Since the block list segment contains a heterogeneous list of block types, it is the most complexly formatted segment. There is a set of parameters which are common to all blocks, defined in the Common Block Keywords section. Every block in the list begins with this common set of parameters, but is extended with specialized parameters for the specific block type.

A list of any number of block definitions can appear between the blocks and end records. Each list item begins with a block_type record, which defines the type of the block, and ends with a end block_type record.

Definition

Keyword Parameter Description
blocks none Starting keyword for the segment.
end none Keyword marking the end of the segment.

Example

blocks
block_type 1
id 1
name grid
color 19
fill_pattern 7
visible 1
min   0.000000e+00  -7.000000e+00  -4.000000e+00
max   5.000000e+01   2.300000e+01   1.200000e+01
material air
shape 1
axis 0
end geometry
end

2.3.1 Common Block Keywords

Each block definition begins with a set of parameters which are common to all types of blocks.

Keyword Parameter Description
block_type integer Block data type. This value identifies the specific type of this block, and therefore indicates the possible keywords for this item.
id integer A sequential number assigned to the block. The first block in the list is block 1.
name string Name of the block.
color integer The color number of the block.
fill_pattern integer The fill pattern number of the block. This pattern defines the block's visual transparency.
visible integer A non-zero value indicates that the block is visible.
min coordinate A list of three floating point values which define the minimum coordinate of the block bounding box.
max coordinate A list of three floating point values which define the maximum coordinate of the block bounding box.
end string Keyword marking the end of the item. The value of the string identifies the type of block.

2.3.2 Geometry Block Keywords

Geometry blocks define the material parameters of within the model space. During a simulation, these blocks are broken down into cells, and each cell takes on the material parameters of its parent block.

Blocks may overlap in space, and the assignment of the cell material parameters is set by a block priority. Blocks given early in the list are overwritten by the blocks given later in the list. Thus, the first blocks in the list has the lowest priority, and the last block has the highest priority.

Keyword Parameter Description
block_type integer The geometry block data type (1).
material string Name of the material of the block.
shape integer The shape of the geometry block.
axis integer The alignment axis of the block (used for the cylinder shape only).
end "geometry" Keyword marking the end of the item.

Example

block_type 1
id 1
name grid
color 19
fill_pattern 7
visible 1
min   0.000000e+00  -7.000000e+00  -4.000000e+00
max   5.000000e+01   2.300000e+01   1.200000e+01
material air
shape 1
axis 0
end geometry

2.3.3 Load Block Keywords

Load blocks create simple single port loads within the model space. FDTD loads are coded using special field updates within the load region. SPICE loads are implemented by executing the SPICE circuit simulation program during the electromagnetic simulation.

More complex loads can be created using port blocks along with multiport loads.

Keyword Parameter Description
block_type integer The load block data type (2).
load_type integer The load type of the block.
orientation string The alignment direction of the block.
resistance real The resistance of the FDTD load. Not used for SPICE loads.
capacitance real Unused, but reserved for future use in FDTD loads.
inductance real Unused, but reserved for future use in FDTD loads.
conductance real Unused, but reserved for future use in FDTD loads.
spice_file string The file name path of the SPICE circuit file for a SPICE load.
spice_node string The SPICE node number for a SPICE load. The load is assumed to be connected between ground (node 0) and this node.
end "load" Keyword marking the end of the item.

Example

block_type 2
id 11
name term
color 4
fill_pattern 0
visible 1
min   9.500000e+01   1.000000e+01   1.000000e+00
max   9.500000e+01   1.000000e+01   2.000000e+00
load_type 1
orientation 3
resistance   0.0000e+00
capacitance   0.0000e+00
inductance   0.0000e+00
conductance   0.0000e+00
spice_file r50.sp
spice_node 1
end load

2.3.4 Probe Block Keywords

Probe blocks monitor the electromagnetic field values during a simulation. The results can be displayed or saved for later analysis.

Probes come in a variety of forms, and not all of the probe block keywords apply to all of the forms. It is customary, but not required, that all of the records are present for each probe block, even if it has no meaning for the probe form. Default parameter values are specified for these extra records.

Keyword Parameter Description
block_type integer The probe block data type (3).
output_type integer The probe output type of the probe.
component integer The component type of the vector field output. Applicable for electric or magnetic field intensity, current density, or power density output types.
direction integer The direction of the voltage, current, or magnetic flux output.
value_type integer The value type of the probe.
form_type integer The form type of the probe.
orientation string The alignment direction for a line or plane probe.
show_output integer If non-zero, then the probe output is displayed as the simulation runs.
save_output integer If non-zero, then the probe output is saved to a file or set of files as the simulation runs.
filename string The output file name, or output file name pattern.
time_factor integer The number of time steps to run the simulation before calculating a new probe value. The default value of 0 indicates that the probe should be calculated for every time step.
space_factor integer The increment used during a probe output of a line, plane, or surface probe. The default value of 0 indicates that every cell should be used.
magnitude integer If non-zero, then the absolute value of the output is calculated.
range_min real The minimum value of the probe to be displayed. For point and line probes, this is the Y-axis minimum value. For plane and surface probes, this is the value assigned to the color blue. The default if range_min = range_max is to auto-scale to the current minimum and maximum probe value each time the probe display is updated.
range_max real The maximum value of the probe to be displayed. For point and line probes, this is the Y-axis maximum value. For plane and surface probes, this is the value assigned to the color red.
range_noise real Probe values whose magnitude is lower than the range noise are discarded from the color shading algorithm, and are displayed with the color black.
dialog_x integer The X coordinate on the screen of the X-Y graph dialog for the probe. This value places the graph on the screen. It is only significant for point and line probes.
dialog_y integer The Y coordinate on the screen of the X-Y graph dialog for the probe. This value places the graph on the screen. It is only significant for point and line probes.
dialog_w integer The preferred width of the X-Y graph dialog for the probe. It is only significant for point and line probes.
dialog_h integer The preferred height of the X-Y graph dialog for the probe. It is only significant for point and line probes.
plane_format integer The output format for a plane probe.
image_scale integer The scale factor for the plane probe output image. The default value of 1 saves one pixel for each grid point of the probe.
end "probe" Keyword marking the end of the item.

Example

block_type 3
id 7
name VOLTAGE(SOLID)
color 26
fill_pattern 0
visible 1
min   1.000000e+01   8.000000e+00   1.000000e+00
max   1.000000e+01   8.000000e+00   2.000000e+00
output_type 5
component 3
direction 3
value_type 1
form_type 1
orientation 0
show_output 0
save_output 1
filename gnd_v.xy
time_factor 0
space_factor 0
magnitude 0
range_min   0.0000e+00
range_max   0.0000e+00
range_noise   0.0000e+00
dialog_x 0
dialog_y 0
dialog_w 0
dialog_h 0
plane_format 1
image_scale 1
end probe

2.3.5 Source Block Keywords

Source blocks provide excitation for the model during the simulation.

Sources take on a new value for each time step of the simulation (the value of the source waveform), and in this way are similar to point probes. Sources have many of the same output parameters as point probes; sources can be displayed in graphical form, and saved to a file for later analysis.

Keyword Parameter Description
block_type integer The source block data type (4).
waveform integer The source waveform type.
excitation integer The source excitation type.
direction integer The direction of the voltage or current source.
peak_value real The maximum value of the source waveform.
center_frequency real The modulation frequency of the modulated gaussian pulse.
high_frequency real The high frequency at which the modulated gaussian pulse falls to 1/e of its peak value.
sin_frequency real The frequency of the sinusoidal source waveform.
rise_time real The rise time of the gaussian or ramp pulse.
duration real The duration of the peak value of the pulse.
fall_time real The fall time of the gaussian or ramp pulse. If zero, then the fall time is assumed to be the same as the rise time.
in_file string The input filename for a user-defined source waveform.
show_output integer If non-zero, then the source value is displayed as the simulation runs.
save_output integer If non-zero, then the source value is saved to a file or set of files as the simulation runs.
out_file string The output file name.
start_time real The starting time of the pulse, or the spacing between pulses of a pulse train.
resistance real The resistance of the source. The default resistance of a hard source is 0 while the source is active.
range_min real The Y-axis minimum value of the source to be displayed. The default if range_min = range_max is to auto-scale to the current minimum and maximum source value.
range_max real The Y-axis maximum value of the source to be displayed. The default if range_min = range_max is to auto-scale to the current minimum and maximum source value.
range_noise real Unused, but reserved for future use.
dialog_x integer The X coordinate on the screen of the X-Y graph dialog for the source. This value places the graph on the screen.
dialog_y integer The Y coordinate on the screen of the X-Y graph dialog for the source. This value places the graph on the screen.
dialog_w integer The preferred width of the X-Y graph dialog for the source.
dialog_h integer The preferred height of the X-Y graph dialog for the source.
pulse_train integer If non-zero, then repeat this source continuously.
hard_source integer If non-zero, then the source is a hard source.
trunc_source integer If non-zero, then the source is a truncated source.
end "source" Keyword marking the end of the item.

Example

block_type 4
id 5
name CURRENT(SOURCE)
color 36
fill_pattern 0
visible 1
min   0.000000e+00   4.000000e+00   2.000000e+00
max   2.000000e+00   1.200000e+01   3.000000e+00
waveform 1
excitation 2
direction 1
peak_value   1.0000e+00
center_frequency   0.0000e+00
high_frequency   0.0000e+00
sin_frequency   0.0000e+00
rise_time   2.0000e-09
duration   0.0000e+00
fall_time   0.0000e+00
in_file 
show_output 0
save_output 0
out_file 
start_time   0.0000e+00
resistance   0.0000e+00
range_min   0.0000e+00
range_max   0.0000e+00
range_noise   0.0000e+00
dialog_x 0
dialog_y 0
dialog_w 0
dialog_h 0
pulse_train 0
hard_source 1
end source

2.3.6 Port Block Keywords

Port blocks define a region in which a
multiport load interacts with the simulation. Each port is connected to a node within the SPICE circuit of the multiport load. Thus, an arbitrarily complex interconnection between a SPICE circuit and the electromagnetic simulation can be defined.

Keyword Parameter Description
block_type integer The port block data type (5).
port_type integer The port type of the block.
orientation string The alignment direction for a line or plane probe.
multiport_name string The name of the multiport load for this port.
circuit_node string The SPICE circuit node for this port.
end "port" Keyword marking the end of the item.

Example

block_type 5
id 9
name p1
color 5
fill_pattern 0
visible 1
min   4.500000e+01   8.000000e+00   1.000000e+00
max   4.500000e+01   1.200000e+01   2.000000e+00
port_type 1
orientation 3
multiport_name load1
circuit_node 1
end port

2.4 Dialog List Segment

The purpose of the dialog list segment is to save the user's preferred layout of the dialogs on the display. When a dialog is displayed, this list is examined to see if the user has saved a preferred dialog layout. If so, then that layout is used. If none is defined, then the default layout is used.

The dialog list segment is used only to create an easy to use user interface for LC, and thus has no effect on the simulation results.

Definition

Keyword Parameter Description
dialogs none Starting keyword for the segment.
end none Keyword marking the end of the segment.

A list of any number of dialog definitions can appear between the dialogs and end records. Each list item has the follow format.

Keyword Parameter Description
name string Name of the dialog.
x integer The X coordinate on the screen of the dialog. This value places the dialog on the screen.
y integer The Y coordinate on the screen of the dialog. This value places the dialog on the screen.
width integer The preferred width of the dialog.
height integer The preferred height of the dialog.
view_position integer The viewing direction of the viewport.
center_x integer The X coordinate of the center of the viewport.
center_y integer The Y coordinate of the center of the viewport.
center_z integer The Z coordinate of the center of the viewport.
zoom_factor integer The zoom factor for the viewport.
h_angle integer The view rotation angle for the horizontal axis for the viewport.
v_angle integer The view rotation angle for the vertical axis for the viewport.
d_angle integer The view rotation angle for the depth axis for the viewport.
d_min integer The minimum depth clip limit for the viewport.
d_max integer The minimum depth clip limit for the viewport.
end "dialog" Keyword marking the end of the item.

Example

name viewport
x 269
y 435
width 540
height 500
view_position 3
center_x   2.5000e+01
center_y   8.0000e+00
center_z   4.0000e+00
zoom_factor   1.0000e+00
h_angle   0.0000e+00
v_angle   0.0000e+00
d_angle   0.0000e+00
d_min  -4.0000e+00
d_max   1.2000e+01
end dialog

2.5 Pulse List Segment

Pulses given in the pulse list segment define a grouping of probes which may be windowed in time. This mapping provides an easy conversion from raw probe values into circuit parameters such as inductance and capacitance. It also provides the information required to convert the time domain probe results into the frequency domain.

The pulses are used only as a post-processing feature, and thus do not effect the simulation result directly.

Definition

Keyword Parameter Description
pulses none Starting keyword for the segment.
end none Keyword marking the end of the segment.

A list of any number of pulse definitions can appear between the pulses and end records. Each list item has the follow format.

Keyword Parameter Description
name string Name of the pulse.
voltage_probe_name string The name of the voltage probe for the pulse.
current_probe_name string The name of the current probe for the pulse.
charge_probe_name string The name of the charge probe for the pulse.
mflux_probe_name string The name of the magnetic flux probe for the pulse.
start_time_step integer The starting time step of the pulse.
end_time_step integer The ending time step of the pulse.
end "pulse" Keyword marking the end of the item.

Example

pulses
name PULSE(SOLID)
voltage_probe_name VOLTAGE(SOLID)
current_probe_name CURRENT(SOLID)
charge_probe_name CHARGE(SOLID)
mflux_probe_name MFLUX(SOLID)
start_time_step 500
end_time_step 1900
end pulse
end

2.6 Sweep List Segment

Sweeps record simulation results like probe blocks, but do not have a model region associated with them, like probe blocks. Sweeps are conceptually in the far field region, an arbitrarily large distance from the model. Sweeps use an on-the-fly discrete fourier transform to record the results in the frequency domain.

Definition

Keyword Parameter Description
sweeps none Starting keyword for the segment.
end none Keyword marking the end of the segment.

A list of any number of sweep definitions can appear between the sweeps and end records. Each list item has the follow format.

Keyword Parameter Description
name string Name of the sweep.
sweep1 integer The X-axis sweep type.
sweep2 integer The second sweep type.
sweep3 integer The third sweep type.
theta_start real Starting angle of the theta sweep.
theta_end real Ending angle of the theta sweep.
theta_inc real Increment for the theta sweep.
phi_start real Starting angle of the phi sweep.
phi_end real Ending angle of the phi sweep.
phi_inc real Increment for the phi sweep.
freq_start real Starting frequency of the frequency sweep.
freq_end real Ending frequency of the frequency sweep.
freq_inc real Increment for the frequency sweep.
filename string Output filename for the sweep.
enable integer A list of six integer grid face enable flags in the order: +X +Y +Z -X -Y -Z.
db integer If non-zero, write the sweep data in decibels.
end "sweep" Keyword marking the end of the item.

Example

sweeps
name dipole
sweep1 1
sweep2 2
sweep3 0
theta_start   0.0000e+00
theta_end   9.0000e+01
theta_inc   2.0000e+00
phi_start   0.0000e+00
phi_end   1.8000e+02
phi_inc   1.0000e+01
freq_start   3.0000e+10
freq_end   3.0000e+10
freq_inc   0.0000e+00
filename dipole.swp
end sweep
end

2.7 Calculation List Segment

Calculations can combine probe results with algebraic operators. The result of a calculation is similar to a probe, and thus many of the calculation parameters are identical to the probe parameters.

Definition

Keyword Parameter Description
calculations none Starting keyword for the segment.
end none Keyword marking the end of the segment.

A list of any number of calculation definitions can appear between the calculations and end records. Each list item has the follow format.

Keyword Parameter Description
name string Name of the calculation.
output_type integer The probe output type of the calculation. This value is set by LC internally, and is not a user-accessible parameter. It is specified in the file for informational purposes only.
form_type integer The form type of the calculation. This value is set by LC internally, and is not a user-accessible parameter. It is specified in the file for informational purposes only.
show_output integer If non-zero, then the calculation output is displayed as the simulation runs.
save_output integer If non-zero, then the calculation output is saved to a file or set of files as the simulation runs.
filename string The output file name, or output file name pattern.
time_factor integer The number of time steps to run the simulation before calculating a new value. The default value of 0 indicates that the calculation should be done for every time step.
space_factor integer The increment used during a output of a line, plane, or surface calculation. The default value of 0 indicates that every cell should be used.
range_min real The minimum value to be displayed. For point and line calculations, this is the Y-axis minimum value. For plane and surface calculations, this is the value assigned to the color blue. The default if range_min = range_max is to auto-scale to the current minimum and maximum value each time the calculation display is updated.
range_max real The maximum value to be displayed. For point and line calculations, this is the Y-axis maximum value. For plane and surface calculations, this is the value assigned to the color red.
range_noise real Probe values whose magnitude is lower than the range noise are discarded from the color shading algorithm, and are displayed with the color black.
dialog_x integer The X coordinate on the screen of the X-Y graph dialog for the calculation. This value places the graph on the screen. It is only significant for point and line calculations.
dialog_y integer The Y coordinate on the screen of the X-Y graph dialog for the calculation. This value places the graph on the screen. It is only significant for point and line calculations.
dialog_w integer The preferred width of the X-Y graph dialog for the calculation. It is only significant for point and line calculations.
dialog_h integer The preferred height of the X-Y graph dialog for the calculation. It is only significant for point and line calculations.
plane_format integer The output format for a plane calculation.
image_scale integer The scale factor for the plane calculation output image. The default value of 1 saves one pixel for each grid point of the calculation.
end "calculation" Keyword marking the end of the item.

Example

calculations
name MFLUX(SLOTTED)
equation MFLUX(TOP) + MFLUX(SIDE)
output_type 8
form_type 1
show_output 0
save_output 1
filename slot_f.xy
time_factor 0
space_factor 0
range_min   0.0000e+00
range_max   0.0000e+00
range_noise   0.0000e+00
dialog_x 0
dialog_y 0
dialog_w 0
dialog_h 0
plane_format 1
image_scale 1
end calc
end

2.8 Multiport List Segment

Multiport loads connect an electromagnetic simulation to a SPICE circuit. Any number of nodes of the SPICE circuit can be patched into arbitrary regions of the model space by associating
port blocks with the multiport load.

Definition

Keyword Parameter Description
multiports none Starting keyword for the segment.
end none Keyword marking the end of the segment.

A list of any number of multiport definitions can appear between the multiports and end records. Each list item has the follow format.

Keyword Parameter Description
name string Name of the multiport.
spice_file string The filename of the SPICE circuit.
end "multiport" Keyword marking the end of the item.

Example

multiports
name load1
spice_file lc.sp
end multiport
end

2.9 Plane Wave Source List Segment

Definition

Keyword Parameter Description
planes none Starting keyword for the segment.
end none Keyword marking the end of the segment.

A list of any number of plane wave source definitions can appear between the planes and end records. Each list item has the follow format.

Keyword Parameter Description
name string Name of the plane wave source.
phi real Plane wave Phi angle direction, in degrees.
theta real Plane wave Theta angle direction, in degrees.
psi real Plane wave polarization. Either 0 (horizontal) or 90 (vertical).
waveform integer The source waveform type.
peak_value real The maximum value of the source waveform.
center_frequency real The modulation frequency of the modulated gaussian pulse.
high_frequency real The high frequency at which the modulated gaussian pulse falls to 1/e of its peak value.
sin_frequency real The frequency of the sinusoidal source waveform.
rise_time real The rise time of the gaussian or ramp pulse.
duration real The duration of the peak value of the pulse.
fall_time real The fall time of the gaussian or ramp pulse. If zero, then the fall time is assumed to be the same as the rise time.
in_file string The input filename for a user-defined source waveform.
show_output integer If non-zero, then the source value is displayed as the simulation runs.
save_output integer If non-zero, then the source value is saved to a file or set of files as the simulation runs.
out_file string The output file name.
start_time real The starting time of the pulse, or the spacing between pulses of a pulse train.
range_min real The Y-axis minimum value of the source to be displayed. The default if range_min = range_max is to auto-scale to the current minimum and maximum source value.
range_max real The Y-axis maximum value of the source to be displayed. The default if range_min = range_max is to auto-scale to the current minimum and maximum source value.
dialog_x integer The X coordinate on the screen of the X-Y graph dialog for the source. This value places the graph on the screen.
dialog_y integer The Y coordinate on the screen of the X-Y graph dialog for the source. This value places the graph on the screen.
dialog_w integer The preferred width of the X-Y graph dialog for the source.
dialog_h integer The preferred height of the X-Y graph dialog for the source.
pulse_train integer If non-zero, then repeat this source continuously.
hard_source integer If non-zero, then the source is a hard source.
end "plane" Keyword marking the end of the item.

Example

planes
name pw
phi 9.0000e+01
theta 9.0000e+01
psi 0.0000e+00
waveform 4
direction 1
peak_value   1.0000e+00
center_frequency   0.0000e+00
high_frequency   0.0000e+00
sin_frequency   2.0000e+10
rise_time   2.0000e-09
duration   0.0000e+00
fall_time   0.0000e+00
in_file 
show_output 0
save_output 0
out_file 
start_time   0.0000e+00
range_min   0.0000e+00
range_max   0.0000e+00
dialog_x 0
dialog_y 0
dialog_w 0
dialog_h 0
pulse_train 0
hard_source 1
end plane
end

2.9 Model Parameters Segment

The model parameters are values which affect the overall model interpretation.

Definition

Keyword Parameter Description
model_parameters none Starting keyword for the segment.
minor_grid_spacing real The spacing between the minor grid points in the viewport. Blocks are automatically snapped to this grid when created. This is the default value for the mesh cell width.
major_grid_factor integer The spacing factor between major grid points overlaid on the minor grid in the viewport.
measurement_units integer The measurement units of the model.
end none Keyword marking the end of the segment.

Example

model_parameters
minor_grid_spacing   1.0000e+00
major_grid_factor 10
measurement_units 1
end

2.10 Mesh Parameters Segment

The mesh parameters affect the overall model simulation.

Definition

Keyword Parameter Description
mesh_parameters none Starting keyword for the segment.
cell_width real The size of an FD-TD cell in the simulation. If set to 0, then the minimum grid spacing model paramter is used.
default_material string The name of a material to use as a default. If not set, then the first material in the materials list is used.
output_directory string The directory name for probe and source output files.
right_wall integer The boundary condition for the right (+X) face of the simulation domain.
back_wall integer The boundary condition for the back (+Y) face of the simulation domain.
top_wall integer The boundary condition for the top (+Z) face of the simulation domain.
left_wall integer The boundary condition for the left (-X) face of the simulation domain.
front_wall integer The boundary condition for the front (-Y) face of the simulation domain.
bottom_wall integer The boundary condition for the bottom (-Z) face of the simulation domain.
rbc_type integer The absorbing boundary condition used to truncate the simulation domain.
pml_thickness integer The thickness in number of cells of the PML region.
pml_order real The order of the absorbing coefficients.
pml_tolerance real The maximum reflection from the outer boundary of the PML region.
end none Keyword marking the end of the segment.

Example

mesh_parameters
cell_width   1.0000e+00
default_material 
right_wall 0
back_wall 0
top_wall 0
left_wall 0
front_wall 0
bottom_wall 0
rbc_type 1
pml_thickness 4
pml_order 2
pml_tolerance   1.0000e-05
end

2.11 Plot Parameters Segment

The plot parameters establish default values for the evaluation of pulses during post-processing.

Definition

Keyword Parameter Description
plot_parameters none Starting keyword for the segment.
maximum_frequency real The maximum frequency of the frequency domain plots created by the Plot Pulses dialog.
frequency_count integer The number of points in the frequency domain plots created by the Plot Pulses dialog.
end none Keyword marking the end of the segment.

Example

plot_parameters
maximum_frequency   0.0000e+00
frequency_count 0
end

2.12 Sequence Parameters Segment

Sequence numbers are used as a quick look up for automatically naming blocks. These values are used as an aid during automatic block naming, but are not required by the naming algorithm within LC.

Definition

Keyword Parameter Description
seq_parameters none Starting keyword for the segment.
geometry_number integer The last sequence number for geometry block names.
probe_number integer The last sequence number for probe block names.
source_number integer The last sequence number for source block names.
load_number integer The last sequence number for load block names.
port_number integer The last sequence number for port block names.
material_number integer The last sequence number for material names.
pulse_number integer The last sequence number for pulse names.
multiport_number integer The last sequence number for multiport load names.
calculation_number integer The last sequence number for probe calculation names.
sweep_number integer The last sequence number for far field sweep names.
end none Keyword marking the end of the segment.

Example

seq_parameters
geometry_number 0
probe_number 0
source_number 0
load_number 0
port_number 0
material_number 0
pulse_number 2
multiport_number 0
calculation_number 2
sweep_number 0
end

2.13 Far Field Parameters Segment

The far field parameters define a set of frequencies of interest. Far field data is accumulated for these frequencies during a simulation run.

Definition

Keyword Parameter Description
far_parameters none Starting keyword for the segment.
minimum_frequency real The minimum far field frequency of interest.
maximum_frequency real The maximum far field frequency of interest.
frequency_count real The number of frequencies between the minimum and maximum to be saved.
output_file string The output file name for the total radiated power plot. If no file is given, then no plot is created.
norm_source string The name of the source block to be used when normalizing the far field results. If no source is given, then the results are not normalized.
end none Keyword marking the end of the segment.

Example

far_parameters
minimum_frequency   0.0000e+00
maximum_frequency   0.0000e+00
frequency_count 0
output_file 
norm_source 
end

3 Enumerations

Enumerations define a mapping from symbolic names into integer values. The symbolic names are descriptive, and are used in the program source as well as the documentation. The integer values are stored in the LCX file, rather than the symbolic names.

3.1 Axis Types

Axis types defines an alignment of a block with a coordinate axis or plane. Unlike a direction type, it defines only the alignment, not the polarity of the block.

Name Value Description
undefined_axis -1Undefined or default value.
X0Aligned with X-axis or lies in X-plane.
Y1Aligned with Y-axis or lies in Y-plane.
Z2Aligned with Z-axis or lies in Z-plane.

3.2 Field Component Types

When a probe has a vector field output type, a particular field component type is also selected.

Name Value Description
undefined_component 0Undefined or default value.
x_component 1X vector component.
y_component 2Y vector component.
z_component 3Z vector component.
magnitude 4Magnitude of the vector.

3.3 Direction Types

Direction types define an alignment of a block with a coordinate axis as well as a polarity, or orientation.

Name Value Description
undefined_direction 0 Undefined or default value.
positive_x 1 Pointing in the direction of the positive X axis.
positive_y 2 Pointing in the direction of the positive Y axis.
positive_z 3 Pointing in the direction of the positive Z axis.
negative_x 4 Pointing in the direction of the negative X axis.
negative_y 5 Pointing in the direction of the negative Y axis.
negative_z 6 Pointing in the direction of the negative Z axis.

3.4 Plane Probe Output Formats

The plane probe output format defines the format of the output file created when the plane probe is saved.

Name Value Description
undefined_image 0Undefined or default value.
movie_image 1Movie.BYU format.
gif_image 2GIF format.
xwd_image 3X window dump format.
sun_image 4Sun Rasterfile format.
sgi_image 5SGI RGB format.

3.5 Measurement Units

Measurement units specify a mapping of the arbitrary model coordinate values into a physical space.

Name Value Description
undefined_units 0Undefined or default value.
mm_units 1Millimeters
cm_units 2Centimeters
meter_units 3Meters
mil_units 4Mils (thousandths of an inch)
inch_units 5Inches
foot_units 6Feet
micron_units 7Microns

3.6 Block Data Types

Block types identify the type of block on the heterogeneous block list.

Name Value Description
undefined_block_type 0 Undefined or default value.
geometry_type 1 Geometry block
load_type 2 Load block
probe_type 3 Probe block
source_type 4 Source block
port_type 5 Port block

3.7 Geometry Block Shapes

Most blocks define a region shaped as a box. However, geometry blocks are more flexible, and can taken on other shapes, as defined by the geometry block shape parameter.

Name Value Description
undefined_shape 0 Undefined or default value.
cube_shape 1 The block is a rectangular box (parallelpiped).
cylinder_shape 2 The block is a cylinder.
sphere_shape 3 The block is a sphere.

3.8 Source Waveform Types

The source waveform type defines the time-domain function driving the source value during a simulation.

Name Value Description
undefined_waveform 0 Undefined or default value.
gaussian_source 1 Gaussian pulse
ramp_source 2 Linear ramp pulse
modulated_source 3 Modulated gaussian pulse
sinusoid_source 4 A continuous sinusoid
user_source 5 Waveform is defined by user-specified values

3.9 Source Excitation Types

The excitation type defines which electromagnetic field values are forced by the source excitation, and the layout of those fields.

Name Value Description
undefined_excitation 0 Undefined or default value.
voltage_source 1 A line of electric fields values is set.
current_source 2 A loop of magnetic fields is set.

3.10 Load Types

Simple single port loads can be calculated internal to LC (FDTD loads) or calculated via SPICE (SPICE loads).

Name Value Description
undefined_load 0 Undefined or default value.
spice_load 1 Load defined by a SPICE circuit.
fdtd_load 2 Load defined by FD-TD coefficients.

3.11 Port Types

Only one port type is defined now, SPICE port. In the future, more port types may be defined for interfacing to other types of simulations.

Name Value Description
undefined_port 0 Undefined or default value.
spice_port 1 The port interfaces to a SPICE circuit node.

3.12 Probe Output Types

Probes can monitor a variety of primary and derived simulation results, as specified by the probe output type.

Name Value Description
undefined_output 0 Undefined or default value.
electric_intensity 1 Electric field intensity
magnetic_intensity 2 Magnetic field intensity
current_density 3 Current density
power_density 4 Power density
derived_voltage 5 Voltage
derived_current 6 Current
electric_flux 7 Charge
magnetic_flux 8 Magnetic Flux
derived_impedance 9 Impedance (V/I)
derived_power 10 Power (V*I)
derived_capacitance 11 Capacitance
derived_inductance 12 Inductance
constant_output 13 A constant value

3.13 Probe Value Types

If a probe region is larger than one cell in the simulation, it has the potential to take on several values each time step. The probe value type defines how these values will be interpreted.

Name Value Description
undefined_value 0 Undefined or default value.
center_value 1 Value is taken from the center of the probe region.
average_value 2 Value is taken as the average within the probe region.

3.14 Probe Form Types

At each time step the probe is evaluated, the result depends upon the probe form type. The probe forms correspond to the form of the result, not to the physical shape of the probe block.

Name Value Description
undefined_form 0 Undefined or default value.
point_form 1 Point versus time
line_form 2 Line versus time
plane_form 3 Plane versus time
surface_form 4 Surface versus time
calc_form 5 Algebraic combination of other probes. This value is used internally within LC, and is not specified directly by the user.
constant_form 6 Constant value. This value is used internally within LC, and is not specified directly by the user.
source_form 7 Source probe (similar to point_form). This value is used internally within LC, and is not specified directly by the user.

3.15 Sweep Types

Sweeps can provide a up to three distinct nested iterations of sweep parameters. For example, a sweep can be of a range of phi angles, and a sweep of frequencies can be performed for each phi angle. In this case, two nested iterations are defined (phi and frequency).

Name Value Description
no_sweep 0 No sweep is calculated.
theta_sweep 1 Vary the theta angle.
phi_sweep 2 Vary the phi angle.
frequency_sweep 3 Vary the frequency.

3.16 Sweep Output Types

The result of a sweep can be either of the components, or the magnitude.

Name Value Description
magnitude_output 0 Value is the magnitude.
theta_output 1 Value is the E-theta component.
phi_output 2 Value is the E-phi component.

3.17 Boundary Condition Types

A boundary condition is applied to the exterior faces of the model space. Each face can have its own boundary condition.

Name Value Description
BC_RADIATING 0 The selected absorbing boundary condition is applied.
BC_ELECTRIC 1 An electric wall (tangential electric field forced to zero) is used.
BC_MAGNETIC 2 An magnetic wall (tangential magnetic field forced to zero) is used.

3.18 Absorbing Boundary Conditions

A single absorbing boundary condition can be set for a model, and is applied to the selected grid faces.

Name Value Description
RBC_OFF 0 No absorbing boundary condition is applied.
RBC_FIRST 1 The first order Mur absorbing boundary condition is applied.
RBC_SECOND 2 The second order Mur absorbing boundary condition is applied.
RBC_PML 3 The Beringer perfectly matched layers absorbing boundary condition is applied.

3.19 Architecture Types

This parameter was relevant to the binary file format used by LC, but is not relevant to the text file format. It may be removed in a future version of LC.

Name Value Description
ARCH_UNDEFINED 0 No architecture defined.
ARCH_CRAY_FP 1 Cray floating point architecture.
ARCH_IEEE_FP 2 IEEE floating point architecture.


LC Home
Copyright © Cray Inc.
Maintained by Kevin Thomas (kjt@cray.com).
Last modified Wed Dec 31 11:06:26 CST 1997