Model Chi Multi-Species Charge ================================== Arguments: * `type` (string) - Name of the model to use (`ChiMultiSpeciesCharge`) * `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. Default: `C=1`. * `inverse_zetaN` or `zeta` (float) - Helfand compressibility parameter :math:`\zeta`, optionally multiplied by Nref and inverted (i.e. :math:`(\zeta N)^{-1}`). Cannot be specified if `inverse_BC` or `B` or `u0` are 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`. Cannot be specified if `inverse_zetaN` or `zeta` are specified. .. note:: Only one compressibility parameter (i.e. `u0`, `B`, `zeta`, `inverse_zetaN` or `inverse_BC`) can be specified. .. * `chiN_array` or `chi_array` (float array) - Flory-Huggins :math:`\chi` parameters, optionally multiplied `Nref`. Ordering of array elements are :math:`{\chi_1, \chi_2, \chi_3, ...}` and correspond to the upper diagonal of the :math:`\pmb{\chi}` interaction matrix. * `chiN_diagonal` or `chi_diagonal` (float array) - Flory-Huggins :math:`\chi^s_{ii}` self interaction parameters, optionally multiplied `Nref`. This can be used to make some species more or less compressible than others. Length of array should be equal to number of species and corresponds to the diagonal elements of the :math:`\pmb{\chi}` interaction matrix. Ordering of elements are :math:`{\chi^s_{11}, \chi^{s}_{22}, \chi^s_{33}, ...}` * `E` or `lB` (float) - Electrostatic interaction strength. Only one can be specified. For a 3 species model: .. math:: \pmb{\chi} = \begin{pmatrix} \chi^s_{11} & \chi_1 & \chi_2 \\ \chi_1 & \chi^s_{22} & \chi_3 \\ \chi_2 & \chi_3 & \chi^s_{33} \\ \end{pmatrix} For a 4 species model: .. math:: \pmb{\chi} = \begin{pmatrix} \chi^s_{11} & \chi_1 & \chi_2 & \chi_3 \\ \chi_1 & \chi^s_{22} & \chi_4 & \chi_5 \\ \chi_2 & \chi_4 & \chi^s_{33} & \chi_6 \\ \chi_3 & \chi_5 & \chi_6 & \chi^s_{44} \\ \end{pmatrix} Example (python) :: chiN = 30.0 fts.model(Nref=1.0,bref=1.0,inverse_zetaN=0.01,chiN_array=[chiN, chiN, chiN],E=1000, type='ChiMultiSpeciesCharge') ... # to initialize EXCHANGE fields fts.init_model_field(type='random',mean=0.0,stdev=1.0,fieldname='mu_1') fts.init_model_field(type='random',mean=0.0,stdev=1.0,fieldname='mu_2') fts.init_model_field(type='random',mean=0.0,stdev=1.0,fieldname='mu_3') # to initialize SPECIES fields fts.init_model_field(type='random',mean=0.0,stdev=1.0,fieldname='mu_A') fts.init_model_field(type='random',mean=0.0,stdev=1.0,fieldname='mu_B') fts.init_model_field(type='random',mean=0.0,stdev=1.0,fieldname='mu_C') ... # three species must be present fts.add_species(label='A',stat_segment_length=1.0, charge=+1) fts.add_species(label='B',stat_segment_length=1.0, charge=0) fts.add_species(label='C',stat_segment_length=1.0, charge=-1) Example (json) :: "model": { "type": "ChiMultiSpeciesCharge" "Nref": 1.0, "bref": 1.0, "E":1000, "chiN_array": [20,40,20] , "initfields": { ... see "Initialize Model Fields" ... }, }, Model Chi Multi-Species Charge Formalism ---------------------------------------- Reference: Lequieu2024 https://pubs.acs.org/doi/10.1021/acs.macromol.4c02034