September 30, 2009
Abstract:
Many nuclei probed by NMR are relatively insensitive to detection, requiring methods such as the Carr-Purcell Meiboom-Gill (CPMG) pulse sequence. Experiments which follow this general approach are composed of pulse trains, giving rise to characteristic spikelet patterns in the frequency domain. In the presence of multiple underlying chemical sites, each spikelet intensity is a sum of some unknown proportion of contributions from each site. This work outlines a modeling approach based around Markov Chain Monte Carlo (MCMC), which negates the need for intensive simulations using density matrix formalism. In support of this technique, a spikelet pattern is produced using the density matrix formalism for an ensemble of spin 1/2 nuclei, and the underlying chemical shifts and intensities reproduced using the method outlined. Finally, MCMC is used to model the CPMG spectrum of a (3,3,3-trifluoropropyl)dimethylchlorosilane (TFS) treated aluminosilicate, providing evidence in support of a particular model of silanol group surface attachment to the bulk.
Leave a Comment » |
Monte Carlo, algorithms, nuclear magnetic resonance, quantum mechanics | Tagged: Carr-Purcell Meiboom-Gill, density matrix, Levenberg-Marquardt, Markov Chain Monte Carlo |
Permalink
Posted by bbrouwer
April 10, 2009
NMR can provide unparalleled insight into local atomic structural details, although in the solid state interpretation of lineshapes is hindered by anisotropic broadening, eg., the attached MQMAS spectra of two distinct chemical sites. The situation grows much worse for disordered materials where parameters take on a stochastic nature. I’ve developed some HPC software to enable the simulation of MQMAS spectra for these scenarios, and now my attention is turned to implementation using general purpose graphical processor unit (GPGPU) programming. For the paltry sum of 70USD you can have a little super computer of your own in the form the NVIDIA GeForce 8400 GPU. I installed today and have started playing…

Leave a Comment » |
GPGPU, experimental physics, nuclear magnetic resonance, programming | Tagged: CUDA, GPGPU, MQMAS, NMR |
Permalink
Posted by bbrouwer
March 20, 2009
Abstract: The majority of nuclei available for study in solid state Nuclear Magnetic Resonance have half-integer spin I > 1/2, with corresponding electric quadrupole moment. As such, they may couple with a surrounding electric field gradient. This effect introduces anisotropic line broadening to spectra, arising from distinct chemical species within polycrystalline solids. In Multiple Quantum Magic Angle Spinning (MQMAS) experiments, a second frequency dimension is created, devoid of quadrupolar anisotropy. As a result, the center of gravity of peaks in the high resolution dimension are functions of isotropic quadrupole and chemical shifts alone. However, for complex materials, these parameters take on a stochastic nature due in turn to structural and chemical disorder. Lineshapes may still overlap in the isotropic dimension, complicating the task of assignment and interpretation. A distributed computational approach is presented here which permits simulation of the MQMAS spectrum, generated by random variates from model distributions of isotropic chemical and quadrupole shifts. Owing to the non-convex nature of the least squared cost function between experimental and simulated spectra, simulated annealing is used to optimize the simulation parameters. In this manner, local chemical environments for disordered materials may be characterized, and via a re-sampling approach, error estimates for parameters produced.
Key words: Nuclear Magnetic Resonance, Multiple Quantum Magic Angle Spinning, OpenMP, Sobol sequence, quasi-random numbers, simulated annealing, distribution functions, quadrupole interaction.

Leave a Comment » |
Monte Carlo, algorithms, nuclear magnetic resonance, numerical methods | Tagged: jackknife, Monte Carlo, MQMAS, NMR, OpenMP, quadrupole interaction, quasi-random numbers, simulated annealing, sobol |
Permalink
Posted by bbrouwer
February 23, 2009
A script for simulating the CPMG sequence using the density matrix, with Gauss/Gauss envelope/spikelet broadening, for a forthcoming paper.
function [tot, gbb,t]=d_cpmg(N,tau,n,delta,r,rr)
%cpmg experiment evolution wjb 02/09
%simple/ideal pulse sequence:
%90y-n*[-180x-]
%N time steps
%tau
%n 180 loops
%delta chem shift
%r envelope gauss br^2
%rr spikelet gauss br^2
%matrix for I_x & I_y
a=[0 1/2; 1/2 0]; b=[0 -i/2; i/2 0];
%time step & initial rho
t=tau/(N-1); rho=a;
for k=1:n
sig(1)=trace(rho*a); sigi(1)=trace(rho*b);
for j=2:N/2
%iterate; free precession for tau/2
rho = [exp(-i*t*delta) 0; 0 exp(i*t*delta)]*rho*[exp(i*t*delta) 0; 0 exp(-i*t*delta)];
sig(j)=trace(rho*a); sigi(j)=trace(rho*b);
end
%apply 180x
rho = [0 exp(i*pi/2); exp(i*pi/2) 0]*rho*[0 exp(-i*pi/2); exp(-i*pi/2) 0];
%iterate; free precession for tau/2
sig(N/2+1)=trace(rho*a); sigi(N/2+1)=trace(rho*b);
for j=2:N/2
rho = [exp(-i*t*delta) 0; 0 exp(i*t*delta)]*rho*[exp(i*t*delta) 0; 0 exp(-i*t*delta)];
sig(j+N/2)=trace(rho*a); sigi(j+N/2)=trace(rho*b);
end
if k>1
tot=[tot (sig+i*sigi)];
else
tot=(sig+i*sigi);
end
end
tt=-tau/2:t:t*(N-1); gb=exp(-rr.*tt.^2); gb = [gb(N/2+1:N) gb(1:N/2)]; gbb=gb;
for i=1:n-1
gbb=[gbb gb];
end
t=0:t:t*(n*N-1); gbb=gbb.*exp(-r.*t.^2);
Leave a Comment » |
nuclear magnetic resonance, programming, quantum mechanics | Tagged: cpmg, density matrix, fft, NMR, octave, spikelet |
Permalink
Posted by bbrouwer
February 3, 2009
I’ve been working with colleagues and collaborators from the UK to mine NMR spectra and corresponding molecular structures from documents. The object is to create an XML/CML database to give researchers unprecedented access to information, useful in (for instance) drug discovery. At this stage, I have focused on writing algorithms for the extraction of molecules to *svg, and NMR data to *txt. The latter is then refined and processed, first to determine peak positions. The data is then optimally fit using mixture models, and peak lists created automatically using standard and novel algorithms.

3 Comments |
Machine Learning, cyber, document analysis, nuclear magnetic resonance | Tagged: *svg, CML, data mining, mixture models, molecular data, NMR, spectral data, XML |
Permalink
Posted by bbrouwer
January 14, 2009
Excellent description by Eberhard Engel here
I’m in the process of trying to create a large number of NCPP’s for the calculation of magnetic properties, using GIPAW. The end goal is to try, in conjunction with machine learning and NMR, to do structure determination for complicated materials.
This is somewhat related to the work presented at M’soft eScience, with the slightly different goal of going from a large database of calculated values, and via clustering and comparison to NMR simulations, back-out chemical structures.

Leave a Comment » |
Ab Initio, Machine Learning, cyber, nuclear magnetic resonance | Tagged: MQMAS, Norm Conserving, Pseudopotentials, support vector machines, Troullier-Martins |
Permalink
Posted by bbrouwer