basis.m

From Spinach Documentation Wiki
Jump to: navigation, search

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