| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
According to page 20 of T. Fritz, Molecular Architecture in Heteroepitaxially Grown Organic Thin Films one needs to treat hexagonal lattices specially, as for each sets of lattice vectors a1,a2 there exists a fully equivalent set given by a1'=a1, and a2'=a1-a2.
The latest change of the code checks if α is exactly a multiple of 60 degrees (except for the clearly nonsensical 180 and 0 degrees) and if that's the case, runs the main loop twice, with alpha set to 60° and 120°. By this, the mirror symmetry of the hexagonal lattice is preserved.
|
| |
|
|
|
|
|
| |
By adding a new angleset class, things get much easier to read. Also, the part of the previous commit that dealt with combining the individual ranges was kind of stupid.
Things missing:
o) functions to remove angle ranges from a set
o) deferred add functions, that allow adding multiple ranges without calling the O(n²) function angleset::combine() in between.
|
| |
|
|
|
|
| |
This change introduces (experimental and not very clean) combining of results. It might be worth writing a disjoint angle range class to get cleaner code here, as the while loops at the end are quite far from being beautiful.
In addition the output ranges are sorted by their lower border. I'm using Lambda expressions for this, so C+11 is required.
Also, this is currently completely untested.
|
| |
|
|
|
| |
As the most important part of the formulas are the signs, factorizing greatly helps readability.
Also, some other polishing.
|
| |
|
|
| |
An obvious copy&paste error. Probably not the only one in this program...
|
| | |
|
| |
|