diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 0be7ef5e..bc9cc4e7 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -34,7 +34,7 @@ repos:
- id: codespell
stages: [commit, commit-msg]
exclude_types: [svg]
- args: [--ignore-words-list, 'ist,yau', --check-filenames]
+ args: [--ignore-words-list, 'ist,yau,te', --check-filenames]
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v9.0.0-alpha.0
diff --git a/package.json b/package.json
index 876fcf39..43e4a215 100644
--- a/package.json
+++ b/package.json
@@ -34,6 +34,7 @@
"@typescript-eslint/eslint-plugin": "^6.19.1",
"@typescript-eslint/parser": "^6.19.1",
"devalue": "^4.3.2",
+ "elementari": "^0.2.3",
"eslint": "^8.56.0",
"eslint-plugin-svelte": "^2.35.1",
"hast-util-from-string": "^3.0.0",
diff --git a/src/app.css b/src/app.css
index de309a68..e804356e 100644
--- a/src/app.css
+++ b/src/app.css
@@ -198,3 +198,9 @@ input {
color: mediumaquamarine;
text-decoration: underline;
}
+
+img.banner {
+ max-height: 25em;
+ object-fit: cover;
+ width: 100%;
+}
diff --git a/src/lib/DocsGrid.svelte b/src/lib/DocsGrid.svelte
index 57500b5c..ddc03a0e 100644
--- a/src/lib/DocsGrid.svelte
+++ b/src/lib/DocsGrid.svelte
@@ -22,6 +22,7 @@
display: grid;
font-size: larger;
font-weight: bolder;
+ color: inherit;
}
:global(div.grid img) {
width: 100%;
diff --git a/src/routes/open-source/oss.yml b/src/lib/oss.yml
similarity index 98%
rename from src/routes/open-source/oss.yml
rename to src/lib/oss.yml
index 6175051a..baaed28d 100644
--- a/src/routes/open-source/oss.yml
+++ b/src/lib/oss.yml
@@ -25,7 +25,7 @@ projects:
- JavaScript
- HTML
stars: 52
- commits: 303
+ commits: 304
- name: CHGNet
url: https://chgnet.lbl.gov
repo: https://github.com/CederGroupHub/chgnet
@@ -50,7 +50,7 @@ projects:
paper: riebesell_foundation_2023
description: Fast and accurate machine learning interatomic potentials with higher order equivariant message passing.
logo: https://avatars.githubusercontent.com/u/68508620
- stars: 291
+ stars: 294
commits: 21
languages:
- Python
@@ -67,7 +67,7 @@ projects:
- JavaScript
- HTML
stars: 103
- commits: 173
+ commits: 174
- name: pymatviz
url: https://pymatviz.janosh.dev
img_style: 'filter: invert(1);'
@@ -98,7 +98,7 @@ projects:
description: Curated list of resources for learning and using normalizing flows, a powerful tool in ML for modeling probability distributions.
languages:
- Python
- stars: 1245
+ stars: 1247
commits: 72
- name: atomate2
repo: https://github.com/materialsproject/atomate2
@@ -111,7 +111,7 @@ projects:
languages:
- Python
stars: 113
- commits: 348
+ commits: 349
- name: jobflow
repo: https://github.com/materialsproject/jobflow
role: Maintainer
@@ -181,5 +181,5 @@ projects:
- CSS
- HTML
- JavaScript
- stars: 245
+ stars: 247
commits: 269
diff --git a/src/routes/cv/papers.yaml b/src/lib/papers.yaml
similarity index 93%
rename from src/routes/cv/papers.yaml
rename to src/lib/papers.yaml
index 3b99b31f..663b8476 100644
--- a/src/routes/cv/papers.yaml
+++ b/src/lib/papers.yaml
@@ -1,5 +1,31 @@
---
references:
+ - id: chiang_llamp_2024
+ accessed:
+ - year: 2024
+ month: 1
+ day: 31
+ author:
+ - family: Chiang
+ given: Yuan
+ - family: Chou
+ given: Chia-Hong
+ - family: Riebesell
+ given: Janosh
+ citation-key: chiang_llamp_2024
+ issued:
+ - year: 2024
+ month: 1
+ day: 30
+ number: arXiv:2401.17244
+ publisher: arXiv
+ source: arXiv.org
+ title: >-
+ LLaMP: Large Language Model Made Powerful for High-fidelity Materials
+ Knowledge Retrieval and Distillation
+ title-short: LLaMP
+ URL: http://arxiv.org/abs/2401.17244
+
- id: deng_chgnet_2023
accessed:
- year: 2023
diff --git a/src/routes/+layout.server.ts b/src/routes/+layout.server.ts
index 24b213e4..455916f6 100644
--- a/src/routes/+layout.server.ts
+++ b/src/routes/+layout.server.ts
@@ -1,5 +1,5 @@
+import type { FrontMatter } from '$lib/types.js'
import { author } from '$root/package.json'
-import type { FrontMatter } from '../lib/types.js'
export const prerender = true
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 509c934a..df3cbff8 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,9 +1,9 @@
-
+
{#each references.sort(({ author }) => {
return -(author[0].family == target_author.split(` `)[1])
}) as { title, id, author, DOI, URL: href, issued } (id)}
@@ -54,4 +60,7 @@
margin: 8pt 0 2pt;
font-size: small;
}
+ ::highlight(highlight-match) {
+ color: initial;
+ }
diff --git a/src/routes/cv/utils.ts b/src/routes/cv/utils.ts
index 5ac7be53..096c1b91 100644
--- a/src/routes/cv/utils.ts
+++ b/src/routes/cv/utils.ts
@@ -2,7 +2,6 @@ export function truncate_authors(
author_str: string,
target_name: string,
max_authors: number = 3,
- wrap_target_auth: string = `{} `,
): string {
// show at most max_authors, including the target author, replacing the rest with ellipsis
const authors = author_str.split(`, `)
@@ -44,10 +43,5 @@ export function truncate_authors(
truncated_str += `, ${truncated_authors[idx]}`
}
- truncated_str = truncated_str.replace(
- target_name,
- wrap_target_auth.replace(`{}`, target_name),
- )
-
return truncated_str
}
diff --git a/src/routes/open-source/+page.svelte b/src/routes/open-source/+page.svelte
index de27b79b..d767e55b 100644
--- a/src/routes/open-source/+page.svelte
+++ b/src/routes/open-source/+page.svelte
@@ -1,8 +1,8 @@
-
+
@@ -21,7 +21,7 @@ cover:
This is a compilation of notes and solutions to problem sheets for some of the physics lectures I took, most of them in [Heidelberg](https://google.com/search?q=Heidelberg). Hopefully, they can be useful to others. If you find errors, please [open an issue]({issues}).
-
+
[String Theory ![Cross section of the quintic Calabi–Yau manifold](./string-theory/calabi-yau.png)](physics/string-theory)
diff --git a/src/routes/posts/+page@.svelte b/src/routes/posts/+page@.svelte
index 731c7c2d..69b40cea 100644
--- a/src/routes/posts/+page@.svelte
+++ b/src/routes/posts/+page@.svelte
@@ -39,7 +39,7 @@
}
-
+
@@ -107,6 +107,10 @@
text-overflow: ellipsis;
overflow: hidden;
text-align: center;
+ align-self: end;
+ }
+ ul > li > h3 > a {
+ color: inherit;
}
ul > li > a > img {
border-radius: 2pt;
diff --git a/src/routes/posts/new-dielectric-materials/+page.md b/src/routes/posts/new-dielectric-materials/+page.md
new file mode 100644
index 00000000..312f3321
--- /dev/null
+++ b/src/routes/posts/new-dielectric-materials/+page.md
@@ -0,0 +1,70 @@
+---
+title: New Dielectric Materials
+date: 2024-01-29
+cover:
+ img: dielectric-banner.svg
+ origin: Vecteezy
+ url: https://vecteezy.com/vector-art/192230-robot-character-design
+tags:
+ - Tutorial
+ - Python
+---
+
+
+
+[We just published data on two materials]({diel_paper.URL}), Zr2 Bi2 O7 and CsTaTeO6 , which were the result of a workflow to discover new dielectric materials. Dielectrics are in used CPUs and SSDs among many other electronic devices. We managed to experimentally synthesize both these materials and measure their dielectric properties (thanks Wes!), so I wanted to take the opportunity of having two crystal structures that are special to me to write a short tutorial on how to render 3D crystal structures in a browser using one of my side-projects called [`elementari`]({elementari.repo}).
+
+`elementari` currently only understands `pymatgen`'s JSON-like structure representation. Converting the CIF files you get from (of the structures we verified with [XRD](https://wikipedia.org/wiki/X-ray_crystallography) to have made in the lab) to this format is easy:
+
+```py
+from glob import glob
+
+import pymatgen.transformations.advanced_transformations as pat
+from pymatgen.core import Structure
+
+for cif in glob("*.cif"):
+ struct = Structure.from_file(cif).add_oxidation_state_by_guess()
+ # remove partial occupancies, elementari does not support them (yet)
+ ordered = pat.OrderDisorderedStructureTransformation().apply_transformation(struct)
+ ordered.to(cif.replace(".cif", ".json"))
+```
+
+The resulting JSON files can then be visualized with `elementari` using the `Structure` component which again takes only half a dozen lines of code:
+
+```svelte
+
+
+{#each Object.entries(structs) as [name, json_struct]}
+ {@const structure = JSON.parse(json_struct)}
+
+
+{/each}
+```
+
+Here's what this code renders:
+
+
+ {#each Object.entries(structs) as [name, json_struct]}
+ {@const structure = JSON.parse(json_struct)}
+ {@const [formula, spacegroup] = name.match(/\.\/(.+)-(.+)\.json/).slice(1)}
+
+ {/each}
+
+
+Note that the converted CIFs give us `pymatgen` `Structures`, not `StructureGraphs` which contain adjacency matrices to convey bond information. `elementari` can render bonds but `StructureGraph` support is still WIP and the JS code I wrote for on-the-fly bond detection is terrible (don't use it). Hopefully, something I'll fix in the coming months.
diff --git a/src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.cif b/src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.cif
new file mode 100644
index 00000000..04178afb
--- /dev/null
+++ b/src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.cif
@@ -0,0 +1,226 @@
+
+data_
+_chemical_name_mineral ?Flourite?
+_cell_length_a 5.3485(10)
+_cell_length_b 5.3485(10)
+_cell_length_c 5.3485(10)
+_cell_angle_alpha 90
+_cell_angle_beta 90
+_cell_angle_gamma 90
+_cell_volume 153.00(9)
+_space_group Fm-3m
+loop_
+_symmetry_equiv_pos_as_xyz
+ 'x, y, z '
+ '-x, -y, z '
+ '-x, -z, -y '
+ '-x, -z, y '
+ '-x, z, -y '
+ '-x, z, y '
+ '-x, y, -z '
+ '-x, y, z '
+ '-y, -x, -z '
+ '-y, -x, z '
+ '-y, -z, -x '
+ '-y, -z, x '
+ '-y, z, -x '
+ '-y, z, x '
+ '-y, x, -z '
+ '-y, x, z '
+ '-z, -x, -y '
+ '-z, -x, y '
+ '-z, -y, -x '
+ '-z, -y, x '
+ '-z, y, -x '
+ '-z, y, x '
+ '-z, x, -y '
+ '-z, x, y '
+ 'z, -x, -y '
+ 'z, -x, y '
+ 'z, -y, -x '
+ 'z, -y, x '
+ 'z, y, -x '
+ 'z, y, x '
+ 'z, x, -y '
+ 'z, x, y '
+ 'y, -x, -z '
+ 'y, -x, z '
+ 'y, -z, -x '
+ 'y, -z, x '
+ 'y, z, -x '
+ 'y, z, x '
+ 'y, x, -z '
+ 'y, x, z '
+ 'x, -y, -z '
+ 'x, -y, z '
+ 'x, -z, -y '
+ 'x, -z, y '
+ 'x, z, -y '
+ 'x, z, y '
+ 'x, y, -z '
+ '-x, -y, -z '
+ 'x+1/2, y+1/2, z '
+ '-x+1/2, -y+1/2, z '
+ '-x+1/2, -z+1/2, -y '
+ '-x+1/2, -z+1/2, y '
+ '-x+1/2, z+1/2, -y '
+ '-x+1/2, z+1/2, y '
+ '-x+1/2, y+1/2, -z '
+ '-x+1/2, y+1/2, z '
+ '-y+1/2, -x+1/2, -z '
+ '-y+1/2, -x+1/2, z '
+ '-y+1/2, -z+1/2, -x '
+ '-y+1/2, -z+1/2, x '
+ '-y+1/2, z+1/2, -x '
+ '-y+1/2, z+1/2, x '
+ '-y+1/2, x+1/2, -z '
+ '-y+1/2, x+1/2, z '
+ '-z+1/2, -x+1/2, -y '
+ '-z+1/2, -x+1/2, y '
+ '-z+1/2, -y+1/2, -x '
+ '-z+1/2, -y+1/2, x '
+ '-z+1/2, y+1/2, -x '
+ '-z+1/2, y+1/2, x '
+ '-z+1/2, x+1/2, -y '
+ '-z+1/2, x+1/2, y '
+ 'z+1/2, -x+1/2, -y '
+ 'z+1/2, -x+1/2, y '
+ 'z+1/2, -y+1/2, -x '
+ 'z+1/2, -y+1/2, x '
+ 'z+1/2, y+1/2, -x '
+ 'z+1/2, y+1/2, x '
+ 'z+1/2, x+1/2, -y '
+ 'z+1/2, x+1/2, y '
+ 'y+1/2, -x+1/2, -z '
+ 'y+1/2, -x+1/2, z '
+ 'y+1/2, -z+1/2, -x '
+ 'y+1/2, -z+1/2, x '
+ 'y+1/2, z+1/2, -x '
+ 'y+1/2, z+1/2, x '
+ 'y+1/2, x+1/2, -z '
+ 'y+1/2, x+1/2, z '
+ 'x+1/2, -y+1/2, -z '
+ 'x+1/2, -y+1/2, z '
+ 'x+1/2, -z+1/2, -y '
+ 'x+1/2, -z+1/2, y '
+ 'x+1/2, z+1/2, -y '
+ 'x+1/2, z+1/2, y '
+ 'x+1/2, y+1/2, -z '
+ '-x+1/2, -y+1/2, -z '
+ 'x+1/2, y, z+1/2 '
+ '-x+1/2, -y, z+1/2 '
+ '-x+1/2, -z, -y+1/2 '
+ '-x+1/2, -z, y+1/2 '
+ '-x+1/2, z, -y+1/2 '
+ '-x+1/2, z, y+1/2 '
+ '-x+1/2, y, -z+1/2 '
+ '-x+1/2, y, z+1/2 '
+ '-y+1/2, -x, -z+1/2 '
+ '-y+1/2, -x, z+1/2 '
+ '-y+1/2, -z, -x+1/2 '
+ '-y+1/2, -z, x+1/2 '
+ '-y+1/2, z, -x+1/2 '
+ '-y+1/2, z, x+1/2 '
+ '-y+1/2, x, -z+1/2 '
+ '-y+1/2, x, z+1/2 '
+ '-z+1/2, -x, -y+1/2 '
+ '-z+1/2, -x, y+1/2 '
+ '-z+1/2, -y, -x+1/2 '
+ '-z+1/2, -y, x+1/2 '
+ '-z+1/2, y, -x+1/2 '
+ '-z+1/2, y, x+1/2 '
+ '-z+1/2, x, -y+1/2 '
+ '-z+1/2, x, y+1/2 '
+ 'z+1/2, -x, -y+1/2 '
+ 'z+1/2, -x, y+1/2 '
+ 'z+1/2, -y, -x+1/2 '
+ 'z+1/2, -y, x+1/2 '
+ 'z+1/2, y, -x+1/2 '
+ 'z+1/2, y, x+1/2 '
+ 'z+1/2, x, -y+1/2 '
+ 'z+1/2, x, y+1/2 '
+ 'y+1/2, -x, -z+1/2 '
+ 'y+1/2, -x, z+1/2 '
+ 'y+1/2, -z, -x+1/2 '
+ 'y+1/2, -z, x+1/2 '
+ 'y+1/2, z, -x+1/2 '
+ 'y+1/2, z, x+1/2 '
+ 'y+1/2, x, -z+1/2 '
+ 'y+1/2, x, z+1/2 '
+ 'x+1/2, -y, -z+1/2 '
+ 'x+1/2, -y, z+1/2 '
+ 'x+1/2, -z, -y+1/2 '
+ 'x+1/2, -z, y+1/2 '
+ 'x+1/2, z, -y+1/2 '
+ 'x+1/2, z, y+1/2 '
+ 'x+1/2, y, -z+1/2 '
+ '-x+1/2, -y, -z+1/2 '
+ 'x, y+1/2, z+1/2 '
+ '-x, -y+1/2, z+1/2 '
+ '-x, -z+1/2, -y+1/2 '
+ '-x, -z+1/2, y+1/2 '
+ '-x, z+1/2, -y+1/2 '
+ '-x, z+1/2, y+1/2 '
+ '-x, y+1/2, -z+1/2 '
+ '-x, y+1/2, z+1/2 '
+ '-y, -x+1/2, -z+1/2 '
+ '-y, -x+1/2, z+1/2 '
+ '-y, -z+1/2, -x+1/2 '
+ '-y, -z+1/2, x+1/2 '
+ '-y, z+1/2, -x+1/2 '
+ '-y, z+1/2, x+1/2 '
+ '-y, x+1/2, -z+1/2 '
+ '-y, x+1/2, z+1/2 '
+ '-z, -x+1/2, -y+1/2 '
+ '-z, -x+1/2, y+1/2 '
+ '-z, -y+1/2, -x+1/2 '
+ '-z, -y+1/2, x+1/2 '
+ '-z, y+1/2, -x+1/2 '
+ '-z, y+1/2, x+1/2 '
+ '-z, x+1/2, -y+1/2 '
+ '-z, x+1/2, y+1/2 '
+ 'z, -x+1/2, -y+1/2 '
+ 'z, -x+1/2, y+1/2 '
+ 'z, -y+1/2, -x+1/2 '
+ 'z, -y+1/2, x+1/2 '
+ 'z, y+1/2, -x+1/2 '
+ 'z, y+1/2, x+1/2 '
+ 'z, x+1/2, -y+1/2 '
+ 'z, x+1/2, y+1/2 '
+ 'y, -x+1/2, -z+1/2 '
+ 'y, -x+1/2, z+1/2 '
+ 'y, -z+1/2, -x+1/2 '
+ 'y, -z+1/2, x+1/2 '
+ 'y, z+1/2, -x+1/2 '
+ 'y, z+1/2, x+1/2 '
+ 'y, x+1/2, -z+1/2 '
+ 'y, x+1/2, z+1/2 '
+ 'x, -y+1/2, -z+1/2 '
+ 'x, -y+1/2, z+1/2 '
+ 'x, -z+1/2, -y+1/2 '
+ 'x, -z+1/2, y+1/2 '
+ 'x, z+1/2, -y+1/2 '
+ 'x, z+1/2, y+1/2 '
+ 'x, y+1/2, -z+1/2 '
+ '-x, -y+1/2, -z+1/2 '
+loop_
+_atom_site_label
+_atom_site_fract_x
+_atom_site_fract_y
+_atom_site_fract_z
+_atom_site_occupancy
+_atom_site_B_iso_or_equiv
+Bi 0 0 0 0.5 3.30(17)
+Zr 0 0 0 0.5 3.30(17)
+O 0.25 0.25 0.25 0.875 8.1(4)
+loop_
+_atom_site_aniso_label
+_atom_site_aniso_U_11
+_atom_site_aniso_U_22
+_atom_site_aniso_U_33
+_atom_site_aniso_U_12
+_atom_site_aniso_U_13
+_atom_site_aniso_U_23
+Bi 0 0 0 0 0 0
+Zr 0 0 0 0 0 0
+O 0 0 0 0 0 0
diff --git a/src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.json b/src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.json
new file mode 100644
index 00000000..a2abb2cb
--- /dev/null
+++ b/src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.json
@@ -0,0 +1,122 @@
+{
+ "@module": "pymatgen.core.structure",
+ "@class": "Structure",
+ "charge": 0.0,
+ "lattice": {
+ "matrix": [
+ [5.3485, 0.0, 3.275011702619809e-16],
+ [-3.275011702619809e-16, 5.3485, 3.275011702619809e-16],
+ [0.0, 0.0, 5.3485]
+ ],
+ "pbc": [true, true, true],
+ "a": 5.3485,
+ "b": 5.3485,
+ "c": 5.3485,
+ "alpha": 90.0,
+ "beta": 90.0,
+ "gamma": 90.0,
+ "volume": 153.00160985912498
+ },
+ "properties": {},
+ "sites": [
+ {
+ "species": [
+ { "element": "Zr", "oxidation_state": 4.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.5, 0.5, 0.0],
+ "xyz": [2.67425, 2.67425, 3.275011702619809e-16],
+ "properties": {},
+ "label": "Zr"
+ },
+ {
+ "species": [
+ { "element": "Zr", "oxidation_state": 4.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.0, 0.5, 0.5],
+ "xyz": [-1.6375058513099044e-16, 2.67425, 2.67425],
+ "properties": {},
+ "label": "Zr"
+ },
+ {
+ "species": [
+ { "element": "Bi", "oxidation_state": 3.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.0, 0.0, 0.0],
+ "xyz": [0.0, 0.0, 0.0],
+ "properties": {},
+ "label": "Zr"
+ },
+ {
+ "species": [
+ { "element": "Bi", "oxidation_state": 3.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.5, 0.0, 0.5],
+ "xyz": [2.67425, 0.0, 2.67425],
+ "properties": {},
+ "label": "Zr"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.25, 0.25],
+ "xyz": [1.337125, 1.337125, 1.3371250000000001],
+ "properties": {},
+ "label": "O"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.75, 0.75, 0.25],
+ "xyz": [4.011374999999999, 4.011374999999999, 1.3371250000000003],
+ "properties": {},
+ "label": "O"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.75, 0.75, 0.75],
+ "xyz": [4.011374999999999, 4.011374999999999, 4.011375],
+ "properties": {},
+ "label": "O"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.75, 0.25, 0.75],
+ "xyz": [4.011374999999999, 1.337125, 4.011375],
+ "properties": {},
+ "label": "O"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.75, 0.75],
+ "xyz": [1.3371249999999997, 4.011374999999999, 4.011375],
+ "properties": {},
+ "label": "O"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.75, 0.25],
+ "xyz": [1.3371249999999997, 4.011374999999999, 1.3371250000000001],
+ "properties": {},
+ "label": "O"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.25, 0.75],
+ "xyz": [1.337125, 1.337125, 4.011375],
+ "properties": {},
+ "label": "O"
+ }
+ ]
+}
diff --git a/src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.cif b/src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.cif
new file mode 100644
index 00000000..40d6df97
--- /dev/null
+++ b/src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.cif
@@ -0,0 +1,228 @@
+
+data_
+_chemical_name_mineral ?CTT?
+_cell_length_a 10.29895(5)
+_cell_length_b 10.29895(5)
+_cell_length_c 10.29895(5)
+_cell_angle_alpha 90
+_cell_angle_beta 90
+_cell_angle_gamma 90
+_cell_volume 1092.393(16)
+_space_group Fd-3mz
+loop_
+_symmetry_equiv_pos_as_xyz
+ 'x, y, z '
+ '-x, -z, -y '
+ '-x+1/4, -z-1/4, y+1/2 '
+ '-x+1/4, y+1/2, -z-1/4 '
+ '-x+1/2, z-1/4, y+1/4 '
+ '-x+1/2, y+1/4, z-1/4 '
+ '-x-1/4, -y+1/4, z+1/2 '
+ '-x-1/4, z+1/2, -y+1/4 '
+ '-y, -x, -z '
+ '-y, -z, -x '
+ '-y+1/4, -x-1/4, z+1/2 '
+ '-y+1/4, z+1/2, -x-1/4 '
+ '-y+1/2, z+1/4, x-1/4 '
+ '-y+1/2, x-1/4, z+1/4 '
+ '-y-1/4, -z+1/4, x+1/2 '
+ '-y-1/4, x+1/2, -z+1/4 '
+ '-z, -x, -y '
+ '-z, -y, -x '
+ '-z+1/4, -y-1/4, x+1/2 '
+ '-z+1/4, x+1/2, -y-1/4 '
+ '-z+1/2, y-1/4, x+1/4 '
+ '-z+1/2, x+1/4, y-1/4 '
+ '-z-1/4, -x+1/4, y+1/2 '
+ '-z-1/4, y+1/2, -x+1/4 '
+ 'z, y, x '
+ 'z, x, y '
+ 'z+1/4, -y+1/2, x-1/4 '
+ 'z+1/4, x-1/4, -y+1/2 '
+ 'z+1/2, -x-1/4, -y+1/4 '
+ 'z+1/2, -y+1/4, -x-1/4 '
+ 'z-1/4, -x+1/2, y+1/4 '
+ 'z-1/4, y+1/4, -x+1/2 '
+ 'y, z, x '
+ 'y, x, z '
+ 'y+1/4, -x+1/2, z-1/4 '
+ 'y+1/4, z-1/4, -x+1/2 '
+ 'y+1/2, -x+1/4, -z-1/4 '
+ 'y+1/2, -z-1/4, -x+1/4 '
+ 'y-1/4, -z+1/2, x+1/4 '
+ 'y-1/4, x+1/4, -z+1/2 '
+ 'x, z, y '
+ '-x, -y, -z '
+ 'x+1/4, -z+1/2, y-1/4 '
+ 'x+1/4, y-1/4, -z+1/2 '
+ 'x+1/2, -y-1/4, -z+1/4 '
+ 'x+1/2, -z+1/4, -y-1/4 '
+ 'x-1/4, -y+1/2, z+1/4 '
+ 'x-1/4, z+1/4, -y+1/2 '
+ 'x+1/2, y+1/2, z '
+ '-x+1/2, -z+1/2, -y '
+ '-x-1/4, -z+1/4, y+1/2 '
+ '-x-1/4, y, -z-1/4 '
+ '-x, z+1/4, y+1/4 '
+ '-x, y-1/4, z-1/4 '
+ '-x+1/4, -y-1/4, z+1/2 '
+ '-x+1/4, z, -y+1/4 '
+ '-y+1/2, -x+1/2, -z '
+ '-y+1/2, -z+1/2, -x '
+ '-y-1/4, -x+1/4, z+1/2 '
+ '-y-1/4, z, -x-1/4 '
+ '-y, z-1/4, x-1/4 '
+ '-y, x+1/4, z+1/4 '
+ '-y+1/4, -z-1/4, x+1/2 '
+ '-y+1/4, x, -z+1/4 '
+ '-z+1/2, -x+1/2, -y '
+ '-z+1/2, -y+1/2, -x '
+ '-z-1/4, -y+1/4, x+1/2 '
+ '-z-1/4, x, -y-1/4 '
+ '-z, y+1/4, x+1/4 '
+ '-z, x-1/4, y-1/4 '
+ '-z+1/4, -x-1/4, y+1/2 '
+ '-z+1/4, y, -x+1/4 '
+ 'z+1/2, y+1/2, x '
+ 'z+1/2, x+1/2, y '
+ 'z-1/4, -y, x-1/4 '
+ 'z-1/4, x+1/4, -y+1/2 '
+ 'z, -x+1/4, -y+1/4 '
+ 'z, -y-1/4, -x-1/4 '
+ 'z+1/4, -x, y+1/4 '
+ 'z+1/4, y-1/4, -x+1/2 '
+ 'y+1/2, z+1/2, x '
+ 'y+1/2, x+1/2, z '
+ 'y-1/4, -x, z-1/4 '
+ 'y-1/4, z+1/4, -x+1/2 '
+ 'y, -x-1/4, -z-1/4 '
+ 'y, -z+1/4, -x+1/4 '
+ 'y+1/4, -z, x+1/4 '
+ 'y+1/4, x-1/4, -z+1/2 '
+ 'x+1/2, z+1/2, y '
+ '-x+1/2, -y+1/2, -z '
+ 'x-1/4, -z, y-1/4 '
+ 'x-1/4, y+1/4, -z+1/2 '
+ 'x, -y+1/4, -z+1/4 '
+ 'x, -z-1/4, -y-1/4 '
+ 'x+1/4, -y, z+1/4 '
+ 'x+1/4, z-1/4, -y+1/2 '
+ 'x+1/2, y, z+1/2 '
+ '-x+1/2, -z, -y+1/2 '
+ '-x-1/4, -z-1/4, y '
+ '-x-1/4, y+1/2, -z+1/4 '
+ '-x, z-1/4, y-1/4 '
+ '-x, y+1/4, z+1/4 '
+ '-x+1/4, -y+1/4, z '
+ '-x+1/4, z+1/2, -y-1/4 '
+ '-y+1/2, -x, -z+1/2 '
+ '-y+1/2, -z, -x+1/2 '
+ '-y-1/4, -x-1/4, z '
+ '-y-1/4, z+1/2, -x+1/4 '
+ '-y, z+1/4, x+1/4 '
+ '-y, x-1/4, z-1/4 '
+ '-y+1/4, -z+1/4, x '
+ '-y+1/4, x+1/2, -z-1/4 '
+ '-z+1/2, -x, -y+1/2 '
+ '-z+1/2, -y, -x+1/2 '
+ '-z-1/4, -y-1/4, x '
+ '-z-1/4, x+1/2, -y+1/4 '
+ '-z, y-1/4, x-1/4 '
+ '-z, x+1/4, y+1/4 '
+ '-z+1/4, -x+1/4, y '
+ '-z+1/4, y+1/2, -x-1/4 '
+ 'z+1/2, y, x+1/2 '
+ 'z+1/2, x, y+1/2 '
+ 'z-1/4, -y+1/2, x+1/4 '
+ 'z-1/4, x-1/4, -y '
+ 'z, -x-1/4, -y-1/4 '
+ 'z, -y+1/4, -x+1/4 '
+ 'z+1/4, -x+1/2, y-1/4 '
+ 'z+1/4, y+1/4, -x '
+ 'y+1/2, z, x+1/2 '
+ 'y+1/2, x, z+1/2 '
+ 'y-1/4, -x+1/2, z+1/4 '
+ 'y-1/4, z-1/4, -x '
+ 'y, -x+1/4, -z+1/4 '
+ 'y, -z-1/4, -x-1/4 '
+ 'y+1/4, -z+1/2, x-1/4 '
+ 'y+1/4, x+1/4, -z '
+ 'x+1/2, z, y+1/2 '
+ '-x+1/2, -y, -z+1/2 '
+ 'x-1/4, -z+1/2, y+1/4 '
+ 'x-1/4, y-1/4, -z '
+ 'x, -y-1/4, -z-1/4 '
+ 'x, -z+1/4, -y+1/4 '
+ 'x+1/4, -y+1/2, z-1/4 '
+ 'x+1/4, z+1/4, -y '
+ 'x, y+1/2, z+1/2 '
+ '-x, -z+1/2, -y+1/2 '
+ '-x+1/4, -z+1/4, y '
+ '-x+1/4, y, -z+1/4 '
+ '-x+1/2, z+1/4, y-1/4 '
+ '-x+1/2, y-1/4, z+1/4 '
+ '-x-1/4, -y-1/4, z '
+ '-x-1/4, z, -y-1/4 '
+ '-y, -x+1/2, -z+1/2 '
+ '-y, -z+1/2, -x+1/2 '
+ '-y+1/4, -x+1/4, z '
+ '-y+1/4, z, -x+1/4 '
+ '-y+1/2, z-1/4, x+1/4 '
+ '-y+1/2, x+1/4, z-1/4 '
+ '-y-1/4, -z-1/4, x '
+ '-y-1/4, x, -z-1/4 '
+ '-z, -x+1/2, -y+1/2 '
+ '-z, -y+1/2, -x+1/2 '
+ '-z+1/4, -y+1/4, x '
+ '-z+1/4, x, -y+1/4 '
+ '-z+1/2, y+1/4, x-1/4 '
+ '-z+1/2, x-1/4, y+1/4 '
+ '-z-1/4, -x-1/4, y '
+ '-z-1/4, y, -x-1/4 '
+ 'z, y+1/2, x+1/2 '
+ 'z, x+1/2, y+1/2 '
+ 'z+1/4, -y, x+1/4 '
+ 'z+1/4, x+1/4, -y '
+ 'z+1/2, -x+1/4, -y-1/4 '
+ 'z+1/2, -y-1/4, -x+1/4 '
+ 'z-1/4, -x, y-1/4 '
+ 'z-1/4, y-1/4, -x '
+ 'y, z+1/2, x+1/2 '
+ 'y, x+1/2, z+1/2 '
+ 'y+1/4, -x, z+1/4 '
+ 'y+1/4, z+1/4, -x '
+ 'y+1/2, -x-1/4, -z+1/4 '
+ 'y+1/2, -z+1/4, -x-1/4 '
+ 'y-1/4, -z, x-1/4 '
+ 'y-1/4, x-1/4, -z '
+ 'x, z+1/2, y+1/2 '
+ '-x, -y+1/2, -z+1/2 '
+ 'x+1/4, -z, y+1/4 '
+ 'x+1/4, y+1/4, -z '
+ 'x+1/2, -y+1/4, -z-1/4 '
+ 'x+1/2, -z-1/4, -y+1/4 '
+ 'x-1/4, -y, z-1/4 '
+ 'x-1/4, z-1/4, -y '
+loop_
+_atom_site_label
+_atom_site_fract_x
+_atom_site_fract_y
+_atom_site_fract_z
+_atom_site_occupancy
+_atom_site_B_iso_or_equiv
+Cs 0.375 0.375 0.375 1 0.78(3)
+Ta 0 0 0 0.5 0.087(15)
+Te 0 0 0 0.5 0.087(15)
+O1 0.3159 0.125 0.125 1 0.69(18)
+loop_
+_atom_site_aniso_label
+_atom_site_aniso_U_11
+_atom_site_aniso_U_22
+_atom_site_aniso_U_33
+_atom_site_aniso_U_12
+_atom_site_aniso_U_13
+_atom_site_aniso_U_23
+Cs 0 0 0 0 0 0
+Ta 0 0 0 0 0 0
+Te 0 0 0 0 0 0
+O1 0 0 0 0 0 0
diff --git a/src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.json b/src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.json
new file mode 100644
index 00000000..c5154e1a
--- /dev/null
+++ b/src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.json
@@ -0,0 +1,671 @@
+{
+ "@module": "pymatgen.core.structure",
+ "@class": "Structure",
+ "charge": 0.0,
+ "lattice": {
+ "matrix": [
+ [10.29895, 0.0, 6.306288076039316e-16],
+ [-6.306288076039316e-16, 10.29895, 6.306288076039316e-16],
+ [0.0, 0.0, 10.29895]
+ ],
+ "pbc": [true, true, true],
+ "a": 10.29895,
+ "b": 10.29895,
+ "c": 10.29895,
+ "alpha": 90.0,
+ "beta": 90.0,
+ "gamma": 90.0,
+ "volume": 1092.3928505660922
+ },
+ "properties": {},
+ "sites": [
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.375, 0.375],
+ "xyz": [3.8621062499999996, 3.86210625, 3.8621062500000005],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.625, 0.625],
+ "xyz": [6.4368437499999995, 6.4368437499999995, 6.43684375],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.375, 0.875],
+ "xyz": [9.011581249999999, 3.86210625, 9.01158125],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.875, 0.375],
+ "xyz": [9.011581249999999, 9.011581249999999, 3.862106250000001],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.125, 0.625],
+ "xyz": [1.28736875, 1.28736875, 6.4368437499999995],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.625, 0.125],
+ "xyz": [1.2873687499999995, 6.4368437499999995, 1.2873687500000004],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.875, 0.875],
+ "xyz": [3.8621062499999996, 9.011581249999999, 9.01158125],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Cs", "oxidation_state": 1.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.125, 0.125],
+ "xyz": [6.4368437499999995, 1.28736875, 1.2873687500000004],
+ "properties": {},
+ "label": "Cs"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.0, 0.0, 0.0],
+ "xyz": [0.0, 0.0, 0.0],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.5, 0.75, 0.25],
+ "xyz": [5.149474999999999, 7.7242125, 2.574737500000001],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.5, 0.25, 0.75],
+ "xyz": [5.149475, 2.5747375, 7.7242125],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.5, 0.5, 0.0],
+ "xyz": [5.149475, 5.149475, 6.306288076039316e-16],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.0, 0.25, 0.25],
+ "xyz": [-1.576572019009829e-16, 2.5747375, 2.5747375],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.0, 0.75, 0.75],
+ "xyz": [-4.729716057029487e-16, 7.7242125, 7.7242125],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.5, 0.0, 0.5],
+ "xyz": [5.149475, 0.0, 5.149475],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Ta", "oxidation_state": 5.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.0, 0.5, 0.5],
+ "xyz": [-3.153144038019658e-16, 5.149475, 5.149475],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.75, 0.5],
+ "xyz": [2.5747374999999995, 7.7242125, 5.149475000000001],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.5, 0.75],
+ "xyz": [2.5747374999999995, 5.149475, 7.7242125],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.75, 0.25, 0.5],
+ "xyz": [7.7242125, 2.5747375, 5.149475000000001],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.75, 0.5, 0.25],
+ "xyz": [7.7242125, 5.149475, 2.574737500000001],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.75, 0.0, 0.75],
+ "xyz": [7.7242125, 0.0, 7.7242125],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.0, 0.25],
+ "xyz": [2.5747375, 0.0, 2.5747375],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.75, 0.75, 0.0],
+ "xyz": [7.724212499999999, 7.7242125, 9.459432114058974e-16],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "Te", "oxidation_state": 6.0, "spin": null, "occu": 1 }
+ ],
+ "abc": [0.25, 0.25, 0.0],
+ "xyz": [2.5747375, 2.5747375, 3.153144038019658e-16],
+ "properties": {},
+ "label": "Te"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.3159, 0.125, 0.125],
+ "xyz": [3.253438305, 1.28736875, 1.2873687500000002],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.6840999999999999, 0.875, 0.875],
+ "xyz": [7.045511694999998, 9.011581249999999, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.9340999999999999, 0.625, 0.625],
+ "xyz": [9.620249195, 6.4368437499999995, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.18409999999999999, 0.875, 0.375],
+ "xyz": [1.8960366949999994, 9.011581249999999, 3.8621062500000005],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.18409999999999999, 0.375, 0.875],
+ "xyz": [1.8960366949999996, 3.86210625, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.43409999999999993, 0.125, 0.625],
+ "xyz": [4.470774194999999, 1.28736875, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.43409999999999993, 0.625, 0.125],
+ "xyz": [4.470774194999999, 6.4368437499999995, 1.2873687500000006],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.6840999999999999, 0.875],
+ "xyz": [9.011581249999999, 7.045511694999999, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.875, 0.6840999999999999],
+ "xyz": [9.011581249999999, 9.011581249999999, 7.045511695],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.43409999999999993, 0.625],
+ "xyz": [1.2873687499999997, 4.470774194999999, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.625, 0.43409999999999993],
+ "xyz": [1.2873687499999995, 6.4368437499999995, 4.470774195],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.375, 0.06590000000000001],
+ "xyz": [3.8621062499999996, 3.86210625, 0.6787008050000006],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.06590000000000001, 0.375],
+ "xyz": [3.86210625, 0.6787008050000001, 3.86210625],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.125, 0.8159000000000001],
+ "xyz": [6.4368437499999995, 1.28736875, 8.402913305],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.8159000000000001, 0.125],
+ "xyz": [6.436843749999999, 8.402913305, 1.2873687500000008],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.625, 0.8159000000000001],
+ "xyz": [1.2873687499999995, 6.4368437499999995, 8.402913305],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.8159000000000001, 0.625],
+ "xyz": [1.2873687499999995, 8.402913305, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.875, 0.5659000000000001],
+ "xyz": [3.8621062499999996, 9.011581249999999, 5.828175805000002],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.5659000000000001, 0.875],
+ "xyz": [3.8621062499999996, 5.828175805000001, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.9340999999999999, 0.625],
+ "xyz": [6.436843749999999, 9.620249195, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.625, 0.9340999999999999],
+ "xyz": [6.4368437499999995, 6.4368437499999995, 9.620249195],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.125, 0.3159],
+ "xyz": [1.28736875, 1.28736875, 3.253438305],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.3159, 0.125],
+ "xyz": [1.2873687499999997, 3.253438305, 1.2873687500000002],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.43409999999999993, 0.125],
+ "xyz": [6.4368437499999995, 4.470774194999999, 1.2873687500000006],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.125, 0.43409999999999993],
+ "xyz": [6.4368437499999995, 1.28736875, 4.470774195],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.18409999999999999, 0.375],
+ "xyz": [9.011581249999999, 1.8960366949999998, 3.8621062500000005],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.375, 0.18409999999999999],
+ "xyz": [9.011581249999999, 3.86210625, 1.8960366950000005],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.18409999999999999, 0.875],
+ "xyz": [3.86210625, 1.8960366949999998, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.875, 0.18409999999999999],
+ "xyz": [3.8621062499999996, 9.011581249999999, 1.8960366950000005],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.375, 0.5659000000000001],
+ "xyz": [9.011581249999999, 3.86210625, 5.828175805000002],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.5659000000000001, 0.375],
+ "xyz": [9.011581249999999, 5.828175805000001, 3.862106250000001],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.5659000000000001, 0.375, 0.875],
+ "xyz": [5.828175805000001, 3.86210625, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.5659000000000001, 0.875, 0.375],
+ "xyz": [5.828175805, 9.011581249999999, 3.862106250000001],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.8159000000000001, 0.625, 0.125],
+ "xyz": [8.402913305, 6.4368437499999995, 1.2873687500000008],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.8159000000000001, 0.125, 0.625],
+ "xyz": [8.402913305, 1.28736875, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.06590000000000001, 0.375, 0.375],
+ "xyz": [0.6787008049999999, 3.86210625, 3.86210625],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.6840999999999999, 0.375, 0.375],
+ "xyz": [7.045511694999999, 3.86210625, 3.8621062500000005],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.9340999999999999, 0.125, 0.125],
+ "xyz": [9.620249195, 1.28736875, 1.2873687500000006],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.375, 0.6840999999999999],
+ "xyz": [3.8621062499999996, 3.86210625, 7.045511694999999],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.875, 0.06590000000000001],
+ "xyz": [9.011581249999999, 9.011581249999999, 0.6787008050000012],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.3159, 0.625],
+ "xyz": [6.4368437499999995, 3.253438305, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.875, 0.06590000000000001, 0.875],
+ "xyz": [9.011581249999999, 0.6787008050000001, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.125, 0.9340999999999999],
+ "xyz": [1.28736875, 1.28736875, 9.620249195],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.625, 0.625, 0.3159],
+ "xyz": [6.4368437499999995, 6.4368437499999995, 3.253438305000001],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.125, 0.9340999999999999, 0.125],
+ "xyz": [1.2873687499999993, 9.620249195, 1.2873687500000006],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.375, 0.6840999999999999, 0.375],
+ "xyz": [3.8621062499999996, 7.045511694999999, 3.8621062500000005],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.06590000000000001, 0.875, 0.875],
+ "xyz": [0.6787008049999995, 9.011581249999999, 9.01158125],
+ "properties": {},
+ "label": "O1"
+ },
+ {
+ "species": [
+ { "element": "O", "oxidation_state": -2.0, "spin": null, "occu": 1.0 }
+ ],
+ "abc": [0.3159, 0.625, 0.625],
+ "xyz": [3.2534383049999995, 6.4368437499999995, 6.43684375],
+ "properties": {},
+ "label": "O1"
+ }
+ ]
+}
diff --git a/src/routes/posts/new-dielectric-materials/dielectric-banner.svg b/src/routes/posts/new-dielectric-materials/dielectric-banner.svg
new file mode 100644
index 00000000..45cd6e7f
--- /dev/null
+++ b/src/routes/posts/new-dielectric-materials/dielectric-banner.svg
@@ -0,0 +1 @@
+
diff --git a/src/routes/posts/new-dielectric-materials/pmg-cif-to-json.py b/src/routes/posts/new-dielectric-materials/pmg-cif-to-json.py
new file mode 100644
index 00000000..51c52cfb
--- /dev/null
+++ b/src/routes/posts/new-dielectric-materials/pmg-cif-to-json.py
@@ -0,0 +1,11 @@
+# %%
+from glob import glob
+
+import pymatgen.transformations.advanced_transformations as pat
+from pymatgen.core import Structure
+
+for cif in glob('*.cif'):
+ struct = Structure.from_file(cif).add_oxidation_state_by_guess()
+ # remove partial occupancies, elementari does not support them (yet)
+ ordered = pat.OrderDisorderedStructureTransformation().apply_transformation(struct)
+ ordered.to(cif.replace('.cif', '.json'))
diff --git a/vite.config.ts b/vite.config.ts
index 1cb3f0c8..984eeffc 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -6,9 +6,7 @@ import { loadEnv, type UserConfig } from 'vite'
async function fetch_github_data(gh_token: string) {
const auth = { headers: { Authorization: `token ${gh_token}` } }
- const cv = yamljs.load(
- fs.readFileSync(`src/routes/open-source/oss.yml`, `utf8`),
- )
+ const cv = yamljs.load(fs.readFileSync(`src/lib/oss.yml`, `utf8`))
for (const project of cv.projects) {
const handle = project.repo.replace(`https://github.com/`, ``)
@@ -35,10 +33,7 @@ async function fetch_github_data(gh_token: string) {
project.languages = Object.keys(languages)
}
- fs.writeFileSync(
- `src/routes/open-source/oss.yml`,
- yamljs.dump(cv, { lineWidth: -1 }),
- )
+ fs.writeFileSync(`src/lib/oss.yml`, yamljs.dump(cv, { lineWidth: -1 }))
}
process.env = { ...process.env, ...loadEnv(``, process.cwd(), ``) }
@@ -63,4 +58,8 @@ export default {
preview: {
port: 3000,
},
+
+ ssr: {
+ noExternal: [`three`],
+ },
} satisfies UserConfig