Docs: Add overview of CLI utilities; optimisation TODO
This commit is contained in:
parent
93118cfc07
commit
f7883a713b
|
@ -0,0 +1,43 @@
|
||||||
|
Overview of QPMS command line utilities
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
The utilities are located in the `misc` directory. Run the
|
||||||
|
utility with `-h` argument to get more info.
|
||||||
|
|
||||||
|
|
||||||
|
Rectangular and square 2D lattices
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
These scripts deal with simple 2D rectangular lattices,
|
||||||
|
finite or infinite, one scatterer per unit cell.
|
||||||
|
\f$ D_{2h} \f$ or \f$ D_{4h} \f$ symmetric adapted bases
|
||||||
|
are used where applicable.
|
||||||
|
|
||||||
|
### Finite lattices
|
||||||
|
|
||||||
|
* `finiterectlat-modes.py`: Search for resonances using Beyn's algorithm.
|
||||||
|
* `finiterectlat-scatter.py`: Plane wave scattering.
|
||||||
|
* `finiterectlat-constant-driving.py`: Rectangular array response to
|
||||||
|
a driving where a subset of particles are excited by basis VSWFs with the
|
||||||
|
same phase.
|
||||||
|
|
||||||
|
### Infinite lattices
|
||||||
|
|
||||||
|
* `rectlat_simple_modes.py`: Search for lattice modes using Beyn's algorithm.
|
||||||
|
* `infiniterectlat-k0realfreqsvd.py`:
|
||||||
|
Evaluate the lattice mode problem singular values at the Γ point for a real frequency interval.
|
||||||
|
Useful as a starting point in lattice mode search before using Beyn's algorithm.
|
||||||
|
* `infiniterectlat-scatter.py`: Plane wave scattering.
|
||||||
|
|
||||||
|
|
||||||
|
General 2D lattices
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
### Infinite lattices
|
||||||
|
|
||||||
|
These can contain several scatterers per unit cell. Symmetry adapted bases currently not implemented.
|
||||||
|
|
||||||
|
* `lat2d_modes.py`: Search for lattice modes using Beyn's algorithm.
|
||||||
|
* `lat2d_realfreqsvd.py`:
|
||||||
|
Evaluate the lattice mode problem singular values at the Γ point for a real frequency interval.
|
||||||
|
Useful as a starting point in lattice mode search before using Beyn's algorithm.
|
4
Doxyfile
4
Doxyfile
|
@ -753,7 +753,7 @@ WARN_LOGFILE =
|
||||||
# spaces.
|
# spaces.
|
||||||
# Note: If this tag is empty the current directory is searched.
|
# Note: If this tag is empty the current directory is searched.
|
||||||
|
|
||||||
INPUT = qpms notes finite_systems.md README.md README.Triton.md finite_systems.md lattices.md TODO.md
|
INPUT = qpms notes misc finite_systems.md CLIUTILS.md README.md README.Triton.md finite_systems.md lattices.md TODO.md
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||||
|
@ -1462,7 +1462,7 @@ MATHJAX_FORMAT = HTML-CSS
|
||||||
# The default value is: http://cdn.mathjax.org/mathjax/latest.
|
# The default value is: http://cdn.mathjax.org/mathjax/latest.
|
||||||
# This tag requires that the tag USE_MATHJAX is set to YES.
|
# This tag requires that the tag USE_MATHJAX is set to YES.
|
||||||
|
|
||||||
MATHJAX_RELPATH = https://cdn.jsdelivr.net/npm/mathjax
|
MATHJAX_RELPATH = https://uslugi.necada.org/js/mathjax
|
||||||
|
|
||||||
# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
|
# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
|
||||||
# extension names that should be enabled during MathJax rendering. For example
|
# extension names that should be enabled during MathJax rendering. For example
|
||||||
|
|
20
README.md
20
README.md
|
@ -112,6 +112,13 @@ Tutorials
|
||||||
|
|
||||||
See also the examples directory in the source repository.
|
See also the examples directory in the source repository.
|
||||||
|
|
||||||
|
|
||||||
|
Command line utilities
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
* [Overview of the Python command line utilities][cliutils]
|
||||||
|
|
||||||
|
|
||||||
Acknowledgments
|
Acknowledgments
|
||||||
================
|
================
|
||||||
|
|
||||||
|
@ -128,7 +135,7 @@ Bug reports
|
||||||
===========
|
===========
|
||||||
|
|
||||||
If you believe that some parts of QPMS behave incorrectly, please mail
|
If you believe that some parts of QPMS behave incorrectly, please mail
|
||||||
a bug report to <marek@necada.org>. To ensure that your message is not
|
a bug report to [marek@necada.org][authormail]. To ensure that your message is not
|
||||||
considered spam, please start the subject line with `QPMS`.
|
considered spam, please start the subject line with `QPMS`.
|
||||||
|
|
||||||
If you were able to fix a bug yourself, please include the patch as well,
|
If you were able to fix a bug yourself, please include the patch as well,
|
||||||
|
@ -143,7 +150,7 @@ documentation, code quality, or new features.
|
||||||
|
|
||||||
You can send patches prepared using the
|
You can send patches prepared using the
|
||||||
[`git format-patch`](https://git-scm.com/docs/git-format-patch) tool
|
[`git format-patch`](https://git-scm.com/docs/git-format-patch) tool
|
||||||
to <marek@necada.org>.
|
to [marek@necada.org][authormail].
|
||||||
|
|
||||||
If you plan to contribute with major changes to the codebase, it is
|
If you plan to contribute with major changes to the codebase, it is
|
||||||
recommended to discuss that first (see the contact information below).
|
recommended to discuss that first (see the contact information below).
|
||||||
|
@ -152,10 +159,10 @@ recommended to discuss that first (see the contact information below).
|
||||||
Contact & discussion
|
Contact & discussion
|
||||||
====================
|
====================
|
||||||
|
|
||||||
You can contact the main author e.g. via [e-mail](marek@necada.org)
|
You can contact the main author e.g. via [e-mail][authormail]
|
||||||
or [Telegram](https://t.me/necadam).
|
or [Telegram](https://t.me/necadam).
|
||||||
|
|
||||||
You are also warmly welcome to the [QPMS user chat](https://t.me/QPMScattering)
|
You are also warmly welcome to the [QPMS user chat][telegramchat]
|
||||||
in Telegram!
|
in Telegram!
|
||||||
|
|
||||||
|
|
||||||
|
@ -164,9 +171,12 @@ in Telegram!
|
||||||
[OpenBLAS]: https://www.openblas.net/
|
[OpenBLAS]: https://www.openblas.net/
|
||||||
[GSL]: https://www.gnu.org/software/gsl/
|
[GSL]: https://www.gnu.org/software/gsl/
|
||||||
[cmake]: https://cmake.org
|
[cmake]: https://cmake.org
|
||||||
[tRITON-README]: README.Triton.md
|
[TRITON-README]: README.Triton.md
|
||||||
[tutorial-finite]: finite_systems.md
|
[tutorial-finite]: finite_systems.md
|
||||||
[tutorial-infinite]: lattices.md
|
[tutorial-infinite]: lattices.md
|
||||||
[doxygen]: http://doxygen.nl/
|
[doxygen]: http://doxygen.nl/
|
||||||
[QD]: https://www.aalto.fi/en/department-of-applied-physics/quantum-dynamics-qd
|
[QD]: https://www.aalto.fi/en/department-of-applied-physics/quantum-dynamics-qd
|
||||||
[lepaper]: https://arxiv.org/abs/2006.12968
|
[lepaper]: https://arxiv.org/abs/2006.12968
|
||||||
|
[telegramchat]: https://t.me/QPMScattering
|
||||||
|
[authormail]: mailto:marek@necada.org
|
||||||
|
[cliutils]: CLIUTILS.md
|
||||||
|
|
13
TODO.md
13
TODO.md
|
@ -40,3 +40,16 @@ Nice but less important features
|
||||||
|
|
||||||
- Static, thread-safe caches of constant coefficients + API without the current "calculators".
|
- Static, thread-safe caches of constant coefficients + API without the current "calculators".
|
||||||
|
|
||||||
|
|
||||||
|
Optimisations
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- Leaving out the irrelevant elements if a "rectangular" block of the translations matrix is needed.
|
||||||
|
- Ewald sums with "non-parallel" shifts (are about 20 times slower than the purely parallel ones).
|
||||||
|
- Reusing intermediate results (profiling needed)
|
||||||
|
* Bessel, Legendre functions (see also branch `finite_lattice_speedup`)
|
||||||
|
* Lattice points (sorting and scaling)
|
||||||
|
* Γ/Δ functions (for periodic lattices)
|
||||||
|
- More parallelisation.
|
||||||
|
- Possibly pre-calculation of the (precise) coefficients in Bessel and Legendre functions (using gmp)
|
||||||
|
- Asymptotic approximations of the Bessel functions for far fields.
|
||||||
|
|
|
@ -4,8 +4,6 @@ qpms_p.py (až na změny souřadnic???)
|
||||||
|
|
||||||
## Nové věci
|
## Nové věci
|
||||||
lattices2d.py
|
lattices2d.py
|
||||||
scripts_common.py
|
|
||||||
timetrack.py
|
|
||||||
tmatrices.py
|
tmatrices.py
|
||||||
types.py
|
types.py
|
||||||
svwf.c
|
svwf.c
|
||||||
|
@ -69,15 +67,6 @@ G0L_analytical
|
||||||
G0T_analytical
|
G0T_analytical
|
||||||
G0_sum_1_slow
|
G0_sum_1_slow
|
||||||
|
|
||||||
# scripts_common.py
|
|
||||||
## funkce
|
|
||||||
make_action_sharedlist
|
|
||||||
add_argparse_k_output_options
|
|
||||||
add_argparse_unitcell_definitions
|
|
||||||
add_argparse_infinite_lattice_options
|
|
||||||
add_argparse_output_options
|
|
||||||
add_argparse_common_options
|
|
||||||
arg_preprocess_particles
|
|
||||||
|
|
||||||
# timetrack.py
|
# timetrack.py
|
||||||
|
|
Loading…
Reference in New Issue