Jump to content

Requests for technical support from the VASP team should be posted in the VASP Forum.

WRT NMRCUR: Difference between revisions

From VASP Wiki
No edit summary
Singraber (talk | contribs)
No edit summary
Line 8: Line 8:
{{not released}}
{{not released}}


In conjunction with {{TAGO|LCHIMAG|True}}, {{TAG|WRT_NMRCUR}} allows to write the current response on the fine grid {{TAG|NGXF}} x {{TAG|NGYF}} x {{TAG|NGZF}} in atomic units (hartree bohr<math>^{-2}</math>) to an external magnetic field within [[:Category:NMR|linear response NMR]]. The output is written to {{FILE|NMRCURBX}}, {{FILE|NMRCURBY}}, and/or {{FILE|NMRCURBZ}} depending on the selected direction of the perturbing <math>\mathbf{B}</math> field:
In conjunction with {{TAG|LCHIMAG|True}}, {{TAG|WRT_NMRCUR}} allows to write the current response on the fine grid {{TAG|NGXF}} x {{TAG|NGYF}} x {{TAG|NGZF}} in atomic units (hartree bohr<math>^{-2}</math>) to an external magnetic field within [[:Category:NMR|linear response NMR]]. The output is written to {{FILE|NMRCURBX}}, {{FILE|NMRCURBY}}, and/or {{FILE|NMRCURBZ}} depending on the selected direction of the perturbing <math>\mathbf{B}</math> field:


* {{TAGO|WRT_NMRCUR|0}}: no current response written to file (default)
* {{TAG|WRT_NMRCUR|0}}: no current response written to file (default)
* {{TAGO|WRT_NMRCUR|1}}: <math>B_x</math>
* {{TAG|WRT_NMRCUR|1}}: <math>B_x</math>
* {{TAGO|WRT_NMRCUR|2}}: <math>B_y</math>
* {{TAG|WRT_NMRCUR|2}}: <math>B_y</math>
* {{TAGO|WRT_NMRCUR|3}}: <math>B_z</math>
* {{TAG|WRT_NMRCUR|3}}: <math>B_z</math>
* {{TAGO|WRT_NMRCUR|4}}: all three directions of <math>\mathbf{B}=(B_x,B_y,B_z)^T</math>
* {{TAG|WRT_NMRCUR|4}}: all three directions of <math>\mathbf{B}=(B_x,B_y,B_z)^T</math>


It is also written to {{FILE|vaspout.h5}}, if compiled with [[Makefile.include#Customize|HDF5 support]]. You can find the data groups
It is also written to {{FILE|vaspout.h5}}, if compiled with [[Makefile.include#Customize|HDF5 support]]. You can find the data groups
Line 39: Line 39:
</syntaxhighlight>
</syntaxhighlight>
to select the current response triggered by <math>B_x</math>. It will result in a contour plot showing the magnitude of the current density and a quiver plot with the projected current in the selected plane. The plane is selected as a fraction <math>x</math> of the lattice vector. Here, <code>x=0.5</code> along <math>\mathbf{a}</math>. For the other lattice vectors use <code>b=x</code> or <code>c=x</code>.
to select the current response triggered by <math>B_x</math>. It will result in a contour plot showing the magnitude of the current density and a quiver plot with the projected current in the selected plane. The plane is selected as a fraction <math>x</math> of the lattice vector. Here, <code>x=0.5</code> along <math>\mathbf{a}</math>. For the other lattice vectors use <code>b=x</code> or <code>c=x</code>.
{{NB|warning|For bulk calculations you must switch off the use of symmetry. In other words, set {{TAGO|ISYM|0|op=<=}} if there is more than a single k point at zero (the Γ point).}}
{{NB|warning|For bulk calculations you must switch off the use of symmetry. In other words, set {{TAG|ISYM|0|op=<=}} if there is more than a single k point at zero (the Γ point).}}
{{NB|tip|Consider switching on current augmentation ({{TAGO| LLRAUG|True}}).}}
{{NB|tip|Consider switching on current augmentation ({{TAG| LLRAUG|True}}).}}


== Related tags and articles ==
== Related tags and articles ==

Revision as of 08:11, 24 October 2025

WRT_NMRCUR = 0 | 1 | 2 | 3 | 4
Default: WRT_NMRCUR = 0 

Description: Allows to write the NMR current response in atomic units to file.


In conjunction with LCHIMAG = True, WRT_NMRCUR allows to write the current response on the fine grid NGXF x NGYF x NGZF in atomic units (hartree bohr 2) to an external magnetic field within linear response NMR. The output is written to NMRCURBX, NMRCURBY, and/or NMRCURBZ depending on the selected direction of the perturbing 𝐁 field:

It is also written to vaspout.h5, if compiled with HDF5 support. You can find the data groups

 /results/nmrcurbx        Group
 /results/nmrcurbx/grid   Dataset {3}
 /results/nmrcurbx/structure Group
 /results/nmrcurbx/structure/position Group
 /results/nmrcurbx/structure/position/direct_coordinates Dataset {SCALAR} 
 /results/nmrcurbx/structure/position/ion_sha256 Dataset {1}
 /results/nmrcurbx/structure/position/ion_types Dataset {1}
 /results/nmrcurbx/structure/position/lattice_vectors Dataset {3, 3}
 /results/nmrcurbx/structure/position/number_ion_types Dataset {1}
 /results/nmrcurbx/structure/position/position_ions Dataset {2, 3}
 /results/nmrcurbx/structure/position/scale Dataset {SCALAR}
 /results/nmrcurbx/structure/position/system Dataset {SCALAR}
 /results/nmrcurbx/values Dataset {3, 24, 24, 24}

and use py4vasp to access these, e.g., using

import py4vasp as pv
calc = pv.Calculation.from_path(".")
calc.current_density.to_contour("NMR(x)", a=0.5) + calc.current_density.to_quiver("NMR(x)", a=0.5)

to select the current response triggered by Bx. It will result in a contour plot showing the magnitude of the current density and a quiver plot with the projected current in the selected plane. The plane is selected as a fraction x of the lattice vector. Here, x=0.5 along 𝐚. For the other lattice vectors use b=x or c=x.

Related tags and articles

LCHIMAG, LLRAUG, NMRCURBX