[0d0aee1] | 1 | r""" |
---|
| 2 | |
---|
| 3 | This model provides the form factor, $P(q)$, for a micelle with a spherical |
---|
[db74c47] | 4 | core and Gaussian polymer chains attached to the surface, thus may be applied |
---|
| 5 | to block copolymer micelles. To work well the Gaussian chains must be much smaller |
---|
| 6 | than the core, which is often not the case. Please study the reference carefully. |
---|
[0d0aee1] | 7 | |
---|
| 8 | Definition |
---|
| 9 | ---------- |
---|
| 10 | |
---|
| 11 | The 1D scattering intensity for this model is calculated according to |
---|
| 12 | the equations given by Pedersen (Pedersen, 2000). |
---|
| 13 | |
---|
| 14 | Validation |
---|
| 15 | ---------- |
---|
| 16 | |
---|
| 17 | This model has not yet been validated. Feb2015 |
---|
| 18 | |
---|
| 19 | |
---|
[db74c47] | 20 | References |
---|
| 21 | ---------- |
---|
[0d0aee1] | 22 | |
---|
| 23 | J Pedersen, *J. Appl. Cryst.*, 33 (2000) 637-640 |
---|
| 24 | |
---|
| 25 | """ |
---|
| 26 | |
---|
| 27 | from numpy import inf |
---|
| 28 | |
---|
[1e9a108] | 29 | name = "polymer_micelle" |
---|
| 30 | title = "Polymer micelle model" |
---|
[0d0aee1] | 31 | description = """ |
---|
[1e9a108] | 32 | This model provides an approximate form factor, P(q), for a micelle with |
---|
| 33 | a spherical core with Gaussian polymer chains attached to the surface. |
---|
[0d0aee1] | 34 | """ |
---|
[1e9a108] | 35 | category = "shape:sphere" |
---|
[0d0aee1] | 36 | |
---|
| 37 | # pylint: disable=bad-whitespace, line-too-long |
---|
| 38 | # ["name", "units", default, [lower, upper], "type","description"], |
---|
| 39 | parameters = [ |
---|
| 40 | ["ndensity", "1e15/cm^3", 8.94, [0.0, inf], "", "Number density of micelles"], |
---|
[db74c47] | 41 | ["v_core", "Ang^3", 62624.0, [0.0, inf], "", "Core volume "], |
---|
[0d0aee1] | 42 | ["v_corona", "Ang^3", 61940.0, [0.0, inf], "", "Corona volume"], |
---|
[db74c47] | 43 | ["sld_solvent", "1e-6/Ang^2", 6.4, [0.0, inf], "", "Solvent scattering length density"], |
---|
| 44 | ["sld_core", "1e-6/Ang^2", 0.34, [0.0, inf], "", "Core scattering length density"], |
---|
| 45 | ["sld_corona", "1e-6/Ang^2", 0.8, [0.0, inf], "", "Corona scattering length density"], |
---|
| 46 | ["radius_core", "Ang", 45.0, [0.0, inf], "", "Radius of core ( must be >> radius_gyr )"], |
---|
[0d0aee1] | 47 | ["radius_gyr", "Ang", 20.0, [0.0, inf], "", "Radius of gyration of chains in corona"], |
---|
| 48 | ["d_penetration", "", 1.0, [-inf, inf], "", "Factor to mimic non-penetration of Gaussian chains"], |
---|
| 49 | ["n_aggreg", "", 6.0, [-inf, inf], "", "Aggregation number of the micelle"], |
---|
| 50 | ] |
---|
| 51 | # pylint: enable=bad-whitespace, line-too-long |
---|
| 52 | |
---|
[1e9a108] | 53 | source = ["lib/sph_j1c.c", "polymer_micelle_kernel.c"] |
---|
[0d0aee1] | 54 | |
---|
| 55 | demo = dict(scale=1, background=0, |
---|
| 56 | ndensity=8.94, |
---|
| 57 | v_core=62624.0, |
---|
| 58 | v_corona=61940.0, |
---|
[db74c47] | 59 | sld_solvent=6.4, |
---|
| 60 | sld_core=0.34, |
---|
| 61 | sld_corona=0.8, |
---|
[0d0aee1] | 62 | radius_core=45.0, |
---|
| 63 | radius_gyr=20.0, |
---|
| 64 | d_penetration=1.0, |
---|
| 65 | n_aggreg=6.0) |
---|
| 66 | |
---|
| 67 | |
---|
| 68 | tests = [ |
---|
| 69 | [{}, 0.01, 15.3532], |
---|
| 70 | ] |
---|
[1e9a108] | 71 | # RKH 20Mar2016 - need to check whether the core & corona volumes are per monomer ??? and how aggregation number works! |
---|
| 72 | # renamed from micelle_spherical_core to polymer_micelle, moved from shape-independent to spheres section. |
---|
| 73 | # Ought to be able to add polydisp to core? And add ability to x by S(Q) ? |
---|