Internals
Minimization
ClassicalDFT.update! — Methodupdate!(ρ::Array, solver::AbstractSolver, ρEL::Array)Update the density profile ρ according to the solve method solver with given difference Δρ of right and left hand side of the DFT Euler-Lagrange equation.
See also solve.
Geometries
ClassicalDFT.applyboundary! — Functionapplyboundary!(a::Array, geom::AbstractGeometry, mask=boundarymask(geom))Apply boundary conditions of geometry geom to a.
ClassicalDFT.boundarymask — Methodboundarymask(geom::AbstractGeometry)Return bool array which is true in regions that are controlled by the boundary conditions.
ClassicalDFT.conv_func — Methodintegrate_func(geom::AbstractGeometry)Return the convolution function of the geometry geom.
ClassicalDFT.ensurepadding! — Methodensurepadding!(geom::AbstractGeometry, pad::Number)Ensure that the geometry geom has at least a padding pad at the boundaries.
ClassicalDFT.integrate_func — Methodintegrate_func(geom::AbstractGeometry)Return the integration function of the geometry geom.
ClassicalDFT.plot_profile — Methodplot_profile(geom::AbstractGeometry, a::Array)Plot the one-body quantity a in the given geometry geom.
Functionals
ClassicalDFT.Fexc_func — MethodFexc_func(functional::AbstractFunctional)Return the excess free energy $F_\mathrm{exc}[\rho]$ for a given functional.
ClassicalDFT.c₁_func — Methodc₁_func(functional::AbstractFunctional)Return the direct correlation function $c_1(\vec{r}; [\rho])$ for a given functional.
ClassicalDFT.Ω_func — MethodΩ_func(functional::AbstractFunctional)Return the grand potential $\Omega[\rho]$ for a given functional.
ClassicalDFT.AbstractFMTFunctional — TypeAbstract base class for functionals that describe hard core systems with fundamental measure theory (FMT).
The excess free energy possesses the general form
$\beta F_\mathrm{exc}[\rho] = \int \mathrm{d}\vec{r} \Phi(\{n_\alpha(\vec{r})\})$
with (scalar and vectorial) weighted densities $n_\alpha(\vec{r}) = (\omega_\alpha * \rho)(\vec{r})$ that are obtained from convolutions of the density profile $\rho(\vec{r})$ with appropriate weight functions $\{\omega_\alpha(\vec{r})\}$.
Subclasses can differ in the form of $\Phi(\{n_\alpha(\vec{r})\})$ and in the choice of $\{\omega_\alpha\}$.
ClassicalDFT.AbstractMeanFieldFunctional — TypeAbstract base class for mean-field functionals.
The excess free energy is given by
$F_\mathrm{exc}[\rho] = \frac{1}{2} \int \mathrm{d}\vec{r} \int \mathrm{d}\vec{r}' \rho(\vec{r}) \rho(\vec{r}') \phi(\vert\vec{r} - \vec{r}'\vert)$
where $\phi(\vert\vec{r} - \vec{r}'\vert)$ is the contribution of the pair potential that is treated via the mean-field approximation.
Subclasses can differ in the form of $\phi(\vert\vec{r} - \vec{r}'\vert)$.
Callbacks
Types
ClassicalDFT.AbstractCallback — TypeAbstract base class of callbacks
ClassicalDFT.AbstractFunctional — TypeAbstract base class of functionals
ClassicalDFT.AbstractGeometry — TypeAbstract base class of geometries
ClassicalDFT.AbstractSolver — TypeAbstract base class of solve methods
Utils
ClassicalDFT.conv1d — Functionconv1d(f::Vector, g::Vector, dx::Number=1; fft::Bool=true, kwargs...)Wrapper for evaluating one-dimensional convolutions in real or Fourier space (depending on the value of fft).
Elements of f and g can be scalar or SVectors. kwargs are forwarded to the low-level convolution methods.
See also conv1d_direct, conv1d_fft.
ClassicalDFT.conv1d_direct — Functionconv1d_direct(f::AbstractVector{<:AbstractFloat}, g::AbstractVector{<:AbstractFloat}, dx::Number=1)Evaluate a one-dimensional convolution via explicit integration in real space.
f and g are assumed to be given on a grid of discretization dx and to be periodic, so suitable padding has to be applied before calling this function.
ClassicalDFT.conv1d_fft — Functionconv1d_fft(f::AbstractVector{<:AbstractFloat}, g::AbstractVector{<:AbstractFloat}, dx::Number=1; convplan=plan_conv1d_fft(f))Evaluate a one-dimensional convolution via the convolution theorem in Fourier space.
f and g are assumed to be given on a grid of discretization dx and to be periodic, so suitable padding has to be applied before calling this function. A convplan can be provided for performance to plan the real FFT and preallocate buffers.
See also plan_conv1d_fft.
ClassicalDFT.convradial — Methodconvradial(f::Vector, g::Vector, rs::Vector; kwargs...)Wrapper for evaluating convolutions of radial functions that were integrated out over the solid angle $\Omega$ and that are given on the radial grid rs.
Elements of f and g can be scalar (for scalar functions $a(r)$) or SVectors (for vectorial functions $\vec{a}(r) = a(r) \hat{e}_r$). When integrating out vectorial functions of the latter form over $\Omega$, two contributions arise, which are defined to be the components of the SVector. kwargs are forwarded to the one-dimensional convolution method.
See also SphericalGeometry, conv1d.
ClassicalDFT.plan_conv1d_fft — Methodplan_conv1d_fft(f::AbstractVector{<:AbstractFloat})Plan a one-dimensional FFT convolution, i.e. plan the real FFT and preallocate buffers.
See also conv1d_fft.