7.5 alter_elements
- type: action command.
- function: modify the value of a parameter for one or more elements
- sequence: must follow run_setup.
- Command syntax, including use of equations and subcommands, is discussed in 7.2.
&alter_elements
STRING name = NULL;
STRING item = NULL;
STRING type = NULL;
STRING exclude = NULL;
double value = 0;
STRING string_value = NULL;
long differential = 0;
long multiplicative = 0;
long alter_at_each_step = 0;
long alter_before_load_parameters = 0;
long verbose = 0;
long allow_missing_elements = 0;
long allow_missing_parameters = 0;
long start_occurence = 0;
long end_occurence = 0;
double s_start = -1;
double s_end = -1;
STRING before = NULL;
STRING after = NULL;
&end
- name — A possibly-wildcard-containing string giving the names of the elements to alter. If
not specified, then one must specify type.
- item — The name of the parameter to alter.
- type — A possibly-wildcard-containing string giving the names of element types to alter. May
be specified with name or by itself.
- exclude — A possibly-wildcard-containing string giving the names of elements to excluded
from alteration.
- value, string_value — The new value for the parameter. Use string_value only if the
parameter takes a character string as its value.
- differential — If nonzero, the new value is the predefined value of the parameter plus the
quantity given with value.
- multiplicative — If nonozero, the new given value is the predefined value of the parameter
times the quantity given with value.
- alter_at_each_step — If nonzero, the changes requested by the command are performed
at each simulation step. Note that if differential or multiplicative are non-zero, then
changes will accumulate. (A more conventional way to perform such variation is with
vary_elements.)
- alter_before_load_parameters — If alter_at_each_step, by default the alteration takes
place after any load_parameters commands are processed. If this control is non-zero, the
alteration takes place before any load_parameters commands are processed.
- verbose — If nonzero, information is printed to the standard output describing what elements
are changed.
- allow_missing_elements — If nonzero, then it is not an error if an element matching name
does not exist. Normally, such an occurence is an error and terminates the program.
- allow_missing_parameters — If nonzero, then it is not an error if an element does not have
the parameter named with item. Normally, such an occurence is an error and terminates the
program.
- start_occurence, end_occurence — If nonzero, these give the starting and ending occurence
numbers of elements that will be altered. N.B.: if wildcards are used, occurence number
counting is for each set of identically-named elements separately, rather than for the sequence
of matched elements.
- s_start, s_end — If non-negative, these give the starting and ending position limits for the
end-of-element locations of elements to be altered.
- after — The name of an element. If given, the alteration is applied only to elements that
follow the named element in the beamline.
- before — The name of an element. If given, the alteration is applied only to elements that
precede the named element in the beamline.