From c6fe76e6f4e87dc88e744de0f40f648bc05cb36e Mon Sep 17 00:00:00 2001 From: Janosh Riebesell Date: Mon, 29 Jan 2024 17:13:50 +0100 Subject: [PATCH] add /new-dielectric-materials post add chiang_llamp_2024 preprint to papers.yaml move oss.yml and papers.yaml to $lib for cleaner imports pnpm add --dev elementari (used in dielectrics post to render 3D crystals) --- .pre-commit-config.yaml | 2 +- package.json | 1 + src/app.css | 6 + src/lib/DocsGrid.svelte | 1 + src/{routes/open-source => lib}/oss.yml | 12 +- src/{routes/cv => lib}/papers.yaml | 26 + src/routes/+layout.server.ts | 2 +- src/routes/+page.svelte | 4 +- src/routes/cv/+page.svelte | 4 +- src/routes/open-source/+page.svelte | 2 +- src/routes/physics/+page@.md | 4 +- src/routes/posts/+page@.svelte | 6 +- .../posts/new-dielectric-materials/+page.md | 70 ++ .../Bi2Zr2O7-Fm3m.cif | 226 ++++++ .../Bi2Zr2O7-Fm3m.json | 122 ++++ .../CsTaTeO6-Fd3m.cif | 228 ++++++ .../CsTaTeO6-Fd3m.json | 671 ++++++++++++++++++ .../dielectric-banner.svg | 1 + .../pmg-cif-to-json.py | 11 + vite.config.ts | 13 +- 20 files changed, 1389 insertions(+), 23 deletions(-) rename src/{routes/open-source => lib}/oss.yml (98%) rename src/{routes/cv => lib}/papers.yaml (93%) create mode 100644 src/routes/posts/new-dielectric-materials/+page.md create mode 100644 src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.cif create mode 100644 src/routes/posts/new-dielectric-materials/Bi2Zr2O7-Fm3m.json create mode 100644 src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.cif create mode 100644 src/routes/posts/new-dielectric-materials/CsTaTeO6-Fd3m.json create mode 100644 src/routes/posts/new-dielectric-materials/dielectric-banner.svg create mode 100644 src/routes/posts/new-dielectric-materials/pmg-cif-to-json.py 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 @@ -{cover.caption} +

@@ -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 @@ } -Banner +

@@ -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}), Zr2Bi2O7 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