Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,27 @@ class Experiment(BaseModel, extra="forbid"):
description="Root experiment type (NSC, Na, PG, MINES, TRI)"
)

global_formula: str = Field(
description=(
"The canonical formula for the target material, independent of per-run precursor adjustments."
"Represents what the experiment was ultimately trying to synthesize. This should be same as `formula`."
),
)

experiment_subgroup: str | None = Field(
default=None, description="Experiment subgroup (e.g., NSC_249, Na_123)"
)

target_formula: str = Field(description="Target chemical formula")
target_formula: str | None = Field(
default=None,
description=(
"The formula used internally to determine precursor weights."
"May differ from the true intended formula (global_formula) due to experimental"
"constraints (e.g. oxygen mass balancing corrections, excess"
"alkali for battery materials). Not always a chemically meaningful"
"representation of what was attempted. Can be null if there is no adjustment for experiment."
),
)

last_updated: datetime = Field(description="Last modification timestamp")

Expand All @@ -56,6 +72,11 @@ class Experiment(BaseModel, extra="forbid"):
default=None, description="Optional notes about the experiment"
)

precursor_powders: list[str] | None = Field(
default=None,
description="List of precursor powder names used in the experiment",
)

# === Heating fields (prefix: heating_) ===
heating_method: Literal["standard", "atmosphere", "manual", "none"] | None = Field(
default=None, description="Heating method used"
Expand Down Expand Up @@ -85,6 +106,10 @@ class Experiment(BaseModel, extra="forbid"):
default=None, description="Whether low temperature calcination was used"
)

heating_furnace_name: str | None = Field(
default=None, description="Heating furnace type"
)

# === Recovery fields (prefix: recovery_) ===
recovery_total_dosed_mass_mg: float | None = Field(
default=None, description="Total mass of all powders dosed in mg"
Expand Down
Loading