meshflow.m
First draft of the magnetohydrodynamics context for microfluidic simulations. Generates evolution generators and passes them on to the pulse sequence function, which should be supplied as a handle.
Syntax
answer=meshflow(spin_system,pulse_sequence,parameters)
Parameters
pulse_sequence - pulse sequence function handle. See the
experiments directory for the list of
pulse sequences that ship with Spinach.
The following phantoms must be specified: hamiltonian, relaxation, kinetics, initial condition, detection state. Operator phantoms must be specified in the following way:
parameters.R_ph={Ph1,Ph2,...,PhN}
parameters.R_op={R1,R2,...,RN}
where PhN have the same dimension as the sample voxel grid and RN are relaxation superoperators. Likewise for the following:
parameters.K_ph, parameters.K_op
parameters.H_ph, parameters.H_op
The initial condition phantom reflects the fact that different voxels might start off in a different spin state. It must be specified in the following way:
parameters.rho0_ph={Ph1,Ph2,...,PhN}
parameters.rho0_op={rho1,rho2,...,rhoN}
where PhN have the same dimension as the sample voxel grid and rhoN are spin states obtained from state() function.
The detection state phantom reflects the fact that different voxels might be detected at different angles and with different sensitivity. It must be specified in the following way:
parameters.coil_ph={Ph1,Ph2,...,PhN}
parameters.coil_op={rho1,rho2,...,rhoN}
where PhN have the same dimension as the sample voxel grid and rhoN are spin states obtained from state() function.
parameters.* - additional subfields may be required by your
pulse sequence - check its documentation page
Outputs
This function returns whatever the pulse sequence returns.
See also
crystal.m, doublerot.m, floquet.m, gridfree.m, imaging.m, liquid.m, powder.m, singlerot.m, Kernel contexts
Version 2.8, authors: Anupama Acharya, Ilya Kuprov