MuhammadSajid commited on
Commit
28b19b2
·
verified ·
1 Parent(s): e1a872a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -18
app.py CHANGED
@@ -1,28 +1,31 @@
1
  import streamlit as st
2
 
3
- # Set the title of the app
4
- st.title("Reactive Power Compensation Panel - Power Calculation")
5
 
6
- # User input fields for voltage and current
 
 
 
 
 
7
  voltage = st.number_input("Enter Voltage (V)", min_value=0.0, step=0.1)
8
  current = st.number_input("Enter Current (A)", min_value=0.0, step=0.1)
 
9
 
10
- # Calculate the apparent power (VA) and real power (kW)
11
  if voltage > 0 and current > 0:
12
- apparent_power = voltage * current # Apparent power in VA
13
- real_power = apparent_power / 1000 # Real power in kW (since 1 kW = 1000 W)
14
-
15
- # Calculate the power factor (Real Power / Apparent Power)
16
- if apparent_power > 0:
17
- power_factor = real_power * 1000 / apparent_power # Power factor (unitless)
18
- else:
19
- power_factor = 0
20
-
21
- # Display the results
22
- st.subheader(f"Calculated Apparent Power: {round(apparent_power, 2)} VA")
23
- st.subheader(f"Calculated Real Power: {round(real_power, 2)} kW")
24
- st.subheader(f"Calculated Power Factor: {round(power_factor, 2)}")
25
  else:
26
- st.warning("Please enter valid inputs!")
 
27
 
28
 
 
1
  import streamlit as st
2
 
3
+ # Title
4
+ st.title("Single-Phase Power Calculator - Reactive Power Compensation Panel")
5
 
6
+ st.markdown("This tool is designed for single-phase electrical systems. It calculates:")
7
+ st.markdown("- **Apparent Power (VA)**")
8
+ st.markdown("- **Real Power (kW)** assuming Power Factor = 1")
9
+ st.markdown("- **Power Factor** (optional input)")
10
+
11
+ # Inputs
12
  voltage = st.number_input("Enter Voltage (V)", min_value=0.0, step=0.1)
13
  current = st.number_input("Enter Current (A)", min_value=0.0, step=0.1)
14
+ power_factor = st.slider("Power Factor (optional, default = 1)", 0.0, 1.0, 1.0, step=0.01)
15
 
16
+ # Calculations
17
  if voltage > 0 and current > 0:
18
+ apparent_power = voltage * current # VA
19
+ real_power = voltage * current * power_factor / 1000 # kW
20
+ calculated_pf = real_power * 1000 / apparent_power if apparent_power > 0 else 0
21
+
22
+ # Results
23
+ st.subheader("Results (Single-Phase):")
24
+ st.write(f"🔌 Apparent Power: **{round(apparent_power, 2)} VA**")
25
+ st.write(f"⚡ Real Power: **{round(real_power, 2)} kW**")
26
+ st.write(f"📐 Power Factor: **{round(calculated_pf, 2)}**")
 
 
 
 
27
  else:
28
+ st.warning("Please enter valid voltage and current values.")
29
+
30
 
31