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.
- 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
This file was created for debugging purposes by the renormalization
procedure. But since it had one line per diffusion path, its size
could rapidly become an issue.
The line is simply commented in the code.
which writes the eigenvalues to a fortran stream file called
eigenvalues.dat, facilitating reading by a python script.
Added call to save_eigenvalues in src/msspec/spec/fortran/eig/common/eig_mat_ms.f
* 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.
This is similar to a "devel" installation, but only the
virtualenv is created and the msspec package is installed
inside (not in edit mode). Bindings to the Fortran code
are not built.
It is intended to use msspec functions to create clusters but
without having to install wx.
The polarization keyword may be None, 'linear_qOz', 'linear_xOy' or
'circular'. The IPOL parameter in spec.dat is set accordingly to
0, 1, -1 or 2 respectively.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commitDetails
This file was updated to be compatible with Python bindings.
The begining of the file is identical to the series expansion
version, so it was copied from there.
The file mpis.f was updated to be compatible with Python
bindings. The module CORREXP_MOD was created and is now
allocated in memalloc/allocation.f. The parameter NLMM was
added to dim_mod.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.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commitDetails
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.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commitDetails
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.
epsi-builds/msspec_python3/pipeline/head This commit looks goodDetails
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.
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.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commitDetails
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.
epsi-builds/msspec_python3/pipeline/head There was a failure building this commitDetails
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.