Step 4b - Calculate g(r) and S(Q)

The experimental data we’ll be fitting to is neutron scattering data, so we will need to calculate neutron-weighted structure factors.

Layer ⇨ Create ⇨ Correlations ⇨ RDF and Neutron S(Q)

The new layer contains the following modules:

Module Purpose
GR Calculates partial g(r) between every pair of atom types, and sums them into the total G(r)
SQ Calculates partial S(Q) between every pair of atom types by Fourier-transforming a source set of g(r), and sums them into the total F(Q)
NeutronSQ Takes the S(Q) calculated by an SQ module to generate the neutron-weighted partial and total structure factors

Note that the ordering of these three modules in the layer is important - calculating the neutron-weighted structure factors requires the unweighted structure factors from the SQ module, which in turn requires the radial distribution functions from the GR module. Modules are run “top to bottom” in the list, fulfilling the requirement that the GR module runs before the SQ module etc.

We will now need to set a few parameters in the NeutronSQ module, in particular informing it of the isotopic composition of our system and loading in reference data.

A NeutronSQ module calculates S(Q) and F(Q) for a single isotopic composition. Where there are multiple isotopic samples, you need to add a NeutronSQfor each distinct isotopic composition.

Set up Isotopes

The NeutronSQ module will use isotopic natural abundances to calculate the neutron weights for all species unless we tell it otherwise. We’ll first define the correct isotopologue for our argon species, and then tell NeutronSQ to use it. The experimental measurement was made using Ar36 since its coherent scattering cross-section (24.9 fm) is considerably higher than that of the naturally-occurring mix (1.91 fm).

Go to the   Ar   species tab

Click on the   Isotopologues   section

Click Add to create a new isotopologue definition assigning the default (natural) isotope to each atom type present in the species

Change the entry for the Ar atom type from Natural (bc = 1.909 fm) to 36 (bc = 24.9 fm)

For sanity’s sake, you may also want to double-click on the name of the isotopologue in order to change it to something more meaningful (‘Ar36’ perhaps)

Now we’ll go to our calculation layer and set the isotopologue for our NeutronSQ module:

Go to the   G(r) / Neutron S(Q)   layer tab

Select the NeutronSQ module and open its main Options

The Isotopologue keyword currently shows that all species will “Default to Natural” isotopologues

Click the button for the Isotopologue keyword to open its full options

Press the Species button to populate the list with the default isotopic selection for each species

Change the isotopologue for the argon species from Natural to Ar36 (assuming that you changed the name earlier!)

The ‘Natural’ isotopologue for each species is defined internally by Dissolve, and is always available. It does not appear in the list of defined isotopologues on the species tab.

Import Reference Data

The NeutronSQ module itself looks after any related experimental reference data that we might wish to compare our calculated data to, and which we’ll now set up.

Go to the   G(r) / Neutron S(Q)   layer tab

Select the NeutronSQ module and look for the Reference Data settings group

For the Reference keyword open the file yarnell.sq, and set the format of the data to xy

The data, along with its Fourier transform, can now be seen in the module’s Output page. You may notice that the data have been normalised to the average squared value of the atomic scattering and oscillate around 1.0 - we will need to tell Dissolve to convert the data back to absolute units and make it oscillate around zero.

Select the NeutronSQ module and find the Reference Data settings group (go back to the Options page if you need to)

Set the ReferenceNormalisedTo style to SquareOfAverage

This tells Dissolve that the data have been normalised, and allows Dissolve to remove that normalisation in order to get the data in the correct units

Open the options for the file import at the extreme right of the ReferenceData keyword

Find the Manipulations group and set the RemoveAverage value to 9.0

This will instruct Dissolve to work out the average value of the data from a Q of 9.0 Å-1 onwards, and subtract it from the data


Previous Step Next Step

Last modified April 15, 2024: doc: Update docs (#1841) (db3f5947c)