x2f_mpi package for parallel function evaluation. Version 1.0, December 1, 2006 L. Lu, S.R. Lantz, S.B. Pope, Cornell University All rights reserved. This software may be used for non-commercial academic research. It may not be re-distributed. This package contains three sub-directories: x2f_mpi, test_x2f_mpi, pasr_multi x2f_mpi : contains all the source codes for building the x2f_mpi library. The overview of x2f_mpi library can be found in ISAT_MP.f90 which exists in both test_x2f_mpi and pasr_multi directory. test_x2f_mpi : contains a small program for testing the correctness of the x2f_mpi library. pasr_multi : contains PaSR source codes. The PaSR program is designed specially for those users who are interested in computations of chemical kinetics using In Situ Adaptive Tabulation (ISAT) as the "x2f" function. Therefore the program uses not only the x2f_mpi library but also the ISAT library. Besides the directories described above, there are 6 more files: make.head, makeinstall, and makeclean are used for Windows systems, while make_Linux.head, makeinstall_Linux, and makeclean_Linux are used for Linux systems. The pdf file flowchart.pdf contains the diagram showing how all the blocks of code are linked -- PaSR, ISAT_MP, x2f_mpi, ISAT-CK, ISATAB etc. You must have a Fortran 90/95 compiler to build the x2f_mpi library and the related test executables. Pre-build setup steps are discussed below. To initiate a build on Windows systems, open up a command prompt and issue the following command (make sure the Microsoft "nmake" utility is in your path): nmake /f makeinstall On Linux systems, enter: make -f makeinstall_Linux To clean up the library and executables, issue the Windows command: nmake /f makeclean For Linux systems, use: make -f makeclean_Linux Setup notes: 1/ Before compiling, you must modify the library paths and/or compiler name in the make.head (or make_Linux.head) file. It should not be necessary to modify the makeinstall and makeclean files. 2/ If your local MPI implementation has an mpif.f90, set MPIF_LOC to its full path. If your local MPI implementation has an mpif.h instead of mpif.f90, use the file called mpif.f90 in the x2f_mpi directory with the following contents: module MPI include "mpif.h" end module MPI In this case you will need to uncomment the MPIF_INC and MPIF_LOC lines in make.head (or make_Linux.head) and change MPIF_INC to point to the correct MPI include directory. (Make sure only one MPIF_LOC line is uncommented.) 3/ If you do not wish to use x2f_mpi with ISAT, remove "pasr" from the "all" dependency list in makeinstall (or makeinstall_Linux). >>> the remaining setup steps pertain only to PaSR and ISAT >>> 4/ To run pasr_multi, you must provide the files chem.bin and streams.in. 5/ In the pasr_multi test, isat_1.nml and pasr.nml can be used to change ISAT parameters and PaSR parameters, respectively. 6/ In parallel simulations, file names of chem.bin, streams.in and isat_1.nml need to be modified to the form chem_#_P.bin, streams_P.in and isat_#_P.nml. Here # denotes the table number and P is the MPI rank of the process. If there is only one table on each processor, the file names will look like chem_1_P.bin and isat_1_P.nml.