Programs display_densities - display of the superstructure and excitations

The program display_densities can be used simply to popout spin/exchange field configuration and also to display a 3d animation of spin/moment/densities, even including a movie of excitations.

Figure 18: Calculated Spin-Structure of NdCu$_2$ at $T=$ 1.5 K and $H=0$. [plot created by program display_densities]
\includegraphics[angle=0, width=1.0\textwidth]{figsrc/ndcu2b/resultss/spinsab.eps}

display_densities -f mcphas.sps T Ha Hb Hc
display_densities -f mcphas.sps x y
if used with -f filename this file has to be a mcphas.mf or mcphas.sps file, the spin configuration at given temperature T[K] and magnetic effective field H[T] is read and extracted from this file and printed on screen (stdout), nothing else is done. Insterad of temperature and magnetic field also the x y point coordinates in the phasediagram can be given.
display_densities [-c$\vert$-s$\vert$-o$\vert$-m$\vert$-j] [-p i j k$\vert$-div] [-S$\vert$-L$\vert$-M] [-P] T Ha Hb Hc [h k l E]
display_densities [-c$\vert$-s$\vert$-o$\vert$-m$\vert$-j] [-p i j k$\vert$-div] [-S$\vert$-L$\vert$-M] [-P] x y
if used without a filename, the information is read from results/mcphas.* res ults/mcdisp.* output files and 3d graphical animations are created.
   options are:
         -c ... calculate chargedensity
         -s ... calculate spindensity
         -o ... calculate angular orbital momentum density
         -m ... calculate magnetic moment density
         -j ... calculate currentdensity
         -p i j k ... calculate projection of spin/orbital/current/magnetic moment density
                  along direction i j k, e.g. 0 0 1
         -div    ... calculate divergence of spin/orbital/current/magnetic moment density
         -S  ... show arrow indicating spin
         -L  ... show arrow indicating orbital angular momentum
         -M  ... show arrow indicating magnetic moment
         -P  ... calculate phononic displacement
         note, that in order to animate changes in the above quantities, the corresponding
         switch has to be enabled in the mcdisp calculation (mcdisp.par) and the single ion
         modules have to be capable of calculating the corresponding observables.

     example:
        display_densities -c 2 0 0 1
        ...calculates the charge density at T=2K and H=(0,0,1) Tesla

Figure 19: Calculated 4f Charge-Structure of NdCu$_2$ at $T=$ 1.5 K and $H=0$. [plot created by program display_densities]
\includegraphics[angle=0, width=0.7\textwidth]{figsrc/ndcu2b/resultss/chargesab.eps}

The program can be used to calculate (partial) chargedensity for the unfilled shells of magnetic ions in a magnetic unit cell, which has been calculated by mcphas and stored in mcphas.mf for a specific temperature and magnetic field. For the calculation of the charge density the formula are used as given in appendix L. In order to do so display_densities requires input files and the result of a full mcphas simulation. Alternatively, display_densities can calculate the spindensity, the orbital magnetic moment density, the total magnetic moment density (in Trammel gauge) and the (orbital) electric current density.

The program outputs a magnetic structure (and magnetic excitation) graphic/movie in the output files of different format: results/spins*.eps (postscript), results/spins*.fst (fp_studio), results/spins.out (ascii) and results/spins*.jvx (javaview).

Output files:

  1. encapsulated postscript ps-file results/spins*.eps of a spin/orbital/totalmagnetic moment configuration,
  2. the files results/spins.fst and results/spins_prim.fst are created, which can be read by the fullprof program fp_studio for on screen display of a spin/orbital/totalmagnetic moment configuration,
  3. the configuration of expectation values $\langle\mathbf I\rangle$ (or whatever is stored in the file addressed by the option -f) is printed to stdout - therefore this program can be used with option -f results/mcphas.mf to generate an input file for program McDisp (example: spins -f results/mcphas.mf 1 1 0 0 $>$ mcdisp.mf)
  4. the text file results/spins.out is created, which is useful to produce input files for the diffraction program mcdiff (done in the script setup_mcdiff_in)
  5. the graphics files results/spins.jvx and results/spins_prim.jvx, which can be displayed by the program javaview, e.g. by the command java javaview spin_prim.jvx.
  6. if spins is used with arguments h k l E(meV), it takes the eigenvectors of magnetic excitations from files results/mcdisp.q* created by mcdisp) and produces a graphical animation of the spin osciallation which is associated with this magnetic mode. The output is a series of files results/spins.*.jvx and results/spins_prim.*.jvx which can be viewed by program javaview, e.g. by the command java javaview "model=results/spins_prim.*.jvx" Animation.LastKey=16 background="255 255 255". javaview is also able to produce a sequence of gif files (press c in the animation window), which can then be processed by an animation editor to generate an animation, which can be inserted in presentations. For example, you can use Imagemagick graphics package (has to be installed separately!) to create an animation. The following command will issue a proper gif animation, which you can include in power point presentations etc.: convert -delay 1 -size 100x100 -loop 1 geomAnim.*.gif output.gif.

Note, in case of non-orthogonal axes the convention for applied field $Ha, Hb, Hc$ is $Hb\vert\vert\vec b$, $Hc\vert\vert(\vec a \times \vec b)$ and $Ha$ perpendicular to $Hb$ and $Hc$.

The graphics output format can be fine tuned in results/graphic_parameters.set by spins_scale_moment, show_abc_unitcell, show_primitive_crystal_unitcell, show_magnetic_unitcell, show_atoms, scale_view_1, scale_view_2, scale_view_3, spins_wave_amplitude, spins_show_ellipses, spins_show_direction_of_static_moment. show_abc_unitcell, show_primitive_crystal_unitcell, show_magnetic_unitcell, show_atoms, show_density...

Technical information: the program display_densities is actually a script which calls spins (a program with the same arguments as display_densities which calculates the iso surfaces and stores it in format for the java based graphic program javaview and also as a grid. The way in which this is done is controlled by the parameter file results/graphic_parameters.set .... in order to display the results graphically the following java programs are called:

  java javaview results/spins.jvx
  java javaview "model=results/spins.*.jvx" Animation.LastKey=16 background="255 255 255"

Martin Rotter 2017-01-10