diff --git a/doc/user-man/compile-make.rst b/doc/user-man/compile-make.rst index c92b063..ed6bfa2 100644 --- a/doc/user-man/compile-make.rst +++ b/doc/user-man/compile-make.rst @@ -35,7 +35,7 @@ To compile the code in this way, proceed as follows: * The pscf/git/make directory will contain files named config.mk_r and Makefile. Make a copy of the file config.mk_r, by entering:: - cd config.mk_r config.mk + cp config.mk_r config.mk * Examine and edit the new config.mk file to reflect your environment, and to specify an installation directory. See below for further @@ -118,6 +118,10 @@ This will install: * python modules in $(INSTALL)/lib/python2.7/site-packages/pscf/ + * matlab scripts in $(INSTALL)/lib/matlab + + * text files in $(INSTALL)/share + where $(INSTALL) denotes the value of the makefile variable defined in the config.mk file. diff --git a/make/.gitignore b/make/.gitignore index 7c6209d..6108c5c 100644 --- a/make/.gitignore +++ b/make/.gitignore @@ -1,4 +1,5 @@ *.f +*.f90 *.o *.mod pscf diff --git a/make/INSTALL b/make/INSTALL index c8c5bbf..c14e323 100644 --- a/make/INSTALL +++ b/make/INSTALL @@ -29,7 +29,7 @@ FFTW fast fourier transform library. 2. Change directory (cd) to the pscf/make directory (i.e., this directory) and copy the file config.mk_r to config.mk, by entering -> cp Makefile_r Makefile +> cp config.mk_r config.mk Explanation: The file config.mk_r is a default version of a configuration file that is stored in the git repository. Users can diff --git a/src/SRC_FILES b/src/SRC_FILES index 9cea48f..d3b164e 100644 --- a/src/SRC_FILES +++ b/src/SRC_FILES @@ -1,10 +1,10 @@ File Name Conventions: - Files named _mod.f are Fortran 90 modules - Files named .fp.f are preprocessor input files. + Files named _mod.f90 are Fortran 90 modules + Files named .fp.f90 are preprocessor input files. - The un-preprocessed version of the main program is src/pscf.fp.f. + The un-preprocessed version of the main program is src/pscf.fp.f90. A corresponding compilable fortran program is generated by applying a preprocessor script, which installs the resulting program in the build directory. See the end of this file for a discussion of the @@ -17,9 +17,9 @@ File Name Conventions: src/ ---- -pscf.fp.f +pscf.fp.f90 Main program (preprocessor input file). Used to generate the - compilable fortran file pscf.f in the build directory. + compilable fortran file pscf.f90 in the build directory. const_mod Defines global variable dim (= # dimensions of space) and @@ -47,15 +47,15 @@ io/version_mod src/grid/ --------- -grid/fft3_mod.f +grid/fft3_mod.f90 Fortran 90 wrappers for FFTW Fourier transform functions, - for FFTW version 3 (Either this or fft2_mod.f is linked) + for FFTW version 3 (Either this or fft2_mod.f90 is linked) -grid/fft2_mod.f +grid/fft2_mod.f90 Fortran 90 wrappers for FFTW Fourier transform functions, - for FFTW version 2 (Either this or fft3_mod.f is linked) + for FFTW version 2 (Either this or fft3_mod.f90 is linked) -grid/grid_mod.f +grid/grid_mod.f90 Defines scf data structures on an FFT grid, and routines to allocate, deallocate, and manipulate these structures. Defines ngrid, rho_grid, omega_grid, and ksq_grid. Also @@ -91,7 +91,7 @@ crystal/basis_mod comment within basis_mod, which is reproduced in the developer/api documentation for the module. -crystal/grid_basis_mod.f +crystal/grid_basis_mod.f90 Contains routines to convert between representations of a field as a 1D array of coefficients of symmetry-adpated basis functions and as a set of values defined at points @@ -106,20 +106,20 @@ scf/chemistry_mod molecular volume fractions etc.), and routines to input and output this data. -scf/scf_mod.fp.f +scf/scf_mod.fp.f90 Contains routines to solve diffusion equation by the pseudo-spectral method, and to calculate monomer concentration fields, the free and energy, and stress. - Note: scf/scf_mod.fp.f is a preprocessor input file, which - is used to generate file scf_mod.f in the build directory. + Note: scf/scf_mod.fp.f90 is a preprocessor input file, which + is used to generate file scf_mod.f90 in the build directory. -scf/step_mod.f +scf/step_mod.f90 Routines to integrate one time step of modified diffusion equation, using the Rasmussen-Kaloskas pseudo-spectral algorithm and extrapolation with respect to contour length step size. -scf/chain_mod.f +scf/chain_mod.f90 Defines a derived type chain_type that contains the q(r,s) =qf and q^{+}(r,s) =qr functions for a chain, and information about discretization in r and s. Also defines @@ -129,11 +129,11 @@ scf/chain_mod.f src/iterate ------------ -iterate/iterate_mod.fp.f +iterate/iterate_mod.fp.f90 Iterates scf equations to convergence. Currently contains Newton-Raphson (NR) algorithm for both fixed and variable - unit cells. Note: File iterate_mod.fp.f is a preprocessor - input file, which is used to generate file iterate_mod.f + unit cells. Note: File iterate_mod.fp.f90 is a preprocessor + input file, which is used to generate file iterate_mod.f90 in the build directory. iterate/sweep_mod @@ -142,21 +142,21 @@ iterate/sweep_mod Implements 1st and 2nd order continuation of solutions along such a path. -iterate/respond_pd_mod.f +iterate/respond_pd_mod.f90 Calculate response of periodic structures in form needed to - construct approximate Jacobian for iterate_mod.f + construct approximate Jacobian for iterate_mod.f90 src/response/ ------------- -response/response_mod.f +response/response_mod.f90 Module for calculating SCF linear response of period structure -response/response_step_mod.f +response/response_step_mod.f90 Routines to integrate inhomogeneous PDE required in the ideal gas perturbation theory -response/extrapolate_mod.f +response/extrapolate_mod.f90 Implements extrapolation with respect to contour length step size ds. @@ -177,9 +177,9 @@ src/attic/ The relevant preprocesor input files are: - src/pscf.fp.f - src/iterate/iterate_mod.fp.f - src/scf/scf_mod.fp.f + src/pscf.fp.f90 + src/iterate/iterate_mod.fp.f90 + src/scf/scf_mod.fp.f90 These are fortran files that contain preprocessor directives that control conditional compilation of some sections of code. The @@ -189,9 +189,9 @@ src/attic/ a Fortran file with the same name as the preprocessor input file without the .fp. string. The resulting fortran files are thus named: - build/scf.f - build/iterate_mod.f - build/scf_mod.f + build/scf.f90 + build/iterate_mod.f90 + build/scf_mod.f90 These preprocessed fortran files installed in the build directory from which make is invoked, rather than in the src/ directory. If @@ -212,10 +212,10 @@ src/attic/ conditional compilation directives and are excluded from release versions of the corresponding fortran files. - If the *.fp.f preprocessor files are modified, and the program + If the *.fp.f90 preprocessor files are modified, and the program is then recompiled using either cmake or the make file in the - pscf/make directory, then the *.f fortran files will be regenerated + pscf/make directory, then the *.f90 fortran files will be regenerated regenerated as part of the build process. When compiled with make - in the src/make directory, the src/make/*.f fortran files are also + in the src/make directory, the src/make/*.f90 fortran files are also removed by the 'make clean' command.