This hackforcanting version includes rather strange behaviour in the calculate_dipole loop...it will redefine the moments on the correct atoms for Ba2NaOsO6 (yes, it is that hackishly specific) and rotate them about a chosen axis, and repeat this calculation over an arange() of angles. To find this part of the code and alter it, search for 'arange' in mmcalc.py. It's the only one! It also has a similar feature in the draw_magnetic_unit_cell function, where it waits ten seconds to let you orientate the view window correctly, then rotates the moments. It does one rotation, and then once things have stabilised it takes a POV-ray animation by saving loads of .pov files in the output directory. Drag them all onto POV-Ray to render, and then run ImageMagick with convert -delay 5 -loop 0 pov-*.bmp -layers Optimize filename.gif to create a delightful animated GIF. 1.1 *** QUASI-BAYESIAN DIPOLE FIELD ANALYSIS! *** * It is now possible to constrain muon sites with respect to atomic positions. * Histogramming functions added. *** SWISHNESS! *** * Now just type 'mmcalc' at the Windows/Unix command line to start the program. * Label atoms with element names, and subsequent characters to distinguish atoms are ignored by the visualisation routines--so F1 appears as a green fluorine, but can be distinguished when specifying muon site constraints. *** UNDER THE BONNET/BUGFIXES! *** * numpy module renamed np in main program. * Loop bug fixed--no longer loads every value from a CSC *.tsv value as many times as there are columns in that file! Achieved by removing a single erroneous tab. 1.0.5.1 * Fixes accidental missed variable name change which stops the program calculating dipole fields! 1.0.5 *** CRYSTAL STRUCTURE FILES WILL NO LONGER OPEN UNLESS THEY ARE CALLED '*-crystal-structure.json' where * is a wildcard for any name you like. MmCalc will automatically add this to new files, so there is no need to append it when asked to specify a filename. *** *** Truly spherical crystals will be built where alpha,beta,gamma != 90 degrees *** * Total redevelopment of the visualisation controls * A new menu devoted entirely to it * Customisation of atom colour, size, opacity... * Rationalisation of the functions controlling visualisation * 3D stereo options!!! * POV-Ray export * Can now read TSV files regardless of type of line break (Linux: \n, Windows: \r\n, Mac: \r) used * Convergence test now tries 10 points rather than 3 * Even more bugfixes! * All non-magnetic ions are now removed when building vcrystals...previously the 0th remained regardless of moment or absence thereof. 1.0.4 * Doesn't write NaNs to *-dipole-field.tsv, because some versions of NumPy crash on numpy.float('nan') and they're essentially useless anyway. * csc module writes more metadata to output files. * More minor bugfixes. 1.0.3 * Massive speed increase in the loop which calculates dipole fields (~50-100x) thanks to executing the loop entirely in NumPy rather than as a Python for loop. * See http://stackoverflow.com/questions/2586749/what-is-the-most-platform-and-python-version-independent-way-to-make-a-fast-loop * Some minor bugfixes 1.0.1 * can now draw fields between selected values, so you can draw fields where infinities are present.