IFEFFIT is a command-based program, and every operation you type at the command-line or send to IFEFFIT through a script is a interpreted as a command. Most IFEFFIT commands have syntax like this:
Ifeffit> command(argument1, argument2, ... )
Ifeffit> command(keyword= value, keyword= value,
keyword= value, ...).
That is, there is a unique command name that is given first, then a set of
arguments separated by commas. Most arguments are keyword/value pairs,
which have the form keyword= value, where keyword is a
predefined string and value is the value you wish to assign to it.
Some commands use arguments that are not keyword/value pairs, but have some
or all of their arguments be lists of strings or program variables. The
majority of command arguments are keyword/value pairs. We'll come back to
these topics in section 3.6.
The enclosing parentheses for commands are optional, so that
Ifeffit> command keyword= value, keyword= valueis allowed. If you use an open paren ``('', you must match it with a close paren ``)'', even if that means the command extends over several lines. That allows commands to be extended over several lines, which will be necessary in some cases. Commands are not processed until they have matching open and closing parentheses. When using the command-line program, you'll get a prompt of ...> instead of the usual Ifeffit> when a command is partially completed.
As we saw in the example of the previous chapter, and as we will see in the next few sections, much of the processing you will do with IFEFFIT is to create and define Program Variables from your data. These procedures are done with the commands def() and set() which differ slightly but which both have the effect of specifying a value for a Program Variable. That is
Ifeffit> def(kweight = 2.0, kmin = 2.50, kmax = 15.4)will create and define (or redefine, if they already existed) values for the Program Variable kweight, kmin, and kmax.
But, as you have probably noticed, we didn't use the def() or set() command in the previous example, and simply said
Ifeffit> cu.energy = cu.1 * 1000.0 Ifeffit> cu.xmu = ln(cu.2 / cu.3)This is because the default command it def(). That is, if the first word on the command line is not a known command or macro (which we'll get to eventually), the def() command is used.
An important consequence of this is that when you do really want to use the set() command, you'll need to specify it explicitly. We'll come back to this topic in section 3.3 where the difference between set() and def() are explained. For now, you can simply remember that