Skip to content

Instantly share code, notes, and snippets.

@ExpHP
Created June 26, 2017 21:22
Show Gist options
  • Select an option

  • Save ExpHP/6ddbb48e038bfc9eab5daf192584cd92 to your computer and use it in GitHub Desktop.

Select an option

Save ExpHP/6ddbb48e038bfc9eab5daf192584cd92 to your computer and use it in GitHub Desktop.

June 26 2017 - RELAXATION OR BUST

ABA/ABC: Try the automatic lattice parameter minimization.

For a baseline of comparison. Also, just in case things have somehow improved.

Result of relaxing ABC VDW

input layer sep
3.35 A; same as AB-stacked BLG
input parameter a
2.46 A; same as graphene
relaxed layer sep
3.3737 A (same for both pairs of adjacent layers)
relaxed parameter a
2.417 A
symmetry
P1 (!!!!)
  • negative frequency bump around gamma in the lowest freq single band

freqs of lowest band at small x near gamma

THzwavenumber
-0.0000009477-3.1611870e-5
-0.0102594265-0.34221764
-0.0186724439-0.62284569
-0.0241636577-0.80601287
-0.0236045708-0.78736374
0.00929874550.31017277

./files/abc-manual-vdw/eigenvalues.yaml

ABA/ABC: Manual lattice parameters.

steps

  • Plot energy vs (a,c) WITHOUT relaxing
  • Where is the min energy?
  • How does it compare to what was found automatically?
  • Relax that
  • How are the frequencies now?

Computation: ./files/do-params/proj/params/abc

Results for ABC can be seen here:

Google sheets for ABC manual data

bands for fixed one that starts near good (a,c): (result: OK!)

Computation: ./files/do-params/work/closeby-abc-fixed

layer sep
3.376 A
parameter a
2.4231 A (= 0.985 * 2.46)
iterations to relax
4
relaxed energy
-10608.260 eV
symmetry
P-3m1 (164)

freqs of lowest band at small x near gamma (no negative bump!)

THzwavenumber
-0.0000002956-9.8601548e-6
0.02594681390.86549256
0.05254483031.7527069
0.08004371642.6699710
0.10890081273.6325402
0.13951736414.6537984

:'<,'>! grep -A3 band | grep frequency

bands for auto one that starts near good (a,c): (result: BAD!)

Computation: ./files/do-params/work/closeby-abc-auto

NOTE: Input looks identical to the fixed one because golden search configuration is hardcoded in the Shakefile.

initial layer sep
3.376 A
initial parameter a
2.4231 A
golden search range
(0.975, 1.036) times initial a (2.363, 2.510)
golden search tolerance
1e-3
relaxed layer sep
3.3737
relaxed parameter a
2.4158 A
worst energy attained
-10589.260
approx iterations to relax, for each value of ‘a’ tested
70, 10, 25, 10, 35, 10, 95 (note: the counts of ~10 are always when it goes from a smaller value of ‘a’ to a larger value; the larger counts are when ‘a’ decreases)
relaxed energy
-10608.569 eV
symmetry
P-3m1

freqs of lowest band at small x near gamma (bad!)

THzwavenumber
-0.0000015145-5.0518283e-5
-0.0170219320-0.56779054
-0.0329636166-1.0995479
-0.0473640229-1.5798938
-0.0592021276-1.9747704
-0.0671887257-2.2411747
-0.0693825483-2.3143527
-0.0620172616-2.0686732
-0.0308961545-1.0305848
0.06793081722.2659282

bands for auto one with smaller interval: (result: STILL BAD!)

Computation: ./files/do-params/work/closeby-abc-narrower

that previous one had a very large search interval compared to the interval we manually searched for the center point, which seems silly. This interval is more reasonably narrowed down.

initial layer sep
3.376 A
initial parameter a
2.4231 A
golden search range
(0.99, 1.01) times initial a; (2.399 A, 2.447 A), or (0.975, 0.995) times 2.46
golden search tolerance
1e-3
relaxed layer sep
3.3739 A
relaxed parameter a
2.4147 A
worst energy attained
-10606.850000
approx iterations to relax, for each value of ‘a’ tested
(60, 10, 50, 10, (as before, the 10-iteration ones are precisely those where ‘a’ increases)
relaxed energy
10608.463
symmetry
P-3m1

freqs of lowest band at small x near gamma

THzwavenumber
-0.0000008226-2.7438983e-5
-0.0211821797-0.70656147
-0.0415198502-1.3849531
-0.0606400597-2.0227347
-0.0777968169-2.5950225
-0.0921453269-3.0736373
-0.1026288422-3.4233297
-0.1077867267-3.5953782
-0.1052963341-3.5123077
-0.0904623818-3.0175003
-0.0453065519-1.5112639
0.09084792363.0303606

bands for auto with no guess preservation:

Computation: ./files/do-params/work/??????????????/

initial layer sep
3.376 A
initial parameter a
2.4231 A
golden search range
(0.99, 1.01) times initial a; (2.399 A, 2.447 A), or (0.975, 0.995) times 2.46
golden search tolerance
1e-3
relaxed layer sep
??????????
relaxed parameter a
??????????
worst energy attained
??????????
approx iterations to relax, for each value of ‘a’ tested
??????????????
relaxed energy
????????????
symmetry
???????????

freqs of lowest band at small x near gamma

THzwavenumber

NOTE status quo for ABC (WITHOUT parameter optimization)

Computation: ./files/do-params/proj/params/abc/1.000-1.000/

layer sep
3.35 A
parameter a
2.46 A
golden search
none
relaxed layer sep
??????????
iterations to relax
200 (exceeded limit)
relaxed energy
-10582.29 eV
symmetry
P-3m1

freqs of lowest band at small x near gamma

THzwavenumber
-0.0000022343-7.4528227e-5
0.07098293952.3677360
0.14219621734.7431553

Summary: for ABC at zero degrees

Did scanning (without relaxing) for approximate ‘a’ and layer sep produce different values from what I’ve been using (YES)

layer sep
3.35 -> 3.37
parameter a
2.46 -> 2.42

Does that approximate ‘a’ suffice for band computation, or does relaxation further change it? (DATA IS TOO COARSE )

(see Google sheet. Automatic relaxation very consistently gets within a much tighter interval than the (0.005 x 2.46 A) steps I computed)

Did scanning (without relaxing) for approximate ‘a’ and layer sep result in faster relaxation? (YES)

Does this mean the force tolerance can be comfortably lowered now? (TODO - HAVEN’T TRIED)

Did scanning (without relaxing) for approximate ‘a’ and layer sep resolve the instability of parameter relaxation? (ONLY PARTIALLY; SYMMETRY IS NOW PRESERVED)

Did decreasing the search interval for golden search resolve the issues of parameter relaxation? (NOT EVEN CLOSE)

Does disabling guess-sharing for golden search resolve the issues of parameter relaxation? (TODO - HAVEN’T TRIED)

… although it obviously will since it would be equivalent to manual parameter search. (Note however that guess-sharing cannot be the cause of the issues observed in the rotated data, which did not use golden search.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment