Docs update

Former-commit-id: 7cd3cfaf51783a252b9ab606ffe329cd581e824d
This commit is contained in:
Marek Nečada 2019-06-13 12:37:31 +03:00
parent 7f3c97e9a5
commit 843d7ac50e
3 changed files with 24 additions and 8 deletions

View File

@ -47,7 +47,7 @@ You also need a fresh enough version of [cmake][].
After GSL is installed, you can install qpms to your local python library using:: After GSL is installed, you can install qpms to your local python library using::
``` ```{.sh}
cmake . cmake .
make amos make amos
python3 setup.py install --user python3 setup.py install --user
@ -66,7 +66,7 @@ Documentation
============= =============
Documentation of QPMS is a work in progress. Most of the newer code Documentation of QPMS is a work in progress. Most of the newer code
is documented using doxygen comments. To build the documentation, just run is documented using [doxygen][] comments. To build the documentation, just run
`doxygen` `doxygen`
in the root directory; the documentation will then be found in in the root directory; the documentation will then be found in
`docs/html/index.html`. `docs/html/index.html`.
@ -89,4 +89,4 @@ Tutorials
[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/

View File

@ -9,6 +9,10 @@ which holds information about particle positions and their T-matrices
keeps track about the symmetry group and how the particles transform keeps track about the symmetry group and how the particles transform
under the symmetry operations. under the symmetry operations.
SVD of a finite symmetric system of scatterers
----------------------------------------------
Let's have look how thinks are done on a small python script. Let's have look how thinks are done on a small python script.
The following script is located in `misc/201903_finiterectlat_AaroBEC.py`. The following script is located in `misc/201903_finiterectlat_AaroBEC.py`.
@ -163,10 +167,22 @@ and saving the lowest singular values (or all singular values smaller than
The singular vectors corresponding to zero singular values represent the The singular vectors corresponding to zero singular values represent the
"modes" of the finite array. "modes" of the finite array.
Analysing the results
---------------------
*TODO analyzing the resulting files.* *TODO analyzing the resulting files.*
Examples of how the data generated above can be analysed
can be seen in the jupyter notebooks from the [qpms_ipynotebooks][]
repository in the `AaroBEC` directory.
[qpms_ipynotebooks]: https://version.aalto.fi/gitlab/qd/qpms_ipynotebooks
[scatsystem.h]: @ref scatsystem.h [scatsystem.h]: @ref scatsystem.h
[qpms_scatsys_t]: @ref qpms_scatsys_t [qpms_scatsys_t]: @ref qpms_scatsys_t
[scuff-tmatrix]: https://homerreid.github.io/scuff-em-documentation/applications/scuff-tmatrix/scuff-tmatrix/ [scuff-tmatrix]: https://homerreid.github.io/scuff-em-documentation/applications/scuff-tmatrix/scuff-tmatrix/

View File

@ -26,7 +26,7 @@ translation operators are computed using the `ew_gen_kin`
utility located in the `qpms/apps` directory. It has to be built utility located in the `qpms/apps` directory. It has to be built
manually like this: manually like this:
``` ```bash
cd qpms/apps cd qpms/apps
c99 -o ew_gen_kin -Wall -I ../.. -I ../../amos/ -O2 -ggdb -DQPMS_VECTORS_NICE_TRANSFORMATIONS -DLATTICESUMS32 2dlattice_ewald.c ../translations.c ../ewald.c ../ewaldsf.c ../gaunt.c ../lattices2d.c ../latticegens.c ../bessel.c -lgsl -lm -lblas ../../amos/libamos.a -lgfortran ../error.c c99 -o ew_gen_kin -Wall -I ../.. -I ../../amos/ -O2 -ggdb -DQPMS_VECTORS_NICE_TRANSFORMATIONS -DLATTICESUMS32 2dlattice_ewald.c ../translations.c ../ewald.c ../ewaldsf.c ../gaunt.c ../lattices2d.c ../latticegens.c ../bessel.c -lgsl -lm -lblas ../../amos/libamos.a -lgfortran ../error.c
``` ```
@ -41,7 +41,7 @@ the rest is specified via command line arguments.
So if we want to examine the line between the Г point and the point So if we want to examine the line between the Г point and the point
\f$ k = (0, 10^5\,\mathrm{m}^{-1}) \f$, we can generate an input \f$ k = (0, 10^5\,\mathrm{m}^{-1}) \f$, we can generate an input
running running
``` ```bash
for ky in $(seq 0 1e3 1e5); do for ky in $(seq 0 1e3 1e5); do
echo 0 $ky >> klist echo 0 $ky >> klist
done done
@ -49,7 +49,7 @@ running
It also make sense to pre-generate the list of *ω* values, It also make sense to pre-generate the list of *ω* values,
e.g. e.g.
``` ```bash
seq 6.900 0.002 7.3 | sed -e 's/,/./g' > omegalist seq 6.900 0.002 7.3 | sed -e 's/,/./g' > omegalist
``` ```
@ -71,7 +71,7 @@ the positions of these particles inside the unit cell.
Assuming we have the `ew_gen_kin` binary in our `${PATH}`, we can Assuming we have the `ew_gen_kin` binary in our `${PATH}`, we can
now run e.g. now run e.g.
``` ```bash
for omega in $(cat omegalist); do for omega in $(cat omegalist); do
ew_gen_kin $omega 621e-9 0 0 571e-9 3 w_$omega 1.52 1 0 0 < klist ew_gen_kin $omega 621e-9 0 0 571e-9 3 w_$omega 1.52 1 0 0 < klist
done done
@ -82,7 +82,7 @@ up to the octupole (`lMax` = 3) order, yielding one file per frequency.
This can take some time and This can take some time and
it makes sense to run a parallelised `for`-loop instead; this is a stupid but working it makes sense to run a parallelised `for`-loop instead; this is a stupid but working
way to do it in bash: way to do it in bash:
``` ```bash
N=4 # number of parallel processes N=4 # number of parallel processes
for omega in $(cat omegalist); do for omega in $(cat omegalist); do
((i=i%N)); ((i++==0)) && wait ((i=i%N)); ((i++==0)) && wait