Files
Python-DT_Slot_3/Turbinen/old/Turbinen_class_file.py
2022-07-20 15:43:51 +02:00

34 lines
1.1 KiB
Python

from matplotlib.pyplot import fill
import numpy as np
from scipy.interpolate import interp2d
#importing pressure conversion function
import sys
import os
current = os.path.dirname(os.path.realpath(__file__))
parent = os.path.dirname(current)
sys.path.append(parent)
from functions.pressure_conversion import pressure_conversion
class Francis_turbine_class:
def __init__(self,CSV_name='Durchflusskennlinie.csv'):
csv = np.genfromtxt(CSV_name,delimiter=',')
n_rows,_ = np.shape(csv)
self.raw_csv = np.append(csv,np.zeros([n_rows,1]),axis = 1)
def extract_csv(self,CSV_pressure_unit='bar'):
ps_vec,_ = pressure_conversion(self.raw_csv[0,1:],CSV_pressure_unit,'Pa')
self.raw_ps_vec = np.flip(ps_vec)
self.raw_LA_vec = self.raw_csv[1:,0]
self.raw_Qs_mat = np.fliplr(self.raw_csv[1:,1:])/1000. # convert from l/s to m³/s
def get_Q_fun(self):
Q_fun = interp2d(self.raw_ps_vec,self.raw_LA_vec,self.raw_Qs_mat,bounds_error=False,fill_value=None)
return Q_fun