Dipole field menu - ajsteele/mmcalc GitHub Wiki
Convergence testing
Dipole field calculations operate under conditions of diminishing returns: every additional spherical shell of dipoles adds a smaller amount to the accuracy of your calculation. Consequently, it is worth doing a convergence test to establish how fast your chosen crystal’s field converges with increasing size of virtual spherical crystal.
The convergence test chooses three points at random within the unit cell and evaluates the dipole field at each. First it does this for a ‘large’ crystal with R = 31a whose answer is considered ‘perfect’, then it does so for 1a ≤ R ≤ 20a. The output is a three-column table showing radius of the sphere tested, the percentage difference from the reference result, and the time it would take to calculate the dipole field at 1,000,000 points, equivalent to a 100×100×100 grid inside the unit cell, with this radius of virtual crystal.
The size of the percentage deviation will often vary somewhat erratically; for example, a deviation of 0% which is both preceded and followed by nonzeros probably does not indicate that this radius gives perfect answers, but that the sphere generated shares properties with the R = 31 reference sphere.
MmCalc also draws the virtual crystal for a radius R = 10 as a sanity check. You should see a large sphere of atoms, and only those atoms with magnetic moments specified should be displayed.
Notes
- The random points are not quite random: they are tested to ensure they are not unphysically close to an atom. A muon is unlikely to stop in such a position, and they can converge anomalously fast if the reference point is a magnetic ion, causing the local field to be dominated by the field from the very nearby dipole.
- R = 31a is chosen firstly because empirically it seems to be large enough and secondly because 31 is prime, hopefully reducing the incidence of possible strange effects (for example apparently perfectly accurate calculations) where the reference where the test sphere’s radius is a factor of the reference sphere’s.
Vcrystal size
The virtual crystal used to calculate the dipole field must then be specified based on the results of the convergence test.
Using a vcrystal file
If you wish to use a ready-made vcrystal file, this option overrides the radius set above which is normally used to generate one from scratch. This allows re-use of previously-generated vcrystal files for testing or time-saving purposes, and also allows nonstandard virtual crystals to be used. One example of a use for this is where DFT calculations had been used to establish both a muon site and the effects the muon had on the surrounding crystal: the central unit cells in the vcrystal were then manually modified to reflect this distortion.
Points
This menu allows you to choose how the points at which a dipole field is evaluated are chosen. This can be over a grid of evenly-spaced points in three-dimensional space, chosen at random by a Monte Carlo method, or specified individually by the user.
- Points on a grid run from 0 ≤ z < nc, etc, where n is the number of crystallographic unit cells in the magnetic unit cell (check this!). (I've written this in terms of z along the c-axis because c is defined to fall along z in MµCalc, and writing similar statements for other axes would be somewhat inelegant!)
Muon site constraints
It is possible to constrain the positions which the muon is allowed to occupy. The dipole field will then only be evaluated at a subset of the points generated by the method chosen which satisfy any constraints placed upon muon site. A sparse grid or a handful of user-specified points may therefore not result in any dipole fields being calculated!
Constraints relative to atoms
- An element must be chosen relative to which the constraints will be applied. If no numerical suffix is added, all atoms of that element will be chosen, whilst adding a suffix specifies a certain subset of those elements. It is currently not possible to specify individual atoms, but since a numerical suffix should be sufficient to isolate only atoms which are symmetry-equivalent, and a muon should find all symmetry-equivalent sites equally desirable, this shouldn't prove necessary.
- As well as elements, it's also possible to have a catch-all constraint by entering 'all'. For example, a muon is unlikely to stop right next to any given atom, so putting in an 'all' constraint with a small minimum distance might be useful.
- Then specify a minimum distance which a muon can be from a given atom, in whatever units were specified in the crystal.
- Then specify a maximum distance a muon may be from an atom. Typing 'n' specifies infinity, which may be sensible in many cases. A maximum distance might be used due to a muon–atom bond length being known (eg due to dipole–dipole oscillations recorded in the paramagnetic phase).
Evaluating dipole fields by direct summation
Having entered all the required information, it's then time to calculate some dipole fields! Direct summation is specified here to distinguish from the faster but significantly more complicated 'Ewald summation', not currently implemented in MµCalc.
- Enter a descriptive title for your output files. This will be applied to the vcrystal, if generated, and the dipole field file. There is no need to record the date and time, which vcrystal was used or how the points were generated, as these are included in the file headers automatically.
- Then enter a filename. Extensions denoting file type will be added automatically. All ASCII characters (ie alphanumerics, common punctuation), including spaces, should be fine.