Skip to content
Open
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
49 changes: 26 additions & 23 deletions pages/30_Water Dew Point.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
st.divider()

st.edited_dfTP = st.data_editor(
st.session_state.tp_data['Pressure (bara)'].dropna().reset_index(drop=True),
st.session_state.tp_data[['Pressure (bara)']].dropna().reset_index(drop=True),
num_rows='dynamic', # Allows dynamic number of rows
column_config={
'Pressure (bara)': st.column_config.NumberColumn(
Expand All @@ -68,27 +68,30 @@
# Check if water's MolarComposition[-] is greater than 0
water_row = st.edited_df[st.edited_df['ComponentName'] == 'water'] # Adjust 'ComponentName' and 'water' as necessary
if not water_row.empty and water_row['MolarComposition[-]'].iloc[0] > 0:
neqsim_fluid = fluid_df(st.edited_df, lastIsPlusFraction=False, add_all_components=False).autoSelectModel()
results_list = []
results_list2 = []
pres_list = []
fluid_results_list = []
for pres in st.edited_dfTP.dropna():
pressure = pres
pres_list.append(pressure)
neqsim_fluid.setPressure(pressure, 'bara')
results_list.append(hydt(neqsim_fluid)-273.15)
results_list2.append(waterdewt(neqsim_fluid)-273.15)
fluid_results_list.append(dataFrame(neqsim_fluid))
st.session_state['tp_data'] = pd.DataFrame({
'Pressure (bara)': pres_list, # Default example pressure
'Hydrate Temperature (C)': results_list, # Default temperature
'Aqueous Temperature (C)': results_list2 # Default temperature
})
st.session_state['tp_data'] = st.session_state['tp_data'].sort_values('Pressure (bara)')
st.success('Hydrate calculation finished successfully!')
combined_results = pd.concat(fluid_results_list, ignore_index=True)

pressure_values = st.edited_dfTP['Pressure (bara)'].dropna()
if (pressure_values <= 0).any():
st.error('Pressure must be greater than 0 bara. Please update the pressure inputs before running calculations.')
else:
neqsim_fluid = fluid_df(st.edited_df, lastIsPlusFraction=False, add_all_components=False).autoSelectModel()
results_list = []
results_list2 = []
pres_list = []
fluid_results_list = []
for pressure in pressure_values:
pres_list.append(pressure)
neqsim_fluid.setPressure(pressure, 'bara')
results_list.append(hydt(neqsim_fluid)-273.15)
results_list2.append(waterdewt(neqsim_fluid)-273.15)
fluid_results_list.append(dataFrame(neqsim_fluid))
st.session_state['tp_data'] = pd.DataFrame({
'Pressure (bara)': pres_list, # Default example pressure
'Hydrate Temperature (C)': results_list, # Default temperature
'Aqueous Temperature (C)': results_list2 # Default temperature
})
st.session_state['tp_data'] = st.session_state['tp_data'].sort_values('Pressure (bara)')
st.success('Hydrate calculation finished successfully!')
combined_results = pd.concat(fluid_results_list, ignore_index=True)

if st.session_state.get('refresh', True):
st.edited_dfTP2 = st.data_editor(
st.session_state.tp_data.dropna().reset_index(drop=True),
Expand All @@ -114,7 +117,7 @@
plt.figure(figsize=(10, 5))
plt.plot(st.session_state['tp_data']['Hydrate Temperature (C)'], st.session_state['tp_data']['Pressure (bara)'], marker='o', linestyle='-',label="hydrate temperature")
plt.plot(st.session_state['tp_data']['Aqueous Temperature (C)'], st.session_state['tp_data']['Pressure (bara)'], marker='x', linestyle='--',label="aqueous dew point")

plt.title('Dew Point Lines')
plt.ylabel('Pressure (bara)')
plt.xlabel('Temperature (C)')
Expand Down