bands-visualiser
Version:
A plotly.js renderer for Bands, DOS, combined Bands/Dos and fatBands.
94 lines (79 loc) • 2.29 kB
JavaScript
import { BandsVisualiser } from "./bandvisualiser.js";
import test_bands from "../exampleData/test_bands.json";
import test_dos from "../exampleData/test_dos.json";
import test_dos1 from "../exampleData/test_dos1.json";
import MoBands from "../exampleData/MoBands.json";
import { splitBandsData, getBandByIndex } from "../main.js";
// super simple example
BandsVisualiser(bandstructuresimple, {
bandsDataArray: test_bands,
});
// adding a fermi level
BandsVisualiser(bandstructureFermi, {
bandsDataArray: [test_bands],
fermiLevels: [18.25],
settings: { yaxis: { range: [8.0, 28.0] } },
});
// Splitting bandsData into up and down spins
const spins = splitBandsData(test_bands.bandsData, 2);
spins[0].traceFormat = {
name: "Spin Down",
line: { color: "blue", width: 1.25 },
};
spins[1].traceFormat = {
name: "Spin Up",
line: { color: "red", width: 1.25 },
};
BandsVisualiser(bandstructureSpins, {
bandsDataArray: spins,
fermiLevels: 21,
});
// //EXAMPLE BANDS (w/ split spins)
BandsVisualiser(bandstructureSpins, {
bandsDataArray: spins,
fermiLevels: [21],
settings: { yaxis: { range: [8.0, 28.0] } },
});
// SPIN BANDS WITH Index band
const customBand = getBandByIndex(spins[0], 19);
const customBandObj = {
bandsData: customBand,
traceFormat: {
name: "Custom Band",
line: { color: "purple", width: 3, dash: "dot" },
},
};
// //EXAMPLE BANDS (w/ split spins)
BandsVisualiser(bandstructureCustom2, {
bandsDataArray: spins.concat([customBandObj]),
fermiLevels: [21],
settings: { yaxis: { range: [8.0, 28.0] } },
});
// SPIN BANDS WITH Custom Trace
BandsVisualiser(bandstructureCustom, {
bandsDataArray: spins,
fermiLevels: [21],
settings: { yaxis: { range: [8.0, 28.0] } },
customTraces: [
{
x: [1, 2, 3, 4, 5, 6, 7, 8, 12],
y: [10, 15, 10, 20, 10, 25, 10, 25, 15, 10],
mode: "lines",
name: "Custom Trace",
line: { color: "rgba(0,0,0,0.4)", width: 6 },
},
],
});
// // EXAMPLE DOS HERE
BandsVisualiser(DOS, {
dosDataArray: [test_dos],
fermiLevels: [18.25],
});
// // EXAMPLE COMBINED HERE
BandsVisualiser(BSDOS, {
bandsDataArray: [test_bands],
dosDataArray: [test_dos, test_dos1],
fermiLevels: [18.25],
});
// EXAMPLE DOS HERE
BandsVisualiser(DOS, { dosDataArray: [test_dos] });