MOPAC is designed to be as platform independent as possible. The code is written in as near pure FORTRAN90/95 as possible, and where possible simple constructions are used. This is deliberately done to make it easier to port the program to other machines.
To validate a port, the data sets in the validation suite should be run If all tests are passed, within the tolerances given in the tests, then the ported program can be called a valid version of MOPAC. Insofar as is practical, the mode of submission of a MOPAC job should be preserved, e.g.,
(prompt) MOPAC <data-set> [<queue-options>...]
Any changes which do not violate the FORTRAN-90 conventions, and which users believe would be generally desirable, may be sent to the author.
The main difficulty in modifying the program so that it runs on other platforms is likely to be in the channel assignments. In an attempt to make this easier, all channel assignments are defined in subroutines getdat.f90, chanel_C.f90 and init_filenames.f90. MOPAC uses the UNIX instructions iargc and getarg. These read in the number of arguments supplied with the MOPAC command, and if this is greater than zero, it then reads in the name of the job. This is stored in molkst_C module string variable JOBNAM.
Other possible trouble-spots are (a) the CPU timer (in second.F90), and the date function fdate (in readmo.f90 and writmo.f90) and (b) the RESTART command.
Channel |
Symbol |
Name |
Input? |
Output? |
Contents |
4 |
iend |
<filename>.end |
Yes |
|
Shut command |
7 |
from_data_set |
<filename>.mop* |
Yes |
|
Data-set |
9 |
ires |
<filename>.res |
Yes |
Yes |
Restart file |
10 |
iden |
<filename>.den |
Yes |
Yes |
Density file |
11 |
ilog |
<filename>.log |
|
Yes |
Log file |
12 |
iarc |
<filename>.arc |
|
Yes |
Archive file |
13 |
igpt |
<filename>.gpt |
|
Yes |
Graphics file |
14 |
User-defined |
Yes |
|
New parameters |
|
15 |
iesr |
<filename>.esr |
|
Yes |
ESP Restart |
16 |
isyb |
<filename>.syb |
|
Yes |
SYBYL file |
18 |
ibrz |
<filename>.brz |
|
Yes |
Brillouin Zone |
20 |
iump |
<filename>.ump |
|
Yes |
Data for grid |
21 |
iesp |
<filename>.esp |
|
Yes |
ESP data |
22 |
SCRATCH |
|
|
Used by GEOUTG |
|
25 |
ir |
SCRATCH |
|
|
Internal working |
26 |
iw |
<filename>.out |
|
Yes |
Results file |
*: Alternatives: <filename>.dat, <filename>.arc, <filename>