store objects to postgresql

This commit is contained in:
2024-07-30 17:50:08 -04:00
parent 8d9b371af4
commit 79c170b73e
3 changed files with 81 additions and 110 deletions

View File

@@ -1,43 +1,37 @@
from dataclasses import dataclass
from experiment import Experiment, Measurement, Variable
@dataclass
class ShellingExperiment(Experiment):
def __init__(
self,
date: str,
drum_rpm: int,
paddle_shaft_rpm: int,
ring_gap: float,
tilt_angle: float,
moisture_content: float,
feed_rate: int = 500,
pecan_variety: str = "desirable",
):
def make_shelling_experiment(
date: str,
drum_rpm: int,
paddle_shaft_rpm: int,
ring_gap: float,
tilt_angle: float,
moisture_content: float,
feed_rate: int = 500,
pecan_variety_index: int = 0,
) -> Experiment:
super().__init__(experiment="Shelling Analysis", date=date)
variables = [
Variable("drum-rpm", "rpm", (30, 40), drum_rpm),
Variable("paddle-shaft-rpm", "rpm", (400, 800), paddle_shaft_rpm),
Variable("ring-gap", "in", value=ring_gap),
Variable("tilt-angle", "deg", (2, 5), tilt_angle),
Variable("feed-rate", "lb/hr", (300, 500), feed_rate),
Variable("moisture-content", "%", (5, 9), moisture_content),
Variable("pecan-variety", "", value=pecan_variety),
]
self.add_variables(variables)
measurements = [
Measurement("bin1-weight", "lb"),
Measurement("bin2-weight", "lb"),
Measurement("bin3-weight", "lb"),
Measurement("recirculated-weight", "lb"),
Measurement("final-discharge-weight", "lb"),
Measurement("bin1-half-yield", "%"),
Measurement("bin2-half-yield", "%"),
Measurement("bin3-half-yield", "%"),
]
self.add_measurements(measurements)
return Experiment(
date=date,
experiment="shelling",
variables=[
Variable(name="drum-rpm", unit="rpm", value=drum_rpm),
Variable(name="paddle-shaft-rpm", unit="rpm", value=paddle_shaft_rpm),
Variable(name="ring-gap", unit="in", value=ring_gap),
Variable(name="tilt-angle", unit="deg", value=tilt_angle),
Variable(name="feed-rate", unit="lb/hr", value=feed_rate),
Variable(name="moisture-content", unit="%", value=moisture_content),
Variable(name="pecan-variety", unit="", value=pecan_variety_index),
],
measurements=[
Measurement(name="bin1-weight", unit="lb"),
Measurement(name="bin2-weight", unit="lb"),
Measurement(name="bin3-weight", unit="lb"),
Measurement(name="recirculated-weight", unit="lb"),
Measurement(name="final-discharge-weight", unit="lb"),
Measurement(name="bin1-half-yield", unit="%"),
Measurement(name="bin2-half-yield", unit="%"),
Measurement(name="bin3-half-yield", unit="%"),
],
)