Parameter Variation Scripts

A command scripting feature has been added to LC. This feature allows you to execute commands from an input file to act like normal interactive program usage. Model files can be loaded, modified, and simulated. The main use of this feature is to execute a set of simulations while varying a model parameter, such as a source frequency.

You can use the frequency stepping by creating a file with the proper commands, then using the new "-x" option:

You need not specify the "-i" option, or put the model filename on the command line, since these are given in the command file itself. If the "-b" option is given, then the command file is executed in batch mode. Otherwise, the commands are executed in interactive mode.

An example "input.cmd" file is:

This file will run model "sw1.lcx" with three source frequencies (2.0e10, 2.1e10, 2.2e10), saving the results into three subdirectories (f2.0, f2.1, f2.2). Each simulation is run for 1000 time steps. In this model, the source is called "dipole".

The following commands are implemented:

model
Read an LC model file. Subsequent commands can modify the model, or run a simulation using it.

subdir
Set a subdirectory for the results of a simulation. If the directory does not exist, it is created for you. This is the same as the mesh data type output_directory parameter.

run
Execute a simulation for the given number of time steps. The simulation is automatically terminated at the end of the time stepping.

set
Modify the current model. The set command's syntax is:

The data_types, and their associated keywords and parameters are defined below. Some data_types do not require a data_name.

save
Save the current model. If no file name is specified, then the original file name is used.

quit
Terminate the program. If LC is running in batch mode, then the end of the command file also terminates the program. If LC is running in interactive mode, then end of file puts LC into its loop waiting for user input. This command prevents the interactive LC from going into the wait loop.

Data Types

Most of the data items created within LC can be modified using the set command. The following data_types require a data_name to identify the data item to be changed.

data_typeDescription
blockAny kind of model block
geometryA geometry block
loadA load block
portA port block
probeA probe block
sourceA source block
calcA calculation definition
materialA material definition
multiportA multiport definition
planeA plane wave source definition
pulseA pulse definition
sweepA far field sweep definition

The following data_types do not require a data_name.

data_type Description
far The far field parameters
mesh The mesh parameters
model The model parameters

Common Block Keywords

These keywords are valid for any block type.

Keyword Parameter Description
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.

Geometry Block Keywords

Any Common block keywords, plus:

Keyword Parameter Description
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).

Load Block Keywords

Any Common block keywords, plus:

Keyword Parameter Description
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.
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.

Port Block Keywords

Any Common block keywords, plus:

Keyword Parameter Description
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.

Probe Block Keywords

Any Common block keywords, plus:

Keyword Parameter Description
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.

Source Block Keywords

Any Common block keywords, plus:

Keyword Parameter Description
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.

Calculation Keywords

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.

Material Keywords

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.

Multiport Load Keywords

Keyword Parameter Description
name string Name of the multiport.
spice_file string The filename of the SPICE circuit.

Plane Wave Source Keywords

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.

Pulse Keywords

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.

Sweep Keywords

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.

Far Field Parameters Keywords

Keyword Parameter Description
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.

Mesh Parameters Keywords

Keyword Parameter Description
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.

Model Parameters Keywords

Keyword Parameter Description
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.


LC Home
Copyright © Cray Inc.
Maintained by Kevin Thomas (kjt@cray.com).
Last modified Mon Dec 15 17:35:15 CST 1997