The program has been written such that it should handle almost any typing error when giving commands and hopefully all errors that result from calculation with erroneous data. When an error is found an error message is displayed that should get you back on track. See the manual for a complete list of error messages. In this part we refer to the program you are using as DISCUS for convenience.
The error messages concerning the use of the command language are grouped in the following categories:
COMM Command language errors FORT Fortran interpreter errors I/O Errors regarding input/output MACR Errors related to macros MATH General mathematical errorsEach error message is displayed together with the corresponding category <cccc> and the error number <numb> in the form:
****CCCC****message **** numb ****
In the default mode DISCUS returns the standard prompt and you can
continue the execution from this point. You can set the error status
to "exit" by the ==>'set' command. In this case DISCUS terminates
if an error is detected. This option is useful to terminate a faulty
sequence of commands when running DISCUS in the batch mode of your
operating system.
Command language errors These messages describe illegal usage of the command language, such as unknown commands, improper numbers of parameters.
Error : -1 : DISCUS directory not defined
The environment variable DISCUS_DIR was not defined. Check the chapter
on installation for your platform for the appropriate definition.
Error : -5 : Error in operating system command
The operating system/shell returned an error message. Check the
appropriate system manuals for details.
Error : -6 : Missing or wrong parameters for command
Either the command needs more parameters than were provided, or the
parameters are incorrect. Check the number and type of parameters. Is
the sequence of numerical and character parameters correct?
Error : -8 : Unknown command
The command interpreter read an unknown command. Check the spelling
of the command or check, whether this command is allowed at the current
sublevel.
Error : -11 : Error in subroutine
More or less a system error message, ignore this message.
Error : -17 : Too many parameters
More parameters have been provided than are required by the command. Check the number, and type of parameters supplied, or the occurrence of additional ','.
Fortran interpreter errors These messages describe erroneous mathematical calculations and improper usage of control structures (do,if, ...).
Error : -1 : Nonnumerical Parameters in expression
The interpreter found a nonnumerical string where a number is expected.
If an intrinsic function or a variable was intended, check for missing
parentheses.
Error : -2 : Unknown Variable
The expression contains a reference to an unknown variable. Check the
spelling of the variable. Chapter 3.7.1 of the manual and the help
entry "variables" contains a list of allowed variables.
Check whether the variable is a read-only variable and was used on the
left side of an expression. Some of the variables associated with
microdomains are read-only depending of the circumstances!
Error : -3 : Unknown intrinsic function
The expression contains a reference to an unknown intrinsic function.
Check the spelling of the function. Chapter 3.7.4 of the general part
in the manual and the help entry "functions' contain a complete list
of the allowed intrinsic functions.
Error : -4 : Division by zero'
An attempt was made to divide by zero. Check the value of the argument
and correct the algorithm that calculates the argument.
Error : -5 : Square root of negative number
An attempt was made to calculate the square root of a negative argument.
Check the value of the argument and correct the algorithm that calculates
the argument.
Error : -6 : Missing or wrong Parameters for command
Either the function or variable referenced needs more parameters than
were provided, or the parameters are incorrect. Check the number and
type of parameters. Is the sequence of numerical and character parameters
correct?
Error : -7 : Argument for asin,acos greater 1
An attempt was made to calculate asin or acos with an argument greater
than 1. Check the value of the argument and correct the algorithm
that calculates the argument.
Error : -8 : Index outside array limits
The index supplied for the variable is outside the limits of this
variable. Check the general part for the dimensions of the variables.
Error : -9 : Number of brackets is not matching
The number of opening and closing brackets "[" and "]" does not match
or is illegally nested with parentheses "(", ")" or other operators.
Check the string used in the expression and correct it following the
FORTRAN rules.
Error : -10 : Index for array element is missing
You have used a string like "i[]", where the opening and closing
brackets do not contain any expression.
Check the string used in the expression and correct it following the
FORTRAN rules.
Error : -11 : Number of parentheses is not matching
The number of opening and closing parentheses "(" and ")" does not match
or is illegally nested with brackets "[", "]" or other operators.
Check the string used in the expression and correct it following the
FORTRAN rules.
Error : -12 : Expression between () is missing
You have used a string like "()", where the opening and closing
parentheses "(" and ")" do not contain any expression.
Check the string used in the expression and correct it following the
FORTRAN rules.
Error : -13 : Wrong number of indizes for array
The number of indices given for the entered parameter is wrong.
Check the help entry 'variables' for the proper number of indices.
Error : -14 : Index of DO-loop counter is missing
Here the index for the loop counter of a do-loop is missing. Check
the online help for the correct syntax of such loops.
Error : -15 : Too many commands
The program stores all commands within a control block in an array.
The maximum number of commands that can be stored in this array is
given by the parameter MAXCOM in file "doloop.inc". The macro or run
used more commands than currently allowed by this parameter.
Rewrite the macro or list of commands such that less commands are
sufficient, or change the value of the parameter and recompile the
program.
Error : -16 : Too deeply leveled (do,if) construction
The program stores all commands within a control block in an array.
The maximum number of levels for this array is given by the parameter
MAXLEV in file "doloop.inc". The macro or run used more levels than
currently allowed by this parameter.
Rewrite the macro or list of commands such that less levels are
sufficient, or change the value of the parameter and recompile the
program.
Error : -18 : Unresolvable condition
An error occurred while trying to calculate the value of an arithmetic
or logical expression. Check that there is no illegal operation /(division
by zero .../ no typing errors, all parentheses are properly matched.
Error : -19 : Illegal nesting of control commands
Do loops and/or if constructions have been nested with overlapping
segments, missing enddo or endif statements or similar causes. Check
for spelling errors on the control statements, and that each control
statement is properly terminated by a corresponding enddo or endif
statement that is not enclosed within another control block.
Error : -20 : Illigal argument for ln(x) function
The argument for the ln must be positiv, larger than zero. Check the
value of the argument or the value of the expression that serves as
argument
Error : -28 : Too deeply leveled break command
Illegal use of the break command. The parameter on the break command signals how many block structure levels are to be exited. Check the value of this parameter with regard to the nesting of do-loops and if-blocks.
Errors related to input / output An error occured while attempting to read/write from a file
Error : -1 : File does not exist
DISCUS could not find the file. Check the spelling and the path.
Error : -2 : Error opening file
DISCUS could not open a file. The file might be in use by another process.
Error : -3 : Error reading file
An error occurred while DISCUS was reading a file. Check whether the
contents of the file is correct.
Error : -4 : File already exists
An attempt was made to overwrite an existing file. Rename or delete
the file in question.
Error : -5 : No such entry in online help
You have tried to obtain help for a string that does not have a matching entry in the help file.
Check the spelling of the string. Are you at the right sublevel?
Use the '?' command to get a listing of available help entries.
Error : -6 : Unexpected end of file
DISCUS has encountered the end of a file, but is still expecting data.
Check the file(s) involved, to see whether the data are complete or
whether erroneous data are present.
Error : -7 : Learning sequence already in progress
You have tried to start a learning sequence by ==>'learn' without
closing the active learning sequence. Close the current learning
sequence by ==> 'lend' before starting to record a new macro.
Error : -8 : Nothing learned - no macro written
You did not type any commands since the ==>'learn' command. No commands
are written to the macro file.
You need to give at least one command before closing a learn sequence.
Error : -9 : Error reading user input
An error occured while reading the last input.
Does the string contain any characters where a number is expected, or
any control or escape sequences.
Error : -10 : IO stream already open
The command 'fopen' was issued while there was already a file open.
Close the currently open file with 'fclose'.
Error : -11 : No IO stream open to close
The command 'fclose' was issued, but there is no open file.
Error : -12 : Error writing to file
An error occured when reading a file with 'fget'. Check the file for nonnumerical values and check that the number of columns is equal or larger than the number of arguments of 'fget'.
Errors related to macro These messages describe situations that result from missing macrofiles, missing macro parameters ...
Error : -1 : Too many macro parameters given
The number of parameters given on the macro command line is higher
than allowed in your installation. The maximum number of parameters
allowed is defined by the parameter MAC_MAX_PARA in the file
macro.inc.
Check the macro command line for any additional "," or rewrite the
macro to use less parameters. If necessary adjust the value of the
parameter MAC_MAX_PARA and recompile the program.
Error : -12 : Macro not found
The file given on the @<name> command does not exist. Check the
spelling of <name> and the path.
Error : -13 : Macro filename is missing on the command line
The command '@' to execute a macro was called without any macro
file name. The file name must start immediatly after the "@".
Check the '@' command for completeness and blanks after the "@".
Error : -35 : Too deeply leveled macros
The maximum level at which macros may be nested is defined in the
file macro.inc in the parameter MAC_MAX_LEVEL. Check the nesting of
macro file for the level of nesting or possible recursive nesting
without proper termination. Rewrite the macros to use less nesting,
or change the value of the parameter and recompile the program.
Error : -36 : Unexpected EOF in macro file
When DISCUS finds a '@' command inside a macro, it stores the current
macro name, the line number inside the current macro and closes the
current macro file. After completion of the new macro, the previous
macro is read again up to the position stored. The error message
is displayed when an end of file is found before the position is
reached. Check whether the macro file was damaged, or accidentally
deleted during execution of the nested macro.
Error : -41 : Not enough macro parameters given
DISCUS read a parameter number inside a macro file that is higher than the number of parameters given on the command line of the macro. Check the parameters inside the macro for correct numbering and spelling. Check the number of parameters supplied on the command and check whether any "," is missing between parameters.
Errors from general usage of mathematical treatments
DISCUS/KUPLOT tried to calculate the inverse of a matrix that is singular. Reading a cell file: Are your lattice constants in error, i.e. a length of zero, an angle of 0 or 180 degrees ? Microdomains Is the matrix of the base vectors correct ?