All Projects → kleinhenz → Keldysh.jl

kleinhenz / Keldysh.jl

Licence: MIT license
julia package for working with Keldysh Green's functions

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Keldysh.jl

lab-dotphy
The Virtual Lab for Physics
Stars: ✭ 14 (-36.36%)
Mutual labels:  physics
GooFit
Code repository for the massively-parallel framework for maximum-likelihood fits, implemented in CUDA/OpenMP
Stars: ✭ 112 (+409.09%)
Mutual labels:  physics
projectile
An artist-friendly tool for throwing stuff around inside Blender
Stars: ✭ 136 (+518.18%)
Mutual labels:  physics
jitternator
Lessons learnt from hunting jitter issues
Stars: ✭ 59 (+168.18%)
Mutual labels:  physics
My NoteBook
サイエンス、テクノロジー、エンジニアリング関連の情報を記載したノート(忘備録)です。
Stars: ✭ 104 (+372.73%)
Mutual labels:  physics
Physics
experimenting with physics simulation
Stars: ✭ 53 (+140.91%)
Mutual labels:  physics
diffractsim
✨ A diffraction simulator for exploring and visualizing physical optics.
Stars: ✭ 239 (+986.36%)
Mutual labels:  physics
maelstrom
Numerical simulation of magnetohydrodynamics.
Stars: ✭ 28 (+27.27%)
Mutual labels:  physics
LocalSimulation
This plugin allows you to essentially create PxScene or Physic Scenes by placing an Actor, and adding other Static Mesh Components and soon Skeletal Mesh components within this space. Adding Constraints, and Forces will work as expected, but now with the additional layer of abstraction so that simulation can be anchored to a transform.
Stars: ✭ 42 (+90.91%)
Mutual labels:  physics
FusionWater
A simple way to add buoyancy / water physics in Unity, built on the existing physics engine
Stars: ✭ 204 (+827.27%)
Mutual labels:  physics
pylj
Teaching Utility for Classical Atomistic Simulation.
Stars: ✭ 23 (+4.55%)
Mutual labels:  physics
Raymarched-GPU-Particles-with-Screenspace-Physics
Using Grab Passes for VRChat
Stars: ✭ 44 (+100%)
Mutual labels:  physics
mujoco
Multi-Joint dynamics with Contact. A general purpose physics simulator.
Stars: ✭ 4,685 (+21195.45%)
Mutual labels:  physics
Torque
2d 纯计算高性能刚体物理引擎
Stars: ✭ 62 (+181.82%)
Mutual labels:  physics
surfinBH
Surrogate Final BH properties
Stars: ✭ 14 (-36.36%)
Mutual labels:  physics
harfang3d
HARFANG 3D source code public repository
Stars: ✭ 173 (+686.36%)
Mutual labels:  physics
lumin
LUMIN - a deep learning and data science ecosystem for high-energy physics.
Stars: ✭ 45 (+104.55%)
Mutual labels:  physics
magpylib
Python package for computation of magnetic fields of magnets, currents and moments.
Stars: ✭ 95 (+331.82%)
Mutual labels:  physics
FrisPy
Frisbee flight simulator written in Python.
Stars: ✭ 23 (+4.55%)
Mutual labels:  physics
physics-module-ammonext
Physics module for Whitestorm.js [Beta]
Stars: ✭ 38 (+72.73%)
Mutual labels:  physics

Keldysh.jl

Build Status

Keldysh.jl provides a set of tools for working with non-equilibrium Keldysh Green's functions. It contains types to represent contours, grids defined on these contours, and two-time Green's functions defined on these grids. Additionally, it provides functions for generating Green's functions, performing integration on a contour and hdf5 serialization.

Credit to Andrey Antipov and Igor Krivenko for designing a first version of the abstractions implemented here.

Usage

The following code constructs a Green's function object from a spectral density and plots the Matsubara, retarded, and lesser Keldysh components.

using Keldysh, PyPlot

# first define a contour
tmax = 5.0
β = 10.0
c = FullContour(; tmax, β)

# now define a grid which represents a discretization of the contour
nt = 51
ntau = 101
grid = FullTimeGrid(c, nt, ntau)

# construct a spectral density
dos = flat_dos(; D=5.0, ν=10.0)

# construct a Green's function from a spectral density
G = FullTimeGF(dos, grid)

fig, axes = plt.subplots(nrows=2, ncols=2)
make_plot = (ax, xlabel, ylabel, t, f...) -> begin
  map(fi -> ax.plot(t, fi), f)
  ax.set_xlabel(xlabel); ax.set_ylabel(ylabel)
end

ω = range(-10.0, 10.0, length=1001)
t = realtimes(grid)
τ = imagtimes(grid)

make_plot(axes[1], L"ω", L"Γ(ω)/π", ω, dos.(ω))
make_plot(axes[2], L"τ", L"G^M(τ)", τ, G[:matsubara])
make_plot(axes[3], L"t", L"G^<(t, 0)", t, real(G[:lesser][:,1]), imag(G[:lesser][:,1]))
make_plot(axes[4], L"t", L"G^R(t, 0)", t, real(G[:retarded][:,1]), imag(G[:retarded][:,1]))

fig.tight_layout()
fig.savefig("keldysh_components.jpg", dpi=200)

This produces the following output: keldysh_components

See also anderson_nca.jl which implements a NCA solver for the anderson impurity model using Keldysh.jl.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].