|
PSCF v1.4.0
|
This analyzer calculates the derivative of free energy with respect to the unit cell size of a cubic unit cell.
Consider a system containing in a periodic cubic simulation cell of volume \( V = L^3 \), where \( L \) is the cubic cell length. Let \( F \) denote the total free energy of the system contained in one such a cell, in thermal energy units for which \( kT = 1 \). This analyzer computes a derivative
\[ \frac{\partial F}{\partial L} = \langle \Psi \rangle \quad, \]
in which the derivative is evaluated at constant monomer volume (or total monomer concentration), constant volume fraction for each species, and constant values of all other input parameters.
The functional \( \Psi \) can be expressed as a sum
\[ \Psi = + \frac{3}{L} H + \frac{V}{v} \sigma + \frac{\partial \ln N}{\partial L} \]
where \( H \) is the total field theoretic Hamiltonian,
\[ \sigma \equiv - \sum_{\alpha} \frac{\phi_{\alpha}}{N_{\alpha}} \frac{\partial \ln Q_{\alpha}}{\partial L} \quad, \]
and
\[ \frac{\partial \ln N}{\partial L} = -\frac{3G}{2L} \]
Here, \( G \) is the number of grid points in the computational mesh, \( \alpha \) is an index for a polymeric species, and \( \phi_{\alpha} \), \( N_{\alpha} \), and \( Q_{\alpha} \) are the volume fraction, total number of monomers per molecule, and normalized single chain partitition for polymeric species \( \alpha \), respectively. The sum over species in the above expression for \( \sigma \) includes only polymeric species, excluding any point-like solvent species.
Do not use with a perturbation : The expression for \( \Psi \) used by this analyzer uses the value of the total Hamiltonian \( H \). If a simulation or trajectory analysis is performed using a perturbation, then \( H \) contains a contribution arising from the perturbation. When a perturbation exists, the above expression for \( \Psi \) is correct if and only if the perturbation contribution to \( H \) is simply proportional to \( L^{3} \) for variable \( L \) at fixed values of the w-field on all nodes of the computational mesh, as would be true for any extensive, local functional of the w-fields. This condition is not satisfied for an EinsteinCrystalPerturbation, however, because this perturbation is proportional to the difference between the Einstein crystal Hamiltonian (which is a simple local functional that would satisfy this condition) and the standard field theoretic Hamiltonian (which is a nonlocal functional that does not satisfy this condition). The CubicLengthDerivative analyzer should thus normally be used only for simulations that use an unperturbed Hamiltonian.
For users who read the source code: The quantity \( \sigma \) defined above is equal to the SCFT prediction of the derivative of free energy per monomer with respect to \( L \) for a cubic unit cell, as computed by the function Rp::System::computeStress() and returned by Rp::Mixture::stress (0). The value of the Hamiltonian \( H \) is computed by the function Rp::Simulator::computeHamiltonian() and returned by Rp::Simulator::hamiltonian().
Parameter file format:
Meanings of the parameters are described briefly below:
| Label | Description |
| interval* | number of steps between data samples |
| outputFileName | name of output file |
| nSamplePerOutput* | Number of sampled values per block average output to file |
In the following, {outputFileName} denotes the value of the outputFileName string parameter, to which various suffixes are added to create output file names.
Output during a simulation or trajectory file analysis :
If nSamplePerOutput > 1, then block average values of \( \Psi \), averaged over blocks of nSamplePerOutput sequential samples, are output to the file {outputFileName}.dat every interval * nSamplerPerBlock simulation steps or trajectory file frames.
If nSamplePerOutput == 1 (or if this optional parameter is omitted), then values of \( \Psi \) are output every interval simulation steps or trajectory file frames, with no block averaging.
If nSamplerPerBlock == 0, then the {outputFileName}.dat data file is not created, and no data is output during the simulation or analysis.
Final output :
At the end of a simulation or trajectory file analysis:
See the discussion of error analysis for further details.