Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
viewof d = Inputs.select([2, 4, 6, 8, 10, 12, 14, 16, 18, 25], {
label: "d – Particle spacing",
value: 2
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
a115_p15 = FileAttachment("A11.5_P15.gif").image()
Insert cell
Plotly = await require("https://cdn.plot.ly/plotly-2.24.1.min.js")
Insert cell

Plotly.newPlot(
DOM.element("div", { style: "height: 500px;" }),
[
{
type: "scatter3d",
mode: "markers",
x: positions.map(p => p[0]),
y: positions.map(p => p[1]),
z: positions.map(p => p[2]),
marker: {
size: 100,
sizemode: "diameter",
sizeref: 1,
color: concentration.map(row => row[t_index]),
cmin: -1,
cmax: 1,
colorscale: [
[0, "blue"],
[0.5, "purple"],
[1, "red"]
],
colorbar: { title: "Concentration" },
opacity: 0.9
}
}
],
{
title: `Concentration at t = ${time[t_index].toFixed(2)}`,
scene: {
xaxis: { title: "X" },
yaxis: { title: "Y" },
zaxis: { title: "Z" }
},
margin: { t: 50 }
}
);


Insert cell
Insert cell
Insert cell
Insert cell
phi061 = FileAttachment("phi06@1.gif").image()
Insert cell
phi02 = FileAttachment("phi02.gif").image()
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more