Docs update
Former-commit-id: 7cd3cfaf51783a252b9ab606ffe329cd581e824d
This commit is contained in:
parent
7f3c97e9a5
commit
843d7ac50e
|
@ -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/
|
||||||
|
|
|
@ -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/
|
||||||
|
|
10
lattices.md
10
lattices.md
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue