coreshellmicrogel (SASfit) - sasfit_coreshellmicrogel.py
r"""
This file has been automatically generated by sasfit_convert and manually edited
by Wojciech Potrzebowski, ESS on 2017-12-07.
The model calculates an empirical functional form for SAS data characterized
by coreshellmicrogel
Definition:
-----------
This model can be used to calculate the scattering from spherical
particles with a parabolic "fuzzy" interface \cite{Berndt2005,Berndt2006,Berndt2006a}.
The radial profile is given by
.. math::
\rho(r,R,\sigma) &=
\begin{cases}
1 & \mbox{for } r\leq R-\sigma \\
1-\frac{1}{2}\frac{\left((r-R)+\sigma\right)^2}{\sigma^2} & \mbox{for } R-\sigma < r \leq R \\
\frac{1}{2}\frac{\left((R-r)+\sigma\right)^2}{\sigma^2} & \mbox{for } R< r\leq R+\sigma \\
0 & \mbox{for } r > \leq R+\sigma
\end{cases}
where $R=W+\sigma$. For such a radial profile the Fourier-transformation can be calculated analytically as
.. math::
F(Q,R,\sigma) = \mathcal{F}[\rho(r,R,\sigma)] = \\
4 \pi \Bigg(
\left(\frac{R}{\sigma^2}+\frac{1}{\sigma}\right) \frac{\cos (q(R+\sigma))}{q^4}
+ \left(\frac{R}{\sigma^2}-\frac{1}{\sigma}\right) \frac{\cos (q(R-\sigma))}{q^4} \\
- 3 \frac{\sin(q(R+\sigma))}{q^5 \sigma^2}
- 3 \frac{\sin(q(R-\sigma))}{q^5 \sigma^2}
- 6 \frac{\sin(qR)}{q^5 \sigma^2}
- 2 R \frac{\cos(qR)}{q^4 \sigma^2}
The last term in the brackets needed to be corrected compared to the papers mentioned above
due to a typo in the original papers.
The radial scattering length density profile of a fuzzy core
shell like in Fig.\ \ref{fig:profile:CoreShellMicrogel}b can be obtained by
.. math::
\eta_{core,sh}(r,W_\textrm{core},\sigma_\textrm{core},D,\sigma_\textrm{sh,in},W_\textrm{sh},\sigma_\textrm{sh,out}) =
\eta_\textrm{sol}
+ (\eta_\textrm{shell}-\eta_\textrm{sol}) \rho(r,R_\textrm{out},\sigma_\textrm{out}) \\
+ (\eta_\textrm{shell}-\eta_\textrm{sol}) \rho(r,R_\textrm{sh,in},\sigma_\textrm{sh,in})
+ (\eta_\textrm{core} -\eta_\textrm{sol}) \rho(r,R_\textrm{core},\sigma_\textrm{core})
with
.. math::
R_\textrm{core} &= W_\textrm{core}+\sigma_\textrm{core} \\
R_\textrm{sh,in}&= R_\textrm{core}+D \\
R_\textrm{out} &= R_\textrm{sh,in}+\sigma_\textrm{sh,in}+W_\textrm{sh}+\sigma_\textrm{sh,out}
In the same way also the scattering amplitude $F_\textrm{core,sh}(Q,\cdots)$ and the scattering intensity
$I_\textrm{core,sh}(Q,\cdots)=\abs{F_\textrm{core,sh}(Q,\cdots)}^2$ can be calculated
.. math::
F_\textrm{core,sh}(Q,W_\textrm{core},\sigma_\textrm{core},D,\sigma_\textrm{sh,in},W_\textrm{sh},\sigma_\textrm{sh,out}) =
(\eta_\textrm{shell}-\eta_\textrm{sol}) F(Q,R_\textrm{out},\sigma_\textrm{out}) \\
+ (\eta_\textrm{shell}-\eta_\textrm{sol}) F(Q,R_\textrm{sh,in},\sigma_\textrm{sh,in})
+ (\eta_\textrm{core} -\eta_\textrm{sol}) F(Q,R_\textrm{core},\sigma_\textrm{core})
I_\textrm{core,sh}(Q,W_\textrm{core},\sigma_\textrm{core},D,\sigma_\textrm{sh,in},W_\textrm{sh},\sigma_\textrm{sh,out}) &=
\abs{F_\textrm{core,sh}(Q,\cdots)}^2
References:
-----------
Author(s) of the original file: src/plugins/fuzzysphere/sasfit_ff_coreshellmicrogel.c
Joachim Kohlbrecher (joachim.kohlbrecher@psi.ch)
https://github.com/SASfit/SASfit/
A paper about SASfit has been published in
J. Appl. Cryst. (2015). 48, 1587-1598
doi:10.1107/S1600576715016544
Ingo Berndt, Jan Skov Pedersen, Peter Lindner, and Walter Richtering.
Influence of shell thickness and cross-link density on the structure of
temperature-sensitive poly-n-isopropylacrylamidepoly-n-isopropylmethacrylamide
coreshell microgels investigated by small-angle neutron scattering.
Langmuir, 22(1):459-468,2006.PMID: 16378460.
Ingo Berndt, Jan Skov Pedersen, and Walter Richtering.
Structure of multiresponsive intelligent? coreshell microgels.
Journal of the American Chemical Society,
127(26):9372-9373, 2005 PMID: 15984856
Ingo Berndt, Jan Skov Pedersen, and Walter Richtering.
Temperature-sensitive coreshell microgel particles with dense shell.
Angewandte Chemie, 118(11):1769-1773, 2006.
"""
from numpy import inf
name = "coreshellmicrogel"
title = " "
description = ""
category = "shape-independent"
#pylint: disable=bad-whitespace, line-too-long
parameters = [
[ "W_CORE", "", 10.0, [-inf, inf], "volume", "radius of center parts of core Wcore with homogeneous scattering length density"],
[ "SIGMA_CORE", "", 3.0, [-inf, inf], "volume", "interface half width of the core"],
[ "W_SH", "", 4, [-inf, inf], "volume", "width of center parts of shell Wsh with homogeneous scattering length density"],
[ "SIGMA_SHIN", "", 3, [-inf, inf], "volume", "half width of the inner interface of shell"],
[ "D", "", 3.0, [-inf, inf], "volume", "distance between interface of core and in interface of shell"],
[ "SIGMA_OUT", "", 4.0, [-inf, inf], "volume", "half width of the outer surface profile"],
[ "ETA_CORE", "", 3.5, [-inf, inf], "", "scattering length density of homogeneous core part"],
[ "ETA_SHELL", "", 2.5, [-inf, inf], "", "scattering length density of homogeneous shell part "],
[ "ETA_SOL", "", 1.0, [-inf, inf], "", "scattering length density of solvent"],
]
#pylint: enable=bad-whitespace, line-too-long
source = ["sas_pow.c","sasfit_coreshellmicrogel.c" ]
single = False
demo = dict(
W_CORE = 10.0,
SIGMA_CORE = 3.0,
W_SH = 4.0,
SIGMA_SHIN = 3.0,
D = 3.0,
SIGMA_OUT = 4.0,
ETA_CORE = 3.5,
ETA_SHELL = 2.5,
ETA_SOL = 1.0)
tests = [[{}, 0.001, 120157.969934],
[{}, 0.2, 303.628432595],
[{}, [0.2], [303.628432595]]
]
Back to Model
Download