diff options
author | Thomas White <taw@physics.org> | 2019-03-26 15:13:45 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2019-04-05 15:56:03 +0200 |
commit | 051077e3bcb44822713ec341a25e853fbbc1c811 (patch) | |
tree | 3fcd3f237cd69975b6a3f78816f595c420285e8a /src/cell_tool.c | |
parent | 1089be21d221067cfd2bdefe44d4ec4a3654cf17 (diff) |
cell_tool: Add --csl
Diffstat (limited to 'src/cell_tool.c')
-rw-r--r-- | src/cell_tool.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cell_tool.c b/src/cell_tool.c index 652df885..cd457f25 100644 --- a/src/cell_tool.c +++ b/src/cell_tool.c @@ -67,12 +67,13 @@ static void show_help(const char *s) " --tolerance=<tol> Set the tolerances for cell comparison.\n" " Default: 5,1.5 (axis percentage, angle deg).\n" " --highres=n Resolution limit (Angstroms) for --rings\n" +" --csl Allow --compare to find coincidence site lattice relationships.\n" ); } static int comparecells(UnitCell *cell, const char *comparecell, - double ltl, double atl) + double ltl, double atl, int csl) { UnitCell *cell2; RationalMatrix *m; @@ -90,7 +91,7 @@ static int comparecells(UnitCell *cell, const char *comparecell, cell_print(cell2); STATUS("------------------> The comparison results:\n"); - if ( !compare_reindexed_cell_parameters(cell, cell2, ltl, atl, &m) ) { + if ( !compare_reindexed_cell_parameters(cell, cell2, ltl, atl, csl, &m) ) { STATUS("No relationship found between lattices.\n"); return 0; } else { @@ -425,6 +426,7 @@ int main(int argc, char *argv[]) float highres; double rmax = 1/(2.0e-10); char *trans_str = NULL; + int csl = 0; /* Long options */ const struct option longopts[] = { @@ -440,8 +442,10 @@ int main(int argc, char *argv[]) {"rings", 0, &mode, CT_RINGS}, {"compare-cell", 1, NULL, 3}, {"cell-choices", 0, &mode, CT_CHOICES}, + {"transform", 1, NULL, 4}, {"highres", 1, NULL, 5}, + {"csl", 0, &csl, 1}, {0, 0, NULL, 0} }; @@ -568,7 +572,8 @@ int main(int argc, char *argv[]) if ( mode == CT_FINDAMBI ) return find_ambi(cell, sym, ltl, atl); if ( mode == CT_UNCENTER ) return uncenter(cell, out_file); if ( mode == CT_RINGS ) return all_rings(cell, sym, rmax); - if ( mode == CT_COMPARE ) return comparecells(cell, comparecell, ltl, atl); + if ( mode == CT_COMPARE ) return comparecells(cell, comparecell, + ltl, atl, csl); if ( mode == CT_TRANSFORM ) return transform(cell, trans_str, out_file); if ( mode == CT_CHOICES ) return cell_choices(cell); |