Skip to content

Commit ec10e3e

Browse files
committed
add jensens-inequality.typ converted from jensens-inequality.tex
add ergodic.typ converted from ergodic.tex change readme title from gear icon with TikZ text to "Scientific Diagrams" update-readme-table.py now errors on typst/latex code files without a corresponding YAML metadata file rename shell.tex to momentum-shell.tex and add momentum-shell.typ typst translation rename hea.tex to high-entropy-alloy.tex rename sign-plane.tex to complex-sign-plane.tex move "Open in overleaf" link into CodeBlock.svelte buttons for LaTeX code fix app.css overriding svelte-multiselect remove-option button styles
1 parent 52d47fd commit ec10e3e

33 files changed

+466
-170
lines changed

assets/aviary/aviary.yml

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ tags:
55
- materials informatics
66
description: |
77
Aviary logo: a repo of machine learning models for representation learning in materials discovery from stoichiometry and symmetries via graph convolutions. For <https://github.com/CompRhys/aviary>.
8+
hide: true

assets/sign-plane/sign-plane.yml assets/complex-sign-plane/complex-sign-plane.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
title: Sign Plane
1+
title: Complex Sign Plane
22
tags:
33
- physics
44
- quantum field theory

assets/dft-choices/dft-choices.typ

+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
#import "@preview/cetz:0.3.1": canvas, draw
2+
3+
#set page(width: auto, height: auto, margin: 8pt)
4+
5+
#canvas({
6+
import draw: content, line, rect, scale
7+
8+
let orange-fill = rgb(100%, 80%, 70%)
9+
let red-fill = rgb(100%, 80%, 80%)
10+
let gray-fill = rgb(90%, 90%, 90%)
11+
let blue-fill = rgb(80%, 80%, 100%)
12+
13+
// Helper function for rounded rectangles with text
14+
let node(pos, text, fill: none, name: none) = {
15+
rect(
16+
(pos.at(0) - 1.2cm, pos.at(1) - 0.8cm),
17+
(pos.at(0) + 1.2cm, pos.at(1) + 0.8cm),
18+
fill: fill,
19+
stroke: black + 1pt,
20+
radius: 2mm,
21+
name: name,
22+
)
23+
content(
24+
pos,
25+
scale(300%, text),
26+
anchor: "center",
27+
)
28+
}
29+
30+
// Helper for comment nodes
31+
let comment(pos, text, name: none) = {
32+
content(
33+
pos,
34+
text,
35+
anchor: "center",
36+
name: name,
37+
)
38+
}
39+
40+
// Main equation components
41+
content((0cm, 0cm), scale(400%, $($), anchor: "center")
42+
node((4cm, 0cm), $-frac(h^2, 2m) nabla^2_bold(r)$, fill: orange-fill, name: "kinetic")
43+
content((6.5cm, 0cm), $+$, anchor: "center", scale: 300%)
44+
node((9cm, 0cm), $v_"ext"(bold(r))$, fill: red-fill, name: "external")
45+
content((11.5cm, 0cm), $+$, anchor: "center", scale: 300%)
46+
node((14cm, 0cm), $v_H(bold(r))$, fill: red-fill, name: "hartree")
47+
content((16.5cm, 0cm), $+$, anchor: "center", scale: 300%)
48+
node((19cm, 0cm), $v_"xc"$, fill: red-fill, name: "xc")
49+
content((21cm, 0cm), $)$, anchor: "center", scale: 400%)
50+
node((24cm, 0cm), $phi_i(bold(r))$, fill: gray-fill, name: "phi1")
51+
content((26.5cm, 0cm), $=$, anchor: "center", scale: 300%)
52+
node((29cm, 0cm), $E_i$, fill: blue-fill, name: "energy")
53+
node((32cm, 0cm), $phi_i(bold(r))$, fill: gray-fill, name: "phi2")
54+
55+
// Comments with line breaks
56+
comment(
57+
(4cm, 4cm),
58+
[#set align(center)
59+
#text(24pt)[non-rel. Schrödinger equation\
60+
or relativistic Dirac equation]],
61+
name: "kinetic-comment",
62+
)
63+
comment(
64+
(9cm, -4cm),
65+
[#set align(center)
66+
#text(24pt)[pseudopotential\
67+
(ultrasoft/PAW/norm-conserving)\
68+
or all-electron]],
69+
name: "external-comment",
70+
)
71+
comment(
72+
(14cm, -4cm),
73+
[#set align(center)
74+
#text(24pt)[Hartree potential\
75+
from solving Poisson eq.\
76+
or integrating charge density]],
77+
name: "hartree-comment",
78+
)
79+
comment(
80+
(19cm, 4cm),
81+
[#set align(center)
82+
#text(24pt)[LDA or GGA\
83+
or hybrids]],
84+
name: "xc-comment",
85+
)
86+
comment(
87+
(28cm, 4cm),
88+
[#set align(center)
89+
#text(24pt)[physical orbitals or not\
90+
mesh density and basis set]],
91+
name: "phi-comment",
92+
)
93+
comment(
94+
(29cm, -4cm),
95+
[#set align(center)
96+
#text(24pt)[view EVs as mere Lagrange\
97+
multipliers or band structure approx]],
98+
name: "energy-comment",
99+
)
100+
101+
// Arrows
102+
let arrow-style = (
103+
mark: (end: "stealth"),
104+
stroke: 2pt,
105+
)
106+
line("kinetic-comment", "kinetic.north", ..arrow-style)
107+
line("external-comment", "external.south", ..arrow-style)
108+
line("hartree-comment", "hartree.south", ..arrow-style)
109+
line("xc-comment", "xc.north", ..arrow-style)
110+
line("phi-comment", "phi1.north", ..arrow-style)
111+
line("phi-comment", "phi2.north", ..arrow-style)
112+
line("energy-comment", "energy.south", ..arrow-style)
113+
})

assets/dft-choices/dft-choices.yml

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
title: Kohn-Sham DFT User Choices
1+
title: DFT Choices
2+
description: A diagram illustrating the various choices and components in density functional theory (DFT) calculations, including kinetic energy, external potential, Hartree potential, and exchange-correlation terms.
23
tags:
34
- physics
4-
- quantum-mechanics
5-
- density-functional-theory
6-
- Kohn-Sham
7-
description: Visualization of the many choices involved in a Kohn-Sham calculation. It can be non-relativistic based on the classical Schrödinger equation or fully relativistic based on the Dirac equation which includes spin-orbit coupling. The near-core electrons can be modeled explicitly in an all-electron calculation or, much more commonly, incorporated along with the nucleus into an effective pseudo-potential. The Hartree energy can be obtained by integrating the charge density or by solving the Poisson equation. The exchange-correlation potential can be treated with a huge library of density functionals, most commonly LDA and GGA. The wave functions can be computed on a numerical mesh and expanded in one of many possible basis sets, e.g. plane waves, APW, or PAW. Inspired by fig.&nbsp;3 in [arxiv:cond-mat/0211443](https://arxiv.org/abs/cond-mat/0211443).
5+
- quantum mechanics
6+
- dft
7+
- equations
8+
- schematic

assets/ergodic/ergodic.typ

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#import "@preview/cetz:0.3.1": canvas, draw
2+
3+
#set page(width: auto, height: auto, margin: 3pt)
4+
5+
#canvas({
6+
import draw: line, content, circle, rect, hobby
7+
8+
let rx = 5
9+
let ry = 3
10+
let arrow-style = (mark: (end: "stealth", fill: black), stroke: 1pt)
11+
12+
// Axes
13+
line((-rx - 0.5, 0), (rx + 0.5, 0), ..arrow-style)
14+
content((rx + 0.5, 0), $q_1$, anchor: "west", padding: 2pt)
15+
16+
line((0, -ry - 0.5), (0, ry + 0.5), ..arrow-style)
17+
content((0, ry + 0.5), $q_2$, anchor: "south", padding: 2pt)
18+
19+
// Ellipse
20+
circle(
21+
(0, 0),
22+
radius: (rx, ry),
23+
stroke: blue,
24+
fill: rgb(0%, 0%, 100%, 5%),
25+
name: "ellipse",
26+
)
27+
28+
// Labels for radii
29+
content((rx + .2, 1), $sqrt(2E \/ m)$, anchor: "south-west", padding: 1pt, name: "r1")
30+
line((rx, 0), "r1.south", stroke: 0.2pt)
31+
content((0.5, ry + .5), $sqrt(2E \/ k)$, anchor: "south-west", padding: 1pt, name: "r2")
32+
line((0, ry), "r2.south-west", stroke: 0.2pt)
33+
34+
// Label P
35+
content((rx - 0.6, 0.2), text(fill: blue)[$P$])
36+
37+
let rect-scale = calc.sqrt(2) / 2 // scale rectangle so corners touch ellipse
38+
rect(
39+
(-rx * rect-scale, -ry * rect-scale),
40+
(rx * rect-scale, ry * rect-scale),
41+
stroke: rgb("#ffa500"),
42+
fill: rgb(100%, 65%, 0%, 10%),
43+
name: "rect",
44+
)
45+
content((-rx / 4, ry / 2), text(fill: rgb("#ffa500"))[$R$ for $omega in.not QQ$])
46+
47+
// Trajectory
48+
hobby(
49+
(-rx * rect-scale, ry * rect-scale),
50+
(-1.1, -ry * rect-scale + 0.4),
51+
(-.5, -ry * rect-scale + 0.1),
52+
(.1, -ry * rect-scale + 0.4),
53+
(rx * rect-scale, ry * rect-scale),
54+
omega: 0,
55+
stroke: red,
56+
)
57+
hobby(
58+
(-rx * rect-scale, ry * rect-scale),
59+
(-.1, -ry * rect-scale + 0.4),
60+
(.5, -ry * rect-scale + 0.1),
61+
(1.1, -ry * rect-scale + 0.45),
62+
(rx * rect-scale, ry * rect-scale),
63+
omega: 0,
64+
stroke: red,
65+
)
66+
content(
67+
(2.5, -1.3),
68+
align(
69+
center,
70+
text(fill: red)[$R$ for\ $omega = 2 in QQ$],
71+
),
72+
)
73+
})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#import "@preview/cetz:0.3.1": canvas, draw
2+
#import "@preview/cetz-plot:0.1.0": plot
3+
4+
#set page(width: auto, height: auto, margin: 8pt)
5+
6+
#canvas({
7+
let mark = (end: "stealth", fill: black, scale: 0.7)
8+
draw.set-style(
9+
axes: (
10+
y: (label: (anchor: "north-west", offset: -0.2), mark: mark),
11+
x: (label: (anchor: "south-east", offset: -0.25), mark: mark),
12+
),
13+
)
14+
15+
plot.plot(
16+
size: (8, 6),
17+
x-label: $x$,
18+
y-label: $log x$,
19+
y-min: -1,
20+
x-tick-step: none,
21+
y-tick-step: none,
22+
axis-style: "school-book",
23+
{
24+
// Main logarithmic curve
25+
plot.add(
26+
style: (stroke: rgb(0%, 0%, 80%) + 1.5pt),
27+
domain: (11, 150),
28+
samples: 150,
29+
x => calc.ln(x - 10) - 2,
30+
)
31+
32+
// Dashed line
33+
plot.add(
34+
style: (
35+
stroke: (paint: orange, thickness: 1.5pt, dash: "dashed"),
36+
),
37+
domain: (8, 120),
38+
x => 0.2 + (3 - 0.2) * (x - 8) / (120 - 8),
39+
)
40+
},
41+
)
42+
})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#import "@preview/cetz:0.3.1": canvas, draw
2+
3+
#set page(width: auto, height: auto, margin: 3pt)
4+
5+
#canvas({
6+
import draw: line, content, circle
7+
8+
let rx = 4
9+
let ry = 2.2
10+
let arrow-style = (mark: (end: "stealth", fill: black), stroke: 1pt)
11+
12+
// Axes
13+
line((-rx - 0.5, 0), (rx + 0.5, 0), ..arrow-style)
14+
content((rx + 0.5, 0), $q_1$, anchor: "west", padding: 2pt)
15+
16+
line((0, -ry - 0.5), (0, ry + 0.5), ..arrow-style)
17+
content((0, ry + 0.5), $q_2$, anchor: "south", padding: 2pt)
18+
19+
// Ellipse
20+
circle(
21+
(0, 0),
22+
radius: (rx, ry),
23+
stroke: blue,
24+
fill: rgb(0%, 0%, 100%, 5%),
25+
name: "ellipse",
26+
)
27+
28+
// Labels for radii
29+
content((rx + .2, 1), $sqrt(2E \/ m)$, anchor: "south-west", padding: 1pt, name: "r1")
30+
line((rx, 0), "r1.south", stroke: 0.2pt)
31+
content((0.5, ry + .5), $sqrt(2E \/ k)$, anchor: "south-west", padding: 1pt, name: "r2")
32+
line((0, ry), "r2.south-west", stroke: 0.2pt)
33+
34+
// Label P
35+
content((3, 1), text(fill: blue)[$P$])
36+
})
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
title: Momentum Shell
2+
tags:
3+
- physics
4+
- statistical mechanics
5+
description: See also https://diagrams.janosh.dev/ergodic.

assets/mphil-gantt/mphil-gantt.yml

+1
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ tags:
33
- info-graphics
44
description: |
55
Useless Gantt chart for my Scientific Computing MPhil project at Cambridge University titled "Data-Driven Risk-Conscious Thermoelectric Materials Discovery". See <https://github.com/janosh/thermo>.
6+
hide: true

assets/shell/shell.yml

-5
This file was deleted.

0 commit comments

Comments
 (0)