⚡ Grid Supply: Loading...
KETS Dashboard
▼ Flywheel 1 & 2
☰ \( E_{\text{exc, rev}} \) Excess Energy per Revolution (J) 141,636.171841
View Help Guide
Purpose: The total surplus energy generated during one full revolution of the track.
Logic: Pulls the exact net-positive energy reading from the Energy Balance sheet to tell us how much "free" kinetic energy we have available to harvest without slowing the machine down.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$E_{\text{exc, rev}} = \Sigma E_{\text{sum, seg}}$$
Python Logic: v["SUM Segment Operational State Steady Velocity Accumulative Energy Balance (J)"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 141,636.1718 = 141,636.1718
☰ \( t_{\text{rev}} \) Revolution Time (s) 2.112069
View Help Guide
Purpose: The exact time it takes the enabler train to complete one full lap.
Logic: Used to convert our total harvested energy (Joules) into a per-second continuous power rate (Watts).
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$t_{\text{rev}} = t_{\text{run}}$$
Python Logic: v["Run time across GMEG track (s)"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 2.1121 = 2.1121
☰ \( P_{\text{gross, exc}} \) Gross Excess Power (W) 67,060.391566
View Help Guide
Purpose: The raw power (Watts) continuously generated by the system's surplus energy.
Logic: Spreads the total excess Joules over the lap time so we know the constant rate of power flowing out of the GMEG toward the flywheel.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$P_{\text{gross, exc}} = E_{\text{exc, rev}}/t_{\text{run}}$$
Python Logic: v["Excess Energy per Revolution (J)"]/v["Run time across GMEG track (s)"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 141,636.1718/2.1121 = 67,060.3916
☰ \( \eta \) System Efficiency (%)
View Help Guide
Purpose: The mechanical efficiency of the flywheel system.
Logic: No kinetic battery is perfectly frictionless. This deduction accounts for bearing drag and aerodynamic windage inside the high-speed flywheel housing.
Type: Manual Entry
Render on Grids: None
Mathematical Formula:
Adjustable user input
Python Logic: N/A
Live Evaluation: N/A (Input Variable)
☰ \( P_{\text{avail, exc}} \) Available Excess Power (W) 65,048.579819
View Help Guide
Purpose: The actual mechanical power that successfully reaches the flywheel.
Logic: Strips away the system friction losses to give us the true "net" power we have captured in the kinetic battery.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$P_{\text{avail, exc}} = P_{\text{gross, exc}} \times \eta$$
Python Logic: v["Gross Excess Power (W)"] * v["System Efficiency (%)"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 67,060.3916 * 0.9700 = 65,048.5798
☰ \( X_{\text{extr}} \) Extraction (%)
View Help Guide
Purpose: The percentage of captured power we decide to pull out for the grid.
Logic: We don't want to drain the flywheel completely dry and stall it. This slider lets us tune how much power we bleed off to the grid while keeping the rotational momentum stable.
Type: Manual Entry
Render on Grids: None
Mathematical Formula:
Adjustable user input
Python Logic: N/A
Live Evaluation: N/A (Input Variable)
☰ \( P_{\text{usable, exc}} \) Usable Excess Power (W) 61,796.150828
View Help Guide
Purpose: The final amount of power approved to be pulled from the flywheel.
Logic: This is the actual energy budget we are allowed to convert into electricity, ensuring the system acts as a perfect shock-absorber.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$P_{\text{usable, exc}} = P_{\text{avail, exc}} \times X_{\text{extr}}$$
Python Logic: v["Available Excess Power (W)"] * v["Extraction (%)"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 65,048.5798 * 0.9500 = 61,796.1508
☰ \( n_{\text{gmeg}} \) GMEG Speed (RPM) 48
View Help Guide
Purpose: The rotational speed of the main GMEG drive.
Logic: We need this baseline speed to calculate how much we need to "step up" the gearing to spin the high-speed flywheel.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$n_{\text{gmeg}} = n_{\text{rpm}}$$
Python Logic: v["Internal Gear RPM"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 48.0000 = 48.0000
☰ \( n_{\text{gen}} \) Generator Speed (RPM)
View Help Guide
Purpose: The target spinning speed of the high-velocity flywheel.
Logic: Flywheels store exponentially more energy the faster they spin. This sets the target speed so we can properly size the gearing and the physical mass of the wheel.
Type: Manual Entry
Render on Grids: None
Mathematical Formula:
Adjustable User Input
Python Logic: N/A
Live Evaluation: N/A (Input Variable)
☰ \( GR_{\text{kets, ratio}} \) KETS Gear Ratio 7.8125
View Help Guide
Purpose: The mechanical multiplier between the slow main drive and the fast flywheel.
Logic: Tells us exactly what gearbox ratio we need to step the slow, high-torque GMEG rotation up to the high-RPM required for kinetic storage.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$GR_{\text{kets, ratio}} = n_{\text{gen}} / n_{\text{gmeg}}$$
Python Logic: v["Generator Speed (RPM)"] / v["GMEG Speed (RPM)"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 375.0000 / 48.0000 = 7.8125
☰ \( P_{\text{usable, power}} \) Usable Power Reflected (W) 7,909.907306
View Help Guide
Purpose: The power experienced at the flywheel shaft after gearing it up.
Logic: When you step up speed through a gearbox, you divide the torque. This reflects the true energy profile hitting the high-speed side of the gearbox.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$P_{\text{usable, power}} = P_{\text{usable, exc}} / GR_{\text{kets, ratio}}$$
Python Logic: v["Usable Excess Power (W)"] / v["KETS Gear Ratio"]
Live Evaluation: [ROUTE: STATIC/GLOBAL] 61,796.1508 / 7.8125 = 7,909.9073
☰ \( X_{\text{gen, start}} \) Generator Start (rad/s) 39.269908
View Help Guide
Purpose: The flywheel's starting speed in strict physics units.
Logic: Converts RPMs into radians per second so the simulator can run standard rotational kinetic energy formulas.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$X_{\text{gen, start}} = ( ( 2 \times PI ( ) ) \times n_{\text{gen}} ) / 60$$
Python Logic: ( ( 2*PI ( ) ) * v["Generator Speed (RPM)"] ) / 60
Live Evaluation: [ROUTE: STATIC/GLOBAL] ( ( 2*PI ( ) ) * 375.0000 ) / 60 = 39.2699
☰ \( n_{\text{fw, drop}} \) Flywheel Speed Drop RPM (%)
View Help Guide
Purpose: The maximum allowed slowdown when we pull energy out of the flywheel.
Logic: When you extract energy, the flywheel slows down. This sets our "floor" so we never drain it so fast that it causes a system voltage drop.
Type: Manual Entry
Render on Grids: None
Mathematical Formula:
Adjustable user input
Python Logic: N/A
Live Evaluation: N/A (Input Variable)
☰ \( n_{\text{final, fw}} \) Final Flywheel RPM 337.5
View Help Guide
Purpose: The lowest RPM the flywheel will hit after discharging its energy to the grid.
Logic: Gives us the specific speed at the bottom of the power-draw cycle, which is mathematically required to size the exact mass the flywheel needs.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$n_{\text{final, fw}} = n_{\text{gen}} \times ( 1 - n_{\text{fw, drop}} )$$
Python Logic: v["Generator Speed (RPM)"]* ( 1 - v["Flywheel Speed Drop RPM (%)"] )
Live Evaluation: [ROUTE: STATIC/GLOBAL] 375.0000* ( 1 - 0.1000 ) = 337.5000
☰ \( \omega_{\text{final, angular}} \) Final angular velocity (rad/s) 35.342917
View Help Guide
Purpose: The lowest speed in physics units (radians/sec).
Logic: Required to calculate the energy delta (the difference between full speed and slow speed) in strict Joules.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$\omega_{\text{final, angular}} = X_{\text{gen, start}} \times ( 1 - n_{\text{fw, drop}} )$$
Python Logic: v["Generator Start (rad/s)"] * ( 1 - v["Flywheel Speed Drop RPM (%)"] )
Live Evaluation: [ROUTE: STATIC/GLOBAL] 39.2699 * ( 1 - 0.1000 ) = 35.3429
☰ \( X_{\text{req, moment}} \) Required Moment of Inertia (kg m^2) 53.991826
View Help Guide
Purpose: The exact physical resistance to spinning required from the flywheel mass.
Logic: The master kinetic formula. It calculates exactly how "heavy" the wheel needs to feel to safely store and release the required energy within our allowed RPM drop.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$X_{\text{req, moment}} = ( 2 \times P_{\text{usable, power}} ) / ( ( X_{\text{gen, start}} ) ^ 2 - ( \omega_{\text{final, angular}} ) ^ 2 )$$
Python Logic: ( 2 * v["Usable Power Reflected (W)"] ) / ( ( v["Generator Start (rad/s)"] ) ^ 2 - ( v["Final angular velocity (rad/s)"] ) ^ 2 )
Live Evaluation: [ROUTE: STATIC/GLOBAL] ( 2 * 7,909.9073 ) / ( ( 39.2699 ) ** 2 - ( 35.3429 ) ** 2 ) = 53.9918
☰ \( \rho_{\text{material, density}} \) Material Density (kg/m3)
View Help Guide
Purpose: The physical density of the material used to build the flywheel.
Logic: Used to translate the required inertia into actual, real-world physical dimensions (how thick and wide the metal or carbon must be).
Type: Manual Entry
Render on Grids: None
Mathematical Formula:
Adjustable user input
Python Logic: N/A
Live Evaluation: N/A (Input Variable)
☰ \( D_{\text{outer}} \) Outer diameter (m)
View Help Guide
Purpose: The physical width of the flywheel across its widest point.
Logic: We lock this in based on how much physical space we have in the machine housing. The simulator then calculates how thick the wheel must be to hit the required inertia.
Type: Manual Entry
Render on Grids: None
Mathematical Formula:
Adjustable User Input
Python Logic: Adjustable user input
Live Evaluation: N/A (Input Variable)
☰ \( R_{\text{outer}} \) Outer radius (m) 0.875
View Help Guide
Purpose: The distance from the center shaft to the outer edge.
Logic: The fundamental geometric variable needed to calculate the volume and mass distribution of the spinning cylinder.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$R_{\text{outer}} = D_{\text{outer}} / 2$$
Python Logic: v["Outer diameter (m)"] / 2
Live Evaluation: [ROUTE: STATIC/GLOBAL] 1.7500 / 2 = 0.8750
☰ \( D_{\text{inner}} \) Inner diameter (m)
View Help Guide
Purpose: The size of the central hole in the flywheel.
Logic: Most efficient flywheels aren't solid discs; they are thick rings. This defines the hollow core so it slides onto the drive shaft and maximizes mass at the outer edge.
Type: Manual Entry
Render on Grids: None
Mathematical Formula:
Adjustable user input
Python Logic: N/A
Live Evaluation: N/A (Input Variable)
☰ \( R_{\text{inner}} \) Inner radius (m) 0.8
View Help Guide
Purpose: The distance from the center to the inside edge of the ring.
Logic: Used alongside the outer radius to calculate the exact volume of the "doughnut" shaped flywheel.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$R_{\text{inner}} = D_{\text{inner}}/2$$
Python Logic: v["Inner diameter (m)"]/2
Live Evaluation: [ROUTE: STATIC/GLOBAL] 1.6000/2 = 0.8000
☰ \( M_{\text{fw}} \) Flywheel Mass (kg) 76.822518
View Help Guide
Purpose: The total physical weight required for the flywheel ring.
Logic: Reverses the inertia formula to tell us exactly how heavy the steel or composite ring must be to store our target energy.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$M_{\text{fw}} = (2 \times X_{\text{req, moment}})/((R_{\text{outer}})^2+(R_{\text{inner}})^2)$$
Python Logic: (2*v["Required Moment of Inertia (kg m^2)"])/((v["Outer radius (m)"])^2+(v["Inner radius (m)"])^2)
Live Evaluation: [ROUTE: STATIC/GLOBAL] (2*53.9918)/((0.8750)**2+(0.8000)**2) = 76.8225
☰ \( W_{\text{fw}} \) Flywheel Width (m) 0.006199
View Help Guide
Purpose: The actual thickness of the flywheel ring.
Logic: The final architectural output. It tells us exactly how thick to machine the metal ring so it perfectly matches the required mass and inertia.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$W_{\text{fw}} = M_{\text{fw}}/(\rho_{\text{material, density}} \times \pi \times ((D_{\text{outer}})^2-(D_{\text{inner}})^2))$$
Python Logic: v["Flywheel Mass (kg)"]/(v["Material Density (kg/m3)"]*PI()*((v["Outer diameter (m)"])^2-(v["Inner diameter (m)"])^2))
Live Evaluation: [ROUTE: STATIC/GLOBAL] 76.8225/(7,850.0000*PI()*((1.7500)**2-(1.6000)**2)) = 0.0062
☰ \( X_{\text{peak, electrical}} \) Peak Electrical Output Flywheel (kW) 7.909907
View Help Guide
Purpose: The final, stable electrical power exported to the grid.
Logic: The ultimate bottom line for the energy recovery system. It converts the smoothed, friction-adjusted mechanical power into standard kilowatts to feed back into the internal energy loop averaged over a revolution.
Type: Calculated (Math Output)
Render on Grids: None
Mathematical Formula:
$$X_{\text{peak, electrical}} = P_{\text{usable, power}}/1000$$
Python Logic: v["Usable Power Reflected (W)"]/1000
Live Evaluation: [ROUTE: STATIC/GLOBAL] 7,909.9073/1000 = 7.9099