You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Good start, but I think we can do better. First, not all structures need all of these checks; e.g. COFs may be halide salts, or some structures may include hydrogen-bonded moieties. It would be good to be able to flag off any individual check. Second, there are other possible checks that could be made, such as minimum/maximum valency for various atoms.
Idea: dictionary of sanity check rules. rules::Dict{Symbol, Union{Vector{Int},UnitRange{Int}}) So, e.g., :H => [1], :C => 1:4
Then the bond_sanity_check signature could be: bond_sanity_check(crystal::Crystal; rules=rc[:bond_sanity], add_rules=Dict())
If the user wants to provide a complete set of rules, they use the rules kwarg. If the user wants to just modify some rules without changing the global set, they use add_rules. The sanity check is performed using rules = merge(rules, add_rules)
The text was updated successfully, but these errors were encountered:
Existing bond sanity check looks at 3 things:
Good start, but I think we can do better. First, not all structures need all of these checks; e.g. COFs may be halide salts, or some structures may include hydrogen-bonded moieties. It would be good to be able to flag off any individual check. Second, there are other possible checks that could be made, such as minimum/maximum valency for various atoms.
Idea: dictionary of sanity check rules.
rules::Dict{Symbol, Union{Vector{Int},UnitRange{Int}})
So, e.g.,:H => [1]
,:C => 1:4
Then the
bond_sanity_check
signature could be:bond_sanity_check(crystal::Crystal; rules=rc[:bond_sanity], add_rules=Dict())
If the user wants to provide a complete set of rules, they use the
rules
kwarg. If the user wants to just modify some rules without changing the global set, they useadd_rules
. The sanity check is performed usingrules = merge(rules, add_rules)
The text was updated successfully, but these errors were encountered: