basis.m
Basis set control. This is the second mandatory function (after create.m) that must be called to build the spin_system data structure.
Syntax
spin_system=basis(spin_system,bas)
Parameters
spin_system - primary Spinach data structure, the output
of create.m function
bas - basis set specification structure described
in detail in the online manual
Outputs
spin_system - primary Spinach data structure, updated with
the basis set and related information
Examples
A simple example of a spin system and basis set specification is given below. There are hundreds of further examples in the example set.
% Set the spin system
sys.isotopes={'1H','1H'};
inter.zeeman.scalar={0.0 0.0};
inter.coordinates={[0.00 0.00 0.00];
[0.00 0.00 2.00]};
% Magnet field
sys.magnet=14.1;
% Basis set
bas.formalism='sphten-liouv';
bas.approximation='none';
% Spinach housekeeping
spin_system=create(sys,inter);
spin_system=basis(spin_system,bas);
Notes
It is important to understand the factors that influence basis set selection in spin dynamics simulations - see our paper (http://link.aip.org/link/doi/10.1063/1.3624564) for further information on this subject.
Systems with bosonic modes use the IK-SBS basis set: the mode couplings declared in inter.modes and the spin-spin coupling tensors are split into boson-boson, spin-boson, and spin-spin coupling graphs, each traced to its own correlation level in bas.inter_level. IK-1 and IK-2 are for spin-only systems and refuse bosonic modes. Complete basis sets are unaffected.
In sphten-liouv formalism, the state list is built separately for each chemical substance in spin_system.chem.parts, using the connectivity and proximity information of that substance only, and the lists are merged into one global basis with a single unit state; the coherence order, longitudinal, and zero-quantum filters are specified per substance. The field names bas.level, bas.space_level, and bas.longitudinals are retired in favour of bas.inter_level, bas.prox_level, and bas.longitudinal; the old names stop with an error that names the replacement.
See also
create.m, assume.m, operator.m, state.m, hamiltonian.m, evolution.m, reduce.m, thermalize.m, device.m, Kernel_functions
Version 2.4, authors: Ilya Kuprov