Skip to content

Julia library that provides routines to calculate the structure factor of liquids

License

Notifications You must be signed in to change notification settings

LANIMFE/LiquidsStructure.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiquidsStructure.jl

GitHub Actions

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.

Status

For the time being this library provides routines to calculate the structure factor of:

TODO

  • Documentation
  • Add more interaction potentials and approximation schemes

Installation

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

Usage

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)")

Example image

Acknowledgements

This project was developed with support from CONACYT through the Laboratorio Nacional de Ingeniería de la Materia Fuera de Equilibrio (LANIMFE).

About

Julia library that provides routines to calculate the structure factor of liquids

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages