QuodraDocs
Sign in
Matter Lab

The object types

Every Matter Lab object, one section each: what it draws, the inspector fields by name, the slots a parameter can drive, what you can do with the pointer, and where it stops.

Ten types, each with its own inspector. Everything below is what the object actually offers — the labels are the labels you will see. The shared behaviours they all inherit — the plot layer, notes, scientific states, provenance, the dataset list — are described in Matter Lab.

Crystal structure#

A unit cell or supercell, projected and depth-sorted for display in the editor and previews. PDF and image exports capture its appearance; current PPTX export uses a labelled placeholder. Matter Lab availability can vary by account and deployment during the beta.

Import. The Structure row's Import… (Replace… once filled) accepts CIF, POSCAR/CONTCAR and XYZ files. A CIF's symmetry operations are expanded so the full cell appears; a file holding several structures warns that the first was used. POSCAR handles VASP 4 and VASP 5 — a VASP 4 file with no element symbols warns that elements are placeholders; edit them after import. An XYZ file without a Lattice="…" line gets a padded box, with the warning that lattice constants here are not physical.

What it reads out. Formula and space group, the lattice constants a, b, c in Å, the angles α, β, γ, the cell volume in ų, and the density in g/cm³ — or a dash where an element's mass is unknown.

Inspector fields. Style (Ball & stick, Space fill, Cell, Bonds, Points) · Projection (Perspective, Orthographic) · Zoom · Supercell with Repeat a, Repeat b, Repeat c · Unit cell (Shown, Hidden) · Atom size · Materials Project · Planes & directions with an (hkl) box and a [uvw] box · Caption.

Miller indices. Type 1 1 1, (110) or [100] and press Add. Planes are clipped exactly to the cell and get a per-plane opacity; directions draw as labelled arrows. A triple that cannot be read is refused by name.

Materials Project. Search by formula from the inspector's Materials Project section. Your API key is stored in this browser and never in the document; the import brings the mp-id, source, retrieval date and citation with it. It answers plainly when it cannot help: a Materials Project API key is needed, the API key was refused, nothing found for "…" — check the formula spelling, or could not reach the Materials Project — offline, or the browser blocked the request.

Pointer. Drag to orbit — the camera commits when you let go, not sixty times a second. The wheel and pinch zoom the camera, but only while the object is live, and the zoom commits once the wheel goes quiet so undo takes it back in one step. Click an atom for its element, its fractional coordinates and its occupancy.

Slots a parameter can drive. supercell · a repeats, supercell · b repeats, supercell · c repeats (whole numbers, one to eight), atom size, and representation — a choice slot, so a named option in a panel can switch how the cell is drawn mid-talk.

Limits. Past 2,000 atoms the view drops to points and shows a badge saying so; past 8,000 it samples, and the badge says showing 1 in N of the full count. Bonds are only computed at or below the detail limit. Nothing here is energy-minimised — structures are displayed, not relaxed.

Phase diagram#

Regions, boundaries, invariant points, a draggable state point, its tie line and the lever rule with its working shown.

Built-in systems. The System menu holds Fe–C (steel), Pb–Sn (solder), TTT — 1080 steel, CCT — 1080 steel, Pourbaix — Fe in water and Ellingham — oxides. Each is a straight-segment approximation anchored on the invariant points the textbooks quote, and each prints its own source line under the diagram — for Fe–C, Fe–Fe₃C (metastable), straight-segment approximation after Callister — δ-ferrite omitted. TTT and CCT use a logarithmic time axis with decade ticks.

Import. Import offers JSON… (validated against the diagram schema; the first problem is reported with its path) and Curves… (CSV, TSV or text, one boundary polyline per column). A curves import warns: boundaries imported — a curve is not a region: draw the regions below before the lever rule can answer.

Drawing regions. Under Regions, press Draw a region…, click vertices on the diagram, and close by clicking the first point again or double-clicking. Then name it in Region label, list its phases in Phases (α + β), choose Tie lines (Horizontal or None), and press Add region.

Read-out. The strip under the diagram names the region you are in — or outside the mapped regions — the lever fractions per phase as percentages, and the state point's coordinates in the diagram's own units.

Inspector fields. System · Import · Regions · the two state-point fields, labelled with the diagram's own axis names and units · Tie line · Lever rule · Labels · Caption.

Slots. Two — the state point's x and y — each named after the diagram's own axis (state point · carbon, state point · temperature on Fe–C) and advertised with that axis's unit symbol and range. When an axis is bound, the inspector replaces its number field with driven by a parameter — and dragging the point moves the slider, so everything else that parameter drives moves with it.

Limits. No region, no answer: the lever rule reads regions, not curves. A state point that lands outside its tie line warns check the region polygon. Every built-in names its simplifications rather than hiding them.

Diffraction (XRD)#

A powder pattern you imported, a pattern simulated from a crystal on the deck, or both on the same axes.

Import. Pattern · Import… reads CSV, TSV, text, .xy and .dat. Each imported series can be removed individually.

Simulate from a crystal. Pick a Crystal on the deck (the row says no crystal on this deck when there is none) and a Radiation — Cu Kα₁, Cu Kα (weighted), Co Kα₁, Fe Kα₁, Cr Kα₁ or Mo Kα₁, each listed with its wavelength. Set 2θ from and 2θ to, and choose whether Peak labels show (hkl).

Peak to plane. Because the pattern is computed from the structure, every simulated peak knows its planes by construction. Click a peak: a card names its (hkl), its 2θ, its d-spacing and its multiplicity, and the plane family lights up on the linked crystal. An imported pattern never receives a guessed mapping.

Inspector fields. Pattern · Crystal · Radiation · 2θ from · 2θ to · Peak labels · Normalise · Caption.

Slots. 2θ from and 2θ to, in degrees.

Limits. Scattering factors are tabulated for eleven elements — H, C, N, O, Na, Mg, Al, Si, Cl, Fe and Cu. Anything else is refused by name, with the reason: simulating anyway would give plausible positions with wrong intensities. Simulation is limited to 500 sites; a cell and range that enumerate too many reflections asks you to narrow the range; a range with no reflections in it says so rather than drawing an empty plot.

Spectrum#

One viewer, several techniques, with the axis conventions each technique expects.

Techniquex axisy axisDirection
RamanRaman shift (cm⁻¹)intensityleft to right
FTIRwavenumber (cm⁻¹)transmittanceright to left
XPSbinding energy (eV)countsright to left
UV-Viswavelength (nm)absorbanceleft to right
EDSenergy (keV)countsleft to right
EELSenergy loss (eV)countsleft to right
Customxyleft to right

Import. Data · Import… reads CSV, TSV, text and .dat. The importer votes on the delimiter rather than assuming one, detects a decimal comma, counts the rows it could not read, and reports both.

Processing. Each series has Smooth (a centred moving average over a window of five points) and Baseline (a straight baseline through the means of the first and last five percent of points). Both produce a new series named for what was done — the raw import is never touched — and append a line to the provenance's processing history.

Python as a source. The Python row picks a code cell on the deck; whatever (x, y) the cell emits renders as a live series. Change a parameter, the cell reruns, the spectrum follows. See Python & code.

Line scans. Line scan · Import… folds a multi-column file into a stack: one spectrum per position, positions taken from the column headers. The active scan draws bold with its immediate neighbours ghosted behind it, so the eye keeps its bearings while the position moves. Position steps through the scan; Remove scan drops it.

Inspector fields. Technique · Data · Python · Line scan · Position · Normalise · Axis from · Axis to · Caption.

Slots. axis from, axis to, and — only when a line scan exists — scan position, a whole number over the imported positions.

Stress–strain#

A mechanical test with derived properties that carry their own methods.

Import. Data · Import… reads CSV, TSV, text and XLSX. A workbook with several sheets warns that the first was read; cached formula values are used.

Inspector fields. Data · Stress unit (MPa, GPa, ksi) · Values (Engineering, True) · Cursor · Elastic fit from and Elastic fit to, both with an auto placeholder · Derived properties · Caption.

Derived properties. The chips under the curve are E, σy, UTS and εf; the Derived properties section spells them out as Young's modulus, 0.2% offset yield, Ultimate strength, Fracture strain, Resilience and Toughness. Each row shows its method — a least-squares slope over a named strain range, the 0.2 % offset construction, the trapezoidal area under the curve — and its warnings. A fit with R² below 0.98 is marked low-confidence and says the region may not be linear; an auto-detected elastic range says so and invites you to set it yourself; toughness states that it is bounded by where the record stops — not beyond it.

Pointer. With Cursor on, drag the reading cursor along the curve — or walk it with the arrow keys. The yield point is marked on the plot when it can be derived.

Slots. strain cursor.

Limits. Switching Values to True warns on the spot: true values assume constant volume and uniform strain — valid only to necking. Where a property cannot be derived at all, the row shows a dash and the reason rather than a number.

Micrograph#

A microscopy image whose measurements are only ever as honest as its calibration.

Import. Image · Import… takes any browser-readable image up to 4 MiB inline; larger files are refused with their actual size named.

Calibration. Press Draw a known length…, click the two ends of a feature on the image, type what it really measures into Real length, and press Set. Pixels per µm can also be typed directly, and Unit offers nm, µm and mm.

Measurement. Tool offers Distance… and Area…. Distance takes two clicks; area takes an outline, closed by clicking the first point again or double-clicking. Press Keep it to commit or Discard to drop it. Committed measurements are listed and removable.

Honesty about units. Until the image is calibrated, every measurement reads N px — uncalibrated, and the scale bar refuses with uncalibrated — a scale bar would be decoration, not data. Measurement points are stored in the image's own pixels, so resizing the object on the slide never moves a measurement off the feature it measured.

EBSD. EBSD · Import scan… reads a TSL .ang or Channel 5 .ctf file and turns it into an orientation map that becomes this micrograph — arriving already calibrated from the scan's own step size, so every measurement tool works on it. The caption it writes says exactly what the colours are: Euler-angle RGB (not IPF) · boundaries at >5° wrapped-Euler step (approximate). Proper IPF colouring needs the phase's crystal symmetry, which the scan alone does not supply.

Inspector fields. Image · EBSD · Alt text · Calibration · Pixels per µm · Unit · Measure · Scale bar · Caption.

Slots. None — a micrograph is driven by its calibration and its measurements, not by a number.

Gibbs energy#

Free-energy curves for a model binary, with the geometry that sits underneath every two-phase region.

What it draws. Two curves, α and β, in kJ/mol against composition, and — with Tangent shown — the common tangent between them, labelled with the touch compositions. The strip underneath states the temperature and, when there is no tangent to draw, says single phase — no tangent to draw.

Inspector fields. Temperature · Tangent (Shown, Hidden) · Model (regular solution) with Ω(α) J/mol, Ω(β) J/mol, ΔG A α→β and ΔG B α→β · Caption.

Slots. temperature in °C, plus Ω(α) interaction and Ω(β) interaction in J/mol. Bind temperature to the same slider as a phase diagram and the tangent's touch points track the boundary compositions live.

Limits. The inspector carries a permanent warning: a teaching model — not an assessed system. The provenance names the model it solves and the fact that the tangent comes from the lower convex hull of the sampled envelope.

Ashby chart#

Material family envelopes on log–log axes, with a selection guideline you can slide.

Charts. E–ρ (density against Young's modulus) and σ–ρ (density against strength). The families are the familiar ones — steels, Ti, Al, Mg, Cu and Ni alloys, CFRP and GFRP, Al₂O₃, SiC, glass, PC, PP, PEEK, woods, elastomers and polymer foams — grouped by colour and always labelled as well.

The guideline. Guideline switches it on, and Index picks which one: on E–ρ, E/ρ — a light stiff tie, E^½/ρ — a light stiff beam, E^⅓/ρ — a light stiff panel; the strength chart offers the tie, beam and panel equivalents. The line is labelled — drag me on the plot. Drag it and families that fail the index dim out while the strip below reports shortlist · N and names the survivors — or says nothing survives this line.

Inspector fields. Chart · Guideline · Index · Labels · Caption.

Slots. guideline position, so a slider can raise the bar in front of the room.

Limits. The envelopes are teaching ranges, and say so: order-of-magnitude family ranges, not a grade database.

Trajectory (MD)#

Molecular-dynamics playback: one frame drawn at a time, with a transport bar underneath.

Import. Run · Import… reads a LAMMPS dump (.dump, .lammpstrj) or a multi-frame XYZ. Atom ids are restored to their original order, scaled coordinates are unscaled, and velocity columns are folded into a speed per atom. The inspector then reads out the frame count, the atom count and the box dimensions.

Colouring. Colour by offers Element, |v| and Defects. Speed and defect modes use a viridis ramp with a legend. In defect mode, coordination is counted within the Cutoff radius using periodic minimum-image neighbours; atoms at the block's most common coordination fade into context and the off-count atoms glow, so a vacancy reads as a lit halo moving through the lattice. Choosing speed colouring on a run without velocities warns: this run carries no velocities — the dump needs vx vy vz columns.

Inspector fields. Run · Colour by · Cutoff · Speed · Box (Shown, Hidden) · Atom size · Caption.

Transport. Play/pause, a frame scrubber, and a frame counter that also shows the timestep when the file carried one. Playback advances with transient frames, so a minute of playback is a single undo step.

Slots. frame and playback speed (fps). Because the frame is an ordinary slot, any slider — or a Python cell, or an MCP client — can scrub the run.

Limits. A run with more than 4,000 atoms is refused rather than crawling: thinning atoms would show a different material. Beyond 300 frames the file is strided and the warning names the stride. A triclinic box tilt is ignored and drawn orthogonal, with a warning. A dump that carries numeric types rather than element names says so and asks you to set the elements.

Field playback#

A two-dimensional scalar field — an order parameter, a concentration, a temperature map — played through time.

Import. Frames · Import… reads blank-line-separated CSV grids: exactly what a loop around np.savetxt writes, so any phase-field code can emit it in a few lines. The inspector reads out the frame count, the grid dimensions, and the colour scale.

The fixed scale. The colour range is the run's global minimum and maximum, fixed at import. What animates is the field, never the palette. Colour bar shows the ramp with those two numbers on it, and Quantity labels it (φ by default).

Inspector fields. Frames · Speed · Colour bar · Quantity · Caption.

Transport. Identical to the trajectory's: play/pause, scrubber, frame counter, transient playback frames.

Slots. frame and playback speed.

Limits. A single grid is not a field: a field needs frames separated by blank lines. Ragged rows are refused with the frame and the row width named; a frame whose shape differs from the first is refused as not one field. Grids are limited to 40,000 cells, and runs past 200 frames are strided with a warning.

Next#