This library intended to provide a mean to compute the structure factor of a variety of model liquids with different interaction potentials and under different approximation schemes (e.g. Percus–Yevick closure for the Ornstein–Zernike relation for a hard-sphere liquid) in the Julia programming language.
For the time being this library provides routines to calculate the structure factor of:
- hard spheres under the Percus–Yevick closure for the Ornstein–Zernike (OZ) equation,
- hard spheres under the Percus–Yevick closure with Verlet–Weis corrections,
- hard disks under the Rosenfeld FMT approximation,
- dipolar hard spheres under the MSA approximation.
TODO
- Documentation
- Add more interaction potentials and approximation schemes
LiquidsStructure.jl
is compatible with Julia 1.0 and later versions. It requires first
adding the LANIMFE-Registy to your Julia
installation. Then it can simply be installed by running
julia> ]
pkg> add LiquidsStructure
Once installed, run
using LiquidsStructure
The structure factor can be calculated by constructing a
StructureFactor(::Liquid, ::ApproximationScheme)
object S
, and then using
S
as a function over the wavevector k
(S(k)
).
As an example, let us plot the structure factor for a hard spheres liquid with
a volume fraction η = 0.4
, under the Verlet–Weis approximation scheme
julia> using LiquidsStructure
julia> using Plots
julia> η = 0.4;
julia> S = StructureFactor(HardSpheres(η), VerletWeis);
julia> plot(k -> S(k), 0, 10π, label = "S(k)")
This project was developed with support from CONACYT through the Laboratorio Nacional de Ingeniería de la Materia Fuera de Equilibrio (LANIMFE).