Commit Graph

166 Commits

Author SHA1 Message Date
Sylvain Tricot f262f96004 Added and updated corexp.f
The file corexp.f was updated to be compatible with Python
bindings.
2022-02-09 13:08:06 +01:00
Sylvain Tricot e3c0accbcb Added and updated coefpq.f
The file coefpq.f was updated to be compatible with Python
bindings. The common /Q_ARRAY/ was refactored as a module in
memalloc/modules.f and allocated in memalloc/allocation.f.
2022-02-09 12:22:05 +01:00
Sylvain Tricot 39eb3dc9d8 Added and updated cmngr.f
The file cmngr.f was updated to be compatible with Python bindings.
2022-02-09 12:02:24 +01:00
Sylvain Tricot 1dba5cbe47 Added files common to SE and CE.
5 files are common to Series Expansion and Correlation Expansion
algortithms. They are now in the dedicated phd_ce_noso_nosp_nosym
folder.
2022-02-09 11:43:35 +01:00
Sylvain Tricot ca1fd04163 Modified cut_cylinder and cut_plane functions.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
cut_cylinder and cut_plane functions were too slow due to
lists modifications in for loops. Implementation was modified
a bit while keeping the same API.
For now, cutting a cylinder for an axis 'x' or 'y' is not supported
anymore.
2022-02-08 15:20:32 +01:00
Sylvain Tricot a657b1874e Changed memory requirements. 2022-02-08 15:19:26 +01:00
Sylvain Tricot 74ca8f467f Removed malloc NPH_M parameter.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
In get_theta_phi_scan, the malloc keyword was given
with NPH_M=8000. It was enough for most of calculations
but it was also impossible to change in cases where more
memory was needed. The keyword is now removed so that
it can be direclty specified by the user if needed.
The default value was increased to 8000 instead of 2000.
2021-12-13 18:51:12 +01:00
Sylvain Tricot 38023dcd52 Bug in matplotlib 3.5.0
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
There is presumably a bug when using pcolormesh
with msspec in matplotlib 3.5.0. The stereo projection
does not work properly and the CPU is rising at 100% as
well as the memory usage. Meanwhile, the event loop of Wx
is affected freezing the GUI. Reverting to last stable 3.4.3
version fixes the problem for now. A true fix should be found
asap.
2021-12-02 12:20:40 +01:00
Sylvain Tricot 75c599de95 Added 'other_parameters' keyword in _get_scan.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
This allows to set or modify any option right before runing
Phagen and Spec. Mostly for debug purposes.
2021-11-30 17:53:47 +01:00
Sylvain Tricot e36373a576 Fixed bug in 'mean_free_path' option.
It was impossible to enter a numerical value.
The 'allowed_values' keyword was set in the definition
of the 'mean_free_path' parameter, I commented it to
allow any value for this option.
2021-11-30 16:56:20 +01:00
Sylvain Tricot 925d694099 Added 'other_parameters' keyword to any scan.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
This keyword is a dictionary allowing any option
to be passed to Phagen or Spec just before runing
the calculation. It is usefull to pass special options
that are for example set automatically otherwise.
2021-11-30 16:26:10 +01:00
Sylvain Tricot 7567b920a1 Add Lapack/Blas compilation flag. 2021-11-30 16:21:05 +01:00
Sylvain Tricot 369e743197 Removed all f-strings.
By replacing f-strings by the standard ".format" call,
the package can be now compatible with python3.5
2021-09-27 17:49:48 +02:00
Sylvain Tricot a57b8d138b Fix bug in "msspec -p" command.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
When using python options (like "-c" for example), all
arguments from the command line were not passed to the
launch_script function because of missing double quotes
around the $@ array.
2021-09-20 11:17:26 +02:00
Sylvain Tricot 4b23806482 Specify gfortran executables for f2py3
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
2021-07-21 23:06:41 +02:00
Sylvain Tricot df5c0de8b7 Fix bug, the rank was not set properly 2021-07-21 23:06:12 +02:00
Sylvain Tricot 0e04dd4a75 Remove config of logging in looper
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
Because it overriveded the global logging level...
2021-07-21 10:45:34 +02:00
Sylvain Tricot 74f970e7dd Add pandas to the list
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
2021-07-20 16:48:29 +02:00
Sylvain Tricot 3743cb8d17 Changed return values of Looper.run
Instead of returning a panda dataframe, return both a list
of [x0, y0, x1, y1,...] values for all the calculations and the
corresponding dict of parameters
2021-07-20 16:45:37 +02:00
Sylvain Tricot 1899020178 Small changes in looper.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-06-24 09:13:47 +02:00
Sylvain Tricot 605f3fda0e Increased the max number of atoms in phagen. 2021-06-24 09:12:25 +02:00
Sylvain Tricot 640746a81f cutoff_factor is now a public parameter.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-04-02 08:44:58 +02:00
sylvain tricot 195d5fd72f Add a module for multiprocessing.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-04-01 18:37:19 +02:00
Sylvain Tricot 94ce7648d4 Upgrade Phagen to 2.2 and 2.3 versions
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
Thos versions fix a bug in the routine that find zeros
of the wavefunction
2021-03-22 08:39:48 +01:00
Sylvain Tricot 8129fdd8d1 Fix minor bug in clean target.
The VERSION file could not be removed if it was not
found. Deletion is now forced with "-f" option.
2021-03-22 08:36:26 +01:00
Sylvain Tricot 1e6e561ba2 Remove deprecated requirements files
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-02-22 20:28:57 +01:00
Sylvain Tricot 299518f194 Add rule to Makefile to build wxPython 2021-02-22 20:28:13 +01:00
Sylvain Tricot a62f78f2a7 Fix use of deprecated MenuItem.GetText().
Replaced by MenuItem.GetItemLabelText()
2021-02-22 19:02:31 +01:00
Sylvain Tricot a4c13d3bdb Update the Readme file.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
I updated the information in the Readme file to provide
detailed steps to build msspec with GNU make.
2021-02-22 15:49:57 +01:00
Sylvain Tricot ebb450024b Update msspec against its dependencies.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
MsSpec is now compatible with latest version of WX, of numpy,
scipy, matplotlib...
2021-02-19 08:22:47 +01:00
Sylvain Tricot 4096a5f738 Merge branch 'devel' of vmgit.ipr.univ-rennes1.fr:epsi/msspec_python3 into devel
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-01-25 14:03:02 +01:00
Sylvain Tricot 052cf749cf Clusterviewer with WXWidgets is renamed 2021-01-25 14:01:34 +01:00
Sylvain Tricot f70b1af2f3 Continue with wx->gtk portage.
Callbacks for mouse events are "almost" working
in this commit.
2021-01-25 13:59:03 +01:00
sylvain tricot da92ce048f Fix file permissions in frontend install target. 2021-01-22 17:31:46 +01:00
sylvain tricot d7f004ebec Changes on Makefile to be compatible with Docker. 2021-01-22 17:03:53 +01:00
sylvain tricot 527ad80b03 Simplify pip.freeze requirements file.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-01-21 13:51:39 +01:00
sylvain tricot 1db975233a Small changes to Makefiles.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-01-13 18:26:08 +01:00
Sylvain Tricot b8876a7632 Improved install and devel targets in Makefile.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2021-01-12 12:20:13 +01:00
Sylvain Tricot 19cd231b21 Begin portage of clusterviewer from Wx to Gtk3.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
For the moment changes are in the Python file named
clusterviewer_gi.py.
2020-12-15 16:12:40 +01:00
Sylvain Tricot 8eaf76629d start porting the code from WX to GTK3.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2020-12-08 21:29:30 +01:00
Sylvain Tricot d4ed926e55 Work on Makefiles to make install easier...
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2020-12-02 18:18:47 +01:00
Sylvain Tricot 3834f38aec Add venv and sdist targets.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2020-12-02 08:49:59 +01:00
Sylvain Tricot e801582beb Fix missing dependencies in EIG Makefiles 2020-12-02 08:49:06 +01:00
Sylvain Tricot 70eef0af8a Trying to fix NaN for lmax > 30.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
It is impossible to compute the crosssection if LMAX > 30.
This is due to a lack of precision in the djmn.f subroutine which
is written in simple precision. This commit is a first step to promote
this subroutine and all its dependensices to doucle precision.
2020-12-01 11:13:24 +01:00
Sylvain Tricot 50219b9f45 Work on topmost Makefile (unittests and install targets)
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
Just began to rewrite the topmost Makefile which will provide
targets for:
  * runing the tests
  * creating the Python venv
  * building and installing the code
  * building the manual and the website

Makefiles in subfolder were also upgraded to fix some issues in
target filenames.
2020-11-30 16:39:29 +01:00
Sylvain Tricot d7b6ca5b84 Change the reading format for the tl.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
2020-11-26 09:52:14 +01:00
Sylvain Tricot b8047274ed Fix the 'Below is the bug' bug in Phagen 2020-11-26 09:50:57 +01:00
Sylvain Tricot 13593b8870 Revert back to GNU Make for building.
epsi-builds/msspec_python3/pipeline/head This commit looks good Details
Makefiles are easier to maintain, I eventually prefer using GNU Make
instead of scons. SConstruct files will be removed when makefiles will
be ready in a future commit.
2020-11-24 09:57:35 +01:00
Sylvain Tricot 1bd1c0a9ce Small modification in the GUI.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commit Details
The automatic resizing is not working very well in WXPython along with
matplotlib with the WxAgg backend. It is an attempt to improve this but
does not change anything unfortunately. This is a problem of WX + mpl.
2020-11-09 14:24:08 +01:00
Sylvain Tricot fac18395c4 Print more path information.
When setting calc.spec_parameters.iprint=3, Spec prints out a huge
amount of information about path taken into account using the series
expansion algorithm.
2020-11-09 14:19:36 +01:00
Sylvain Tricot 46d7290b0f Tiny change: added a debug log line 2020-11-09 14:16:39 +01:00
Sylvain Tricot 0ee6c2d791 Fix bug in spec (files not closed).
Some files were not closed in spec at the end of the program. This
caused some troubles in runing the phagen-spec cycle several times.

A function (CLOSE_ALL_FILES) was added in misc.f to force opened
units in the range [7,200] to be closed before exiting the main
subroutine.
2020-09-28 15:09:47 +02:00
Sylvain Tricot cd3fb05932 Add R-Factor support.
The Curve comparison is possible through R-Factor analysis.
Further comparison like shape analysis, similarity index... will
be included later.

Data export is now possible through the gui menu or as a method of
the Data object.
2020-07-22 18:32:15 +02:00
Sylvain Tricot 3a20719d19 Fix axes graphical bug in clusterviewer.
X, Y, Z axes were not in the right-hand orientation and the
Z-stack for drawing axes was not updated resulting in strange
graphical output (axis could "jump" over another instead of being
drawn behind)
2020-07-22 14:09:51 +02:00
Sylvain Tricot 8e79e90fb5 Add multielement support for SPRKKR potential 2020-07-07 17:27:26 +02:00
Sylvain Tricot 47e35b3b7f New entry point in package.
A module (cli.py) is used to provide an entry point for the msspec
package. It is here to be PEX-compatible (https://github.com/pantsbuild/pex)
that may be used to provide a zero-install msspec distribution.
2020-06-15 16:48:01 +02:00
Sylvain Tricot bec694b16e Minor changes in sprkkr test example. 2020-06-15 16:39:44 +02:00
Sylvain Tricot 6a3492846f Add a f2py_path option to the scons script.
Sometimes the virtualenv version of f2py does not take precedence over
the system-wide one if any. It is now possible to enforce a given
f2py path.
2020-06-04 13:35:45 +02:00
Sylvain Tricot a9d42a81fe Merge branch 'devel' of https://git.ipr.univ-rennes1.fr/epsi/msspec_python3 into devel 2020-06-04 09:07:12 +02:00
Sylvain Tricot 9a0f1d7713 Work on installation.
Try to make it easier and pex compatible
2020-06-04 09:02:10 +02:00
Sylvain Tricot 22a1433726 Fix the install problem due to *.so suffix.
F2PY can generate inconsistent suffix for *.so files due to a
different version of numpy if not the same as the one used
in the virtualenv. The workaround is to remove the
"cpython-36m-x86_64-linux-gnu"-like part of the name. The import
mechanism works well without. This is a tiny hack though.
2020-05-29 16:13:02 +02:00
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 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 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 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 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 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 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