assume.m
Sets case-specific assumptions for various simulation contexts. This function determines the behaviour of the Hamiltonian generation function and should be called before the Hamiltonian is requested. Syntax:
spin_system=assume(spin_system,assumptions,retention)
The following assumption sets are supported:
| assumption set | description |
|---|---|
| 'nmr' | Rotating frame approximation for electrons; rotating frame approximation for nuclei; secular terms for electron Zeeman interactions; secular terms for nuclear Zeeman interactions; secular terms for giant spin model interactions; secular coupling terms for spins belonging to the same species; weak coupling terms for spins belonging to different species; secular coupling terms for quadratic and higher order couplings |
| 'esr', 'deer' | Rotating frame approximation for electrons; laboratory frame simulation for nuclei; secular terms for electron Zeeman interactions; all terms for nuclear Zeeman interactions; secular terms for inter-electron couplings; secular terms for electron zero-field splittings; secular terms for giant spin model interactions; secular and pseudosecular terms for hyperfine couplings; all terms for inter-nuclear couplings; all terms for nuclear quadrupolar couplings. |
| 'labframe' | Laboratory frame simulation for electrons, laboratory frame simulation for nuclei; all terms for electron Zeeman interactions; all terms for nuclear Zeeman interactions; all terms for giant spin model interactions; all terms for all couplings. |
| 'qnmr' | A special assumption set for quadrupolar spectroscopy in which the quadrupolar nuclei are kept in the laboratory frame: rotating frame approximation for S=1/2 nuclei; laboratory frame simulation for S>1/2 nuclei; electrons disallowed by the approximation; secular Zeeman terms for S=1/2 nuclei; all Zeeman terms for S>1/2 nuclei; secular terms for couplings between S=1/2 nuclei; weak and pseudosecular terms for couplings between S=1/2 and S>1/2 nuclei; all terms for couplings between S>1/2 nuclei; all terms for nuclear quadrupolar couplings. |
| 'deer-zz' | A special assumption set for DEER simulations with flip-flop terms switched off in the inter-electron coupling Hamiltionian: rotating frame approximation for electrons; laboratory frame simulation for nuclei; secular terms for electron Zeeman interactions; all terms for nuclear Zeeman interactions; weak terms for inter-electron couplings; secular terms for electron zero-field splittings; secular terms for giant spin model interactions; weak and pseudosecular terms for hyperfine couplings; all terms for inter-nuclear couplings; all terms for nuclear quadrupolar couplings. |
If the retention argument is aupplied, the following Hamiltonian term retention settings are supported:
| retention | description |
|---|---|
| 'zeeman' | all spin-spin couplings are ignored |
| 'couplings' | all Zeeman interactions are ignored |
Some pulse sequences (notably those dealing with DNP) set their own assumptions internally before calling the Hamiltonian generation function. To that end, assume.m function also contains more specialized assumption sets – see the function code for further information.
When calling kernel contexts assumptions should be passed as the last argument, for example:
fid=liquid(spin_system,@pulse_acquire,parameters,'nmr');
User-specified assumptions are ignored when generating thermal equilibrium states and relaxation superoperators – assumption sets for those functions are fixed by the nature of the physical problems that they solve.
Syntax
spin_system=assume(spin_system,assumptions,retention)
Arguments
assumptions - 'nmr' for high-field NMR)
'esr' for electron rotating frame ESR
'deer' for DEER spectroscopy
'deer-zz' for DEER spectroscopy with electron
flip-flop terms removed
'labframe' for full laboratory frame simulation
with all Hamiltonian terms retained
'qnmr' for quadrupolar NMR with numerical
rotating frames: spin-1/2 particles
will be in the rotating frame but
spin>1/2 particles initially in the
laboratory frame
retention - 'zeeman' drops all spin-spin interactions
'couplings' drops all Zeeman interactions
Outputs
the function updates the spin_system object
See also
Create.m, Basis.m, Crystal.m, Doublerot.m, Kernel contexts
Version 1.9, authors: Ilya Kuprov