Difference between revisions of "Meshflow.m"

From Spinach Documentation Wiki
Jump to: navigation, search
(Arguments)
Line 14: Line 14:
 
The following phantoms must be specified: hamiltonian, relaxation, kinetics, initial condition, detection state. Operator phantoms must be specified in the following way:
 
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_ph={Ph1,Ph2,...,PhN}
                  parameters.R_op={R1,R2,...,RN}
+
                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:
 
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.K_ph, parameters.K_op
                  parameters.H_ph, parameters.H_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:
 
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:
Line 38: Line 38:
 
   parameters.*      - additional subfields may be required by your
 
   parameters.*      - additional subfields may be required by your
 
                       pulse sequence - check its documentation page
 
                       pulse sequence - check its documentation page
 +
 
==Outputs==
 
==Outputs==
  

Revision as of 10:01, 28 July 2023

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)

Arguments

 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

Kernel contexts


Version 2.8, authors: Anupama Acharya, Ilya Kuprov