|
occ
|
Hyper-parameters for the RINSE descriptor. More...
#include <rinse.h>
Public Member Functions | |
| double | q_max () const |
| |G| cutoff in A^-1, implied by radial_scale, n_max and the basis. | |
| double | q_cutoff () const |
| |G| out to which reflections are gathered, qmax_factor * q_max(), in A^-1. | |
| double | sin_theta_over_lambda_max () const |
| The resolution of the gathered reflections, sin(theta)/lambda = q_cutoff()/2, in A^-1. | |
| std::vector< int > | l_values () const |
| The angular levels, l_min, l_min+2, ..., l_max-2. | |
| int | num_l_levels () const |
| Number of angular levels. | |
| int | size () const |
| Length of the flattened descriptor, n_max * num_l_levels(). | |
| void | validate () const |
Public Attributes | |
| int | n_max {16} |
| Number of radial shells; radial orders are n = 0 .. n_max-1. | |
| int | l_min {4} |
| First angular level. 4 drops the monopole and quadrupole terms. | |
| int | l_max {20} |
| One past the last angular level, so l runs over l_min, l_min+2, ..., l_max-2. | |
| double | radial_scale {0.3} |
| Per-shell scale in A^-1. | |
| double | qmax_factor {1.2} |
| Reflections are gathered out to qmax_factor * q_max(), not q_max(), so that the Gaussian tails of the outermost shells are represented. | |
| RinseRadialBasis | radial_basis {RinseRadialBasis::CVGaussian} |
| std::optional< double > | fixed_uiso {} |
| Discard the ADPs in the structure and give every atom this isotropic U, in A^2. | |
| bool | monopole_normalisation {true} |
| Divide each radial level's power by its monopole (l = 0) power, which is that shell's spherically-averaged scattering. | |
| bool | log1p {false} |
| Compress the power spectrum with log1p. | |
| bool | l2 {true} |
| Scale the whole descriptor to unit L2 norm. | |
Hyper-parameters for the RINSE descriptor.
The defaults, those of rinse-descriptor 3.2.0, give the 16 x 8 = 128 element descriptor: radial orders n = 0..15 and angular levels l = 4, 6, ..., 18.
| std::vector< int > occ::descriptors::RinseParams::l_values | ( | ) | const |
The angular levels, l_min, l_min+2, ..., l_max-2.
| int occ::descriptors::RinseParams::num_l_levels | ( | ) | const |
Number of angular levels.
| double occ::descriptors::RinseParams::q_cutoff | ( | ) | const |
|G| out to which reflections are gathered, qmax_factor * q_max(), in A^-1.
| double occ::descriptors::RinseParams::q_max | ( | ) | const |
|G| cutoff in A^-1, implied by radial_scale, n_max and the basis.
| double occ::descriptors::RinseParams::sin_theta_over_lambda_max | ( | ) | const |
The resolution of the gathered reflections, sin(theta)/lambda = q_cutoff()/2, in A^-1.
| int occ::descriptors::RinseParams::size | ( | ) | const |
Length of the flattened descriptor, n_max * num_l_levels().
| void occ::descriptors::RinseParams::validate | ( | ) | const |
| std::invalid_argument | if the parameters are not a usable set. |
| std::optional<double> occ::descriptors::RinseParams::fixed_uiso {} |
Discard the ADPs in the structure and give every atom this isotropic U, in A^2.
Unset (the default) uses the ADPs as read.
The descriptor is sensitive to ADPs: dropping them can move it a sizeable fraction of the way to a different polymorph. Set this when comparing structures that do not all carry ADPs – a predicted or DFT-relaxed structure against an experimental one, say – with the same value for every structure compared.
| bool occ::descriptors::RinseParams::l2 {true} |
Scale the whole descriptor to unit L2 norm.
| int occ::descriptors::RinseParams::l_max {20} |
One past the last angular level, so l runs over l_min, l_min+2, ..., l_max-2.
| int occ::descriptors::RinseParams::l_min {4} |
First angular level. 4 drops the monopole and quadrupole terms.
| bool occ::descriptors::RinseParams::log1p {false} |
Compress the power spectrum with log1p.
Off by default; useful mainly when the monopole term is included.
| bool occ::descriptors::RinseParams::monopole_normalisation {true} |
Divide each radial level's power by its monopole (l = 0) power, which is that shell's spherically-averaged scattering.
This is what removes the resolution-dependent intensity envelope, and unlike a fitted envelope it is unbothered by systematic absences. Applied before log1p and l2.
| int occ::descriptors::RinseParams::n_max {16} |
Number of radial shells; radial orders are n = 0 .. n_max-1.
| double occ::descriptors::RinseParams::qmax_factor {1.2} |
Reflections are gathered out to qmax_factor * q_max(), not q_max(), so that the Gaussian tails of the outermost shells are represented.
At least 1.
| RinseRadialBasis occ::descriptors::RinseParams::radial_basis {RinseRadialBasis::CVGaussian} |
| double occ::descriptors::RinseParams::radial_scale {0.3} |