Commit Graph

13 Commits

Author SHA1 Message Date
kmdunseath deb350a520 For spectrocopy EIG, added the possibility of using Arnoldi iteration techniques
implemented in ARPACK for calculating a subset of eigenvalues rather than all of
them or just the largest one.

This is invoked by setting algorithm='arnoldi' in the constructor MSSPEC.

    calc = MSSPEC(spectroscopy='EIG', algorithm='arnoldi')

This version finds NEV eigenvalues with the largest magnitudes. The value of
NEV is set in the code to be 2% of the total number. The algorithm also sets
the number of basis vectors, NCV, to be 2*NEV. Options for allowing the user
to set these values as well as other convergence criteria should be added in
later versions.

Files src/msspec/calculator.py and src/msspec/parameters.py have been modified
to accept algorithm='arnoldi'.

A new directory, src/msspec/spec/fortran/eig/ar, has been created and contains
various Fortran files implementing the Arnoldi iteration. Some files are written
in Fortran90 free-format and use some features of the Fortran 2003 standard.

Compilation requires the ARPACK library to be installed and accessible using -larpack

Compilation rules and options have been introduced/modified where necessary in the
files src/options.mk, src/msspec/spec/fortran/Makefile and
src/msspec/spec/fortran/eig_ar.mk

This version has been tested for the CaO example.
2023-06-29 11:11:49 +02:00
kmdunseath f5a2b9779c Modifications to build msspec-python3
- Makefile: using python -m venv to create the virtual environment
 - src/options.mk: set PYTHON to python3; add filters and rules to treat .f90 files
 - src/pip.freeze: add packages wheel and wxPython
2023-06-29 10:50:34 +02:00
Sylvain Tricot 5b76612c72 Change the version mechanism.
setuptools_scm is no longer used to get the version
of msspec. This commit is an attempt to sanitize this.
2023-06-02 10:49:09 +02:00
Sylvain Tricot bbc8a92382 Merge tag '1.7.post12' into devel
1.7.post12
2022-10-06 18:27:24 +02:00
Sylvain Tricot 2bdc9943b9 Fix numpy bug with alen()
* The numpy.alen() function is deprecated. We use len() instead
* The use of pkg_resources is discouraged. We use importlib.metadata
  instead. I also removed setuptools_scm get_version. I switch to
  a simple call to "git describe", easier now that we use git flow
* The build fails with python3.10 if compiling wx from sources.
  A fix in the Makefile will be proposed in a future commit.
2022-10-06 18:19:16 +02: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 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 299518f194 Add rule to Makefile to build wxPython 2021-02-22 20:28:13 +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 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 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 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