The version 2.1 of Phagen is now used. Some updates in the
original code (bakup in phagen_scf_2.1_dp.f.orig file) have been
made to allow the making of the python extension.
Every changes are commented by a line begining by "CST"
To deal with the case of previously installed version of msspec,
the order in which the version is checked has changed.
1- test if we can infer the version from the SCM
2- check if a VERSION file exists
3- take the version from the distribution
The version is now not hardcoded anymore in the python module. We use
setuptools_scm or pkg_resources instead.
There was also a bug in the linkage for PED with matrix inversion using
external lapack.
Finally, the install script install now requirements and all requirements
are stored in the requirements.txt file. setup.py looks inside to set its
"install_requires" keyword.
It is now possible to use an external lapack version. If using
directly the Makefile, use
make pybinding USE_MKL=1 LINKER_FLAGS=-L$(MKLROOT) -lmkl_core -lmkl_intel_lp64 -lmkl_sequential
If using the install script, you can choose to edit each option of the compilation
The PED spectroscopy by the matrix inversion algorithm is now
included.
This commit also includes:
* some changes in default values in parameters.py for eigval_ipwm, eigval_method
in SpecParameters and phi in SourceParameters
* a modification in the cluster viewer: the mouse wheel allows to change the
transparency and see the emitter
* in utils.py, the hemispherical_cluster function has a new keyword that allows
to create cylindrical clusters
It was impossible to perform an energy scan in EIG spectroscopy.
The calculator and calcio modules were corrected.
We can now compute the spectral radius vs energy with and without
renormalization for EIG spectroscopy mode
The G_n, Sigma_n, Z_n and Lowdin K^2 methods are supported for
the inversion algorithm.
This commit fixes also several issues in the GUI and in the
hemispherical_cluster function
In src/msspec/spec/fortran/eig/common/, modified eig_mat_ms.f to call subroutines in new
files diagonalize_matrix.f and renormalization.f to implement renormalization in the
eigenvalue "spectroscopy"
The msspec/spec/fortran folder is totally different now. Most of the
fortran subroutines are in their own file and are located in different folders
The Makefile has been rewritten and can generate 3 libraries:
- one for Photoelectron Diffration in series expansion
- two for Eigen value calculation with matrix inversion and power method
Changes in the main Makefile to include a "venv" and a "doc" targets
The Jenkinsfile now uses only the Makefile. The CI/CI.bash shell script
should not bu used anymore and will be deleted in a future commit.
The installation script does not try anymore to create a virtual environment.
A message at the begining recommends to the user to be in a virtual env. That way
it is possible to use virtualenv, conda, python - m venv or none of this to
create (or not) a virtual environment. It's up to the user.
The script is simpler and *should* be POSIX compliant
Files that have been modified in this commit:
- Makefile
- src/Makefile
- src/msspec/spec/fortran/Makefile
- src/msspec/phagen/fortran/Makefile
- src/install.sh
the call to the run function in libspec cannot be done
with unzip the OrderedDict values. It creates memory address
confusion and the program is killed by the os with a message:
"Operating system error: Cannot allocate memory
Allocation would exceed memory limit"
To fix, we shall call the run function with each argument well specified
between the parentheses.
* Started port of the previous CI.bash
* Also fix bug in spec.f (stdout was closed so nothing appeared on screen
at the second call to libspec)
* Work on test suite
- utils to create clusters are tested
- PED calculator for polar and azimutal scans are tested