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.
|
6
Doxyfile
6
Doxyfile
|
@ -753,7 +753,7 @@ WARN_LOGFILE =
|
|||
# spaces.
|
||||
# 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
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
|
@ -773,7 +773,7 @@ INPUT_ENCODING = UTF-8
|
|||
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
|
||||
# *.qsf, *.as and *.js.
|
||||
|
||||
FILE_PATTERNS =
|
||||
FILE_PATTERNS =
|
||||
|
||||
# The RECURSIVE tag can be used to specify whether or not subdirectories should
|
||||
# be searched for input files as well.
|
||||
|
@ -1462,7 +1462,7 @@ MATHJAX_FORMAT = HTML-CSS
|
|||
# The default value is: http://cdn.mathjax.org/mathjax/latest.
|
||||
# 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
|
||||
# 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.
|
||||
|
||||
|
||||
Command line utilities
|
||||
----------------------
|
||||
|
||||
* [Overview of the Python command line utilities][cliutils]
|
||||
|
||||
|
||||
Acknowledgments
|
||||
================
|
||||
|
||||
|
@ -128,7 +135,7 @@ Bug reports
|
|||
===========
|
||||
|
||||
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`.
|
||||
|
||||
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
|
||||
[`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
|
||||
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
|
||||
====================
|
||||
|
||||
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).
|
||||
|
||||
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!
|
||||
|
||||
|
||||
|
@ -164,9 +171,12 @@ in Telegram!
|
|||
[OpenBLAS]: https://www.openblas.net/
|
||||
[GSL]: https://www.gnu.org/software/gsl/
|
||||
[cmake]: https://cmake.org
|
||||
[tRITON-README]: README.Triton.md
|
||||
[TRITON-README]: README.Triton.md
|
||||
[tutorial-finite]: finite_systems.md
|
||||
[tutorial-infinite]: lattices.md
|
||||
[doxygen]: http://doxygen.nl/
|
||||
[QD]: https://www.aalto.fi/en/department-of-applied-physics/quantum-dynamics-qd
|
||||
[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".
|
||||
|
||||
|
||||
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
|
||||
lattices2d.py
|
||||
scripts_common.py
|
||||
timetrack.py
|
||||
tmatrices.py
|
||||
types.py
|
||||
svwf.c
|
||||
|
@ -69,15 +67,6 @@ G0L_analytical
|
|||
G0T_analytical
|
||||
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
|
||||
|
Loading…
Reference in New Issue