Commit Graph

75 Commits

Author SHA1 Message Date
Sylvain Tricot 0cc4419f9b Remove WxPython from the list since the latest version is no more compatible
with msspec :-(
We need to install it manually using the wheel of their website for the moment
2020-05-26 13:52:15 +02:00
Sylvain Tricot d4e166cb6d Remove variant_dir in SConstruct.
The f2py *.so suffix is not consistent with python virtualenv version.
By using the source dir it is easier to fix manually since the *.so are not
installed
2020-05-26 13:50:23 +02:00
Sylvain Tricot 43886601e9 Set Phagen mode to "led" for EIG calculation.
Ensure that no core-hole is produced when doing an eigen values
calculation. This is done by setting calctype="led" in the phagen
input file.
2020-04-15 14:49:55 +02:00
Sylvain Tricot 19fd6033cc Remove config module
This module is not needed anymore.
2020-04-14 09:36:29 +02:00
Sylvain Tricot 860d8b8037 Fix import order in setup.py
The sys module should be imported first to decalre msspec
path as soon as possible. It enables to load the version module
necessary to avoid hardcoded version number in the setup.py file.
Please note that this import order is not pep8 compliant.
2020-04-14 09:32:25 +02:00
Sylvain Tricot 2906df4e29 Update README.
Add info about cloning the devel branch.
2020-04-14 09:31:28 +02:00
Sylvain Tricot 1f87c934b6 Test script for sprkkr/msspec cooperation. 2020-04-10 17:41:21 +02:00
Sylvain Tricot 8ebfd624e1 Add support for SPRKKR potential.
This is a first version for this option. Some work has still to be
done...
2020-04-10 17:36:25 +02:00
Sylvain Tricot 81459cfcfc Update doc and README info. 2020-03-31 18:29:41 +02:00
Sylvain Tricot 4702d0cb0c Simplify code building and package creation. 2020-03-31 18:28:08 +02:00
Sylvain Tricot e2ec1e8bcd Documentation is now generated by scons 2020-03-27 17:47:50 +01:00
Sylvain Tricot 927ac8a8a3 Allow the use of external potential files.
A new keyword in TMatrixParameters allows to use an external
file for the potential energy of atoms. It should be used like
this:
    calc.tmatrix_parameters.potential = 'spkkr'
    calc.tmatrix_parameters.potential_file = 'Cu.pot' # the name does not matter
2020-03-26 18:26:27 +01:00
Sylvain Tricot 15b344cf5f Update Phagen to its newest version (2.1).
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"
2020-03-26 18:23:23 +01:00
Sylvain Tricot f7caa5eef7 Move to SCons building tool instead of make.
The scons python module is now used to build the code extension.
It is an all python solution and is easier to read than a Makefile
2020-03-26 18:19:26 +01:00
Sylvain Tricot 44b3145b65 Update SConstruct 2020-03-23 22:07:12 +01:00
Sylvain Tricot 61202f7a1f Update SConstruct 2020-03-22 00:06:43 +01:00
Sylvain Tricot fbe1b6917b Add a SConstruct file to compile spec with scons 2020-03-21 20:54:10 +01:00
Kevin Dunseath 1f11a61888 In eig_mat_ms.f, moved initialisation of IOUT2 and IOUT3 to before
the test on JE, otherwise they were not initialised for JE > 1
2020-03-16 15:45:51 +01:00
Sylvain Tricot 3187a4cb32 Change in version.py
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
2020-03-12 17:55:40 +01:00
Sylvain Tricot 162ffa87bd Fix bugs in packaging procedure.
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.
2020-03-12 16:16:28 +01:00
Sylvain Tricot 519c48c61f Add some compilation options to the Makefile.
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
2020-03-11 17:02:42 +01:00
Sylvain Tricot 81bd65a001 Fix some issues in using power method for EIG 2020-03-11 16:40:26 +01:00
Sylvain Tricot ff600a2e3d Fix some bugs in EIG calculator.
Now we can use either standard inversion or power method to
compute the spectral radii and plot the results.
2020-03-11 11:08:17 +01:00
Sylvain Tricot 4b63973c9f Add wxPython dependency check in install program. 2020-03-02 14:57:08 +01:00
Sylvain Tricot c6b27aa735 Update metadata in setup.py 2020-03-02 13:49:16 +01:00
Sylvain Tricot 5a817ab97d Add shared object for PED by Matrix inversion.
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
2020-02-21 15:18:53 +01:00
Sylvain Tricot 27c772004c Remove a print in utils.py 2019-12-12 17:02:12 +01:00
Sylvain Tricot cedbfd823e Fix bugs for energy scan in EIG spectroscopy.
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
2019-12-12 16:45:12 +01:00
Kevin Dunseath 50a0bb7632 Replaced STOP by RETURN before error print statements in src/msspec/spec/fortran/eig/mi/do_main.f
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"
2019-12-11 15:12:58 +01:00
Sylvain Tricot 3c387c8585 Fix bug in Jenkinsfile
The "create setup file" failed because coverage module was not found.
It is installed in the virtualenv so the command load the venv first now.
2019-12-06 13:49:28 +01:00
Sylvain Tricot c5187e3c4b Fix bug in Jenkinsfile.
The PYTHONPATH variable is passed in the stage steps to tell Python where
to find the msspec package.
2019-12-06 13:43:31 +01:00
Sylvain Tricot c22f86fe76 Fix bug in install process.
The *.so are now in the fortran folders, so the MANIFEST.in file was updated
to include those shared objects in the pip source distribution
2019-12-06 13:26:22 +01:00
Sylvain Tricot 93782236b0 Add the eigen value "spectroscopy" support.
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
2019-12-05 18:26:41 +01:00
Sylvain Tricot 47adb16ccc coverage moved to results target in src/Makefile 2019-11-29 18:06:59 +01:00
Sylvain Tricot 047458dcf6 Add test coverage report in documentation
Now tests are run through the coverage utility and a report is generated
and available in the FAQ of the html doc.
2019-11-29 17:38:41 +01:00
Sylvain Tricot bdd3c7c941 Fix bug in documentation configuration
sys.path was updated to fit the new file hirerarchy (one '../' removed)
2019-11-29 15:45:55 +01:00
Sylvain Tricot b698eb7cfe Fix bug in install script for the gfortran version
add "|cut -d. -f1" to keep only the major version number
2019-11-29 15:33:45 +01:00
Sylvain Tricot 9296509f7b Work on installation script.
Change gfortran min version to 6.0 to see if this works in Jenkins
2019-11-29 15:27:14 +01:00
Sylvain Tricot 56c1031e36 Work on CI
Fix the bug in load .profile (changed to ~/.profile)...
2019-11-29 14:26:13 +01:00
Sylvain Tricot 28e9065d29 Work on CI
Load the .profile user's file for the make selfex stage since the path
to makeself is not standard
2019-11-29 14:23:03 +01:00
Sylvain Tricot dcda10d1b5 Improve Python < 3.6 compatibility.
f-strings are removed as it is only available since Python >=3.6
2019-11-29 14:04:41 +01:00
Sylvain Tricot 54b7e409a0 Work on continuous integration
Add VERBOSE=1 in the make calls in the Jenkinsfile to help debugging
the build jobs in Jenkins
2019-11-29 13:47:52 +01:00
Sylvain Tricot fb671a065e Work on continuous integration.
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.
2019-11-29 13:20:40 +01:00
Sylvain Tricot 9d76465b11 Resolve install.sh confict with previous commit 2019-11-28 18:44:39 +01:00
Sylvain Tricot ad52398853 Merge branch 'master' of https://git.ipr.univ-rennes1.fr/epsi/msspec_python3 2019-11-28 18:43:33 +01:00
Sylvain Tricot 4eceb1bf26 Simplify the install process.
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
2019-11-28 18:35:37 +01:00
Kevin Dunseath 1e67616733 Changes to src/install.sh to allow installation under Mac OSX
In phagen_scf.f, subroutine atom_sub: changed dimensions of r_hs, rho0_hs to be assumed size arrays
2019-11-27 16:03:49 +01:00
Sylvain Tricot 4a5f6f1161 Add Renormalization option in the python interface 2019-11-27 14:09:55 +01:00
Sylvain Tricot 13a43b0b70 Fix bug in memory management
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.
2019-11-22 13:38:28 +01:00
Sylvain Tricot a28570974e Add the doc folder with all *.rst files
This is used to create the pdf manual and html website
2019-11-22 11:39:39 +01:00