Model Melt Chi AB =================== Arguments: * `type` (string) - Name of the model to use (`MeltChiAB`) * `Nref` (float) - Reference degree of polymerization * `bref` (float) - Reference statistical segment length * `initfields` (json object) - Describes how to initialize fields within model. See :ref:`label_init_model_fields` * `C` or `rho0` (float) - System density :math:`C = \rho_0 R_g^3 / N_{ref}`. Only one can be specified. * `chiN` or `chi` (float) - Flory-Huggins :math:`\chi` parameter, optionally multiplied `Nref`. Only one can be specified. * `inverse_zetaN` or `zeta` (float) - Helfand compressibility parameter :math:`\zeta`, optionally multiplied Nref and inverted (i.e. :math:`(\zeta N)^{-1}`). Only one can be specified. Default: inverse_zetaN=0 (incompressible). * `inverse_BC` or `B` or `u0` (float) - Excluded volume incompressiblity. :math:`B =\beta u_0 N^2 / R_g^3` is the dimensionless excluded volume and :math:`C = n R_g^3 / V`. See Delaney2016 for details. .. note:: Only one compressibility parameter (i.e. `u0`, `B`, `zeta`, `inverse_zetaN` or `inverse_BC`) can be specified. Example (python) :: import openfts fts = openfts.OpenFTS() ... fts.model(Nref=1.0,bref=1.0,chiN=20.,type='MeltChiAB') ... Example (json) :: "model": { "type": "MeltChiAB" "Nref": 1.0, "bref": 1.0, "chiN": 20 , "initfields": { ... see "Initialize Model Fields" ... }, }, Model Melt Chi AB Formalism ---------------------------- .. math:: \mathcal{Z} = \int \mathcal{D} w_+ \int \mathcal{D} w_- \exp{-H[w_+,w_-]} The form of :math:`H[w_+,w_-]` depends on the parameters. * Incompressible model `inverse_BC = 0` or `inverse_zetaN=0`: .. math:: H[\mu_+,\mu_-] = C \int d \pmb{x} [\frac{1}{\chi N} \mu_-^2 - \mu_+] - C \tilde{V} \sum_{p=1}^P \frac{\phi_p}{\alpha_p} \ln Q_p[\Gamma \star \mu_A,\Gamma \star \mu_B]. where :math:`w_A = i w_+ - w_-` and :math:`w_B = i w_+ + w_-`. where :math:`\mu_A = \mu_+ - \mu_-` and :math:`\mu_B = \mu_+ + \mu_-`. * Helfand compressible model `inverse_zetaN != 0`: .. math:: H[\mu_+,\mu_-] = \frac{-C}{\chi N + 2 \zeta N} \int d \pmb{x} (\mu_+^2 + 2\zeta N \mu_+) + \frac{C}{\chi N} \int d\pmb{x} (\mu_-^2) - C \tilde{V} \sum_{p=1}^P \frac{\phi_p}{\alpha_p} \ln Q_p[\Gamma \star \mu_A,\Gamma \star \mu_B] * Excluded volume compressible model `inverse_BC != 0`: .. math:: H[\mu_+,\mu_-] = \frac{-C}{\chi N + 2 BC} \int d \pmb{x} (\mu_+^2) + \frac{C}{\chi N} \int d\pmb{x} (\mu_-^2) - C \tilde{V} \sum_{p=1}^P \frac{\phi_p}{\alpha_p} \ln Q_p[\Gamma \star \mu_A,\Gamma \star \mu_B] Model Melt Chi AB Formalism (old) ---------------------------------- TODO: add bold math using \pmb{} Fredrickson2006 (FIXME: add citation) shows us how to derive field theories of the form .. math:: \mathcal{Z} = \int \mathcal{D} w_+ \int \mathcal{D} w_- \exp{-H[w_+,w_-]} where for a binany blend consisting of :math:`n_A` A homopolymers and :math:`n_B` B homopolymers (Model C), :math:`H[w_+,w_-]` is given by, .. math:: H[w_+,w_-] = \rho_0 \int d r [\frac{1}{\chi} w_-^2 - i w_+] - n_A \ln Q[w_A] - n_B \ln Q[w_A,w_B] where :math:`w_A = w_+ - w_-` and :math:`w_B=w_+ + w_-`. For a diblock copolymer melt (Model E), :math:`H[w_+,w_-]` is given by, .. math:: H[w_+,w_-] = \rho_0 \int d r [\frac{1}{\chi} w_-^2 - i w_+] - n \ln Q[w_A,w_B] Where .. math:: Q[w_A,w_B] \frac{1}{V} \int dr q(r,N) and :math:`q(r,s)` is obtained by solving .. math:: \frac{\partial}{\partial s} q(r,s) = \frac{b(s)^2}{6} \nabla^2 q(r,s) - w(r,s) q(r,s), subject to the initial condition :math:`q(r,0) = 1`. To generalize these two models to any number of different polymers, with any block sequence, length or architecture, we follow the procedure described in Duchs2014 (FIXME: add citation). We define our system to consist of a volume :math:`V`, consisting of :math:`n` total molecules consisting of :math:`P` distinct molecule types. We define :math:`n_p` to be the number of molecules of type :math:`P` such that .. math:: n = \sum_{p=1}^P n_p :math:`N_p` is the number of degrees of freedom of molecule type :math:`p`, which here we take as the degree of polymerization without loss of generality. We define a reference :math:`N = N_{ref}` which we use to normalize all chain lengths such that :math:`N_p = N \alpha_p`. The overall density of monomers is :math:`\rho_0 = \sum_{p=1}^P \frac{n_p N_p}{V}` and all statistical segements were defined relative to the same reference volume :math:`v_0 = 1/\rho_0`. For this system :math:`H[w_+,w_-]` is .. math:: H[w_+,w_-] = \rho_0 \int d r [\frac{1}{\chi} w_-^2 - i w_+] - \sum_{p=1}^P n_p \ln Q_p[w_A,w_B] We now introduce introduce the fields :math:`\mu_i = \gamma_i w_i N` where :math:`i \in {+,-}`, and :math:`\gamma_i = {1,\sqrt{-1}}` depending on whether the field is Wick rotated. For this model :math:`\mu_+ = i w_+ N` and :math:`\mu_- = w_- N`. We also rescale lengths in our model :math:`x=r/R_g` relative to :math:`R_g = \sqrt{\frac{b^2N}{6}}`, the radius of gyration of reference polymer chain with statistical segment length :math:`b = b_{ref}`. By introducing :math:`C = \frac{\rho_0 R_g^3}{N}`, the dimentionless chain concentration, our field theory is now .. math:: H[\mu_+,\mu_-] = C \int d x [\frac{1}{\chi N} \mu_-^2 - \mu_+] - \sum_{p=1}^P n_p \ln Q_p[\mu_A,\mu_B], where :math:`\mu_A = \mu_+ - \mu_-` and :math:`\mu_B = \mu_+ + \mu_-`. It is convenient to work with polymer volume fractions :math:`\phi_p = \frac{n_p N_p}{\sum_{i=1}^P n_i N_i}` instead of explicit molecule numbers :math:`n_p`. This can be acomplished by first manipulating the expression for :math:`\phi_p` .. math:: \phi_p = \frac{n_p N_p}{\sum_{i=1}^P n_i N_i} = \frac{n_p \alpha_p N} {\rho_0 V} and then solving for :math:`n_p = \frac{\phi_p \rho_0 V}{\alpha_p N}`. Introducing the dimentionless volume :math:`\tilde{V} = V/R_g^3` .. math:: n_p = \frac{\phi_p \rho_0 V}{\alpha_p N} = \frac{\phi_p \rho_0 R_g^3 \tilde{V}}{\alpha_p N} = \frac{C \tilde{V} \phi_p}{\alpha_p} We now have the expression used in the code, .. math:: H[\mu_+,\mu_-] = C \int d x [\frac{1}{\chi N} \mu_-^2 - \mu_+] - C \tilde{V} \sum_{p=1}^P \frac{\phi_p}{\alpha_p} \ln Q_p[\mu_A,\mu_B]. With this non-dimentionalization .. math:: Q_p[\mu_A,\mu_B] = \frac{1}{\tilde{V}} \int d x q_p(x,\alpha_p) and .. math:: \frac{\partial}{\partial s} q(r,s) = \frac{b(s)^2}{b^2} \tilde{\nabla}^2 q(r,s) - \mu_p (r; s) q(r,s), where :math:`\tilde{\nabla}^2 = R_g^2 \nabla^2`, :math:`s \in [0,\alpha_p]`, :math:`q(x,0) = 1`, :math:`\mu(r,s)` is the field corresponding to the species at contour position `s` along molecule `p`. The density operator :math:`\varphi_j` of species `j` is .. math:: \varphi_j (r ; [\mu_+, \mu_-]) = \sum_{p=1}^P \frac {\phi_p}{Q_p \alpha_p} \int_{s \in j} ds q_p(x,s) q^\dagger_p(x,s) FIXME. It would be more clear to write :math:`\frac{\delta Q[i\Gamma * \mu]} {\delta \mu_j (\pmb{r})}` instead of the ds integral. This would be true for any chain model. Also should note that :math:`\varphi_j = \tilde{\rho_j}/\rho_0`, since most of GHF works with :math:`\tilde{\rho}`. Also, should I change to :math:`\tilde{\varphi_j}` and modify my notation so that anything with a tilde is a field-theoretic operator? The forces for this model are .. math:: \frac{\delta H[\mu_+,\mu_-]}{\delta \mu_+(x)} &= C \left(\varphi_A(x) + \varphi_B(x) - 1\right)\\ \frac{\delta H[\mu_+,\mu_-]}{\delta \mu_-(x)} &= C \left(\frac{2}{\chi N} \mu_- (x) + \varphi_B(x) - \varphi_A(x) \right) The code also has a model with a Helfand compressibility implemented (see Delaney 2016 or Josh's Notebook #2, p 118) which has the following form .. math:: H[\mu_+,\mu_-] = \frac{-C}{\chi N + 2 \zeta N} \int d \pmb{x} (\mu_+^2 + 2\zeta N \mu_+) + \frac{C}{\chi N} \int d\pmb{x} (\mu_-^2) - C \tilde{V} \sum_{p=1}^P \frac{\phi_p}{\alpha_p} \ln Q_p[\mu_A,\mu_B] with forces .. math:: \frac{\delta H[\mu_+,\mu_-]}{\delta \mu_+(\pmb{x})} &= \frac{-C}{\chi N + 2 \zeta N} (2 \mu_+ + 2\zeta N) + C \left(\varphi_A(x) + \varphi_B(x) \right) \\ \frac{\delta H[\mu_+,\mu_-]}{\delta \mu_-(\pmb{x})} &= C \left(\frac{2}{\chi N} \mu_- (x) + \varphi_B(x) - \varphi_A(x) \right)