turbo-design 1.1.1__tar.gz → 1.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {turbo_design-1.1.1 → turbo_design-1.1.2}/PKG-INFO +1 -1
  2. {turbo_design-1.1.1 → turbo_design-1.1.2}/pyproject.toml +1 -1
  3. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/bladerow.py +1 -0
  4. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/inlet.py +3 -3
  5. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/passage.py +5 -3
  6. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/td_math.py +6 -3
  7. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/__init__.py +0 -0
  8. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/arrayfuncs.py +0 -0
  9. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/cantera_gas/co2.yaml +0 -0
  10. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/compressorspool.py +0 -0
  11. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/coolant.py +0 -0
  12. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/enums.py +0 -0
  13. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/isentropic.py +0 -0
  14. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/__init__.py +0 -0
  15. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/compressor/__init__.py +0 -0
  16. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/losstype.py +0 -0
  17. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/TD2.py +0 -0
  18. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/__init__.py +0 -0
  19. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/ainleymathieson.py +0 -0
  20. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/craigcox.py +0 -0
  21. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/fixedefficiency.py +0 -0
  22. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/fixedpressureloss.py +0 -0
  23. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/kackerokapuu.py +0 -0
  24. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/loss/turbine/traupel.py +0 -0
  25. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/lossinterp.py +0 -0
  26. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/outlet.py +0 -0
  27. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/radeq.py +0 -0
  28. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/rotor.py +0 -0
  29. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/solve_radeq.py +0 -0
  30. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/spool.py +0 -0
  31. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/stage.py +0 -0
  32. {turbo_design-1.1.1 → turbo_design-1.1.2}/turbodesign/turbinespool.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: turbo-design
3
- Version: 1.1.1
3
+ Version: 1.1.2
4
4
  Summary: TurboDesign is a library used to design turbines and compressors using radial equilibrium.
5
5
  Author: Paht Juangphanich
6
6
  Author-email: paht.juangphanich@nasa.gov
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "turbo-design"
3
- version = "1.1.1"
3
+ version = "1.1.2"
4
4
  description = "TurboDesign is a library used to design turbines and compressors using radial equilibrium."
5
5
  authors = ["Paht Juangphanich <paht.juangphanich@nasa.gov>"]
6
6
  packages = [
@@ -486,6 +486,7 @@ class BladeRow:
486
486
  "euler_power":self.euler_power,
487
487
  "axial_chord":self.axial_chord,
488
488
  "aspect_ratio":self.aspect_ratio,
489
+ "num_blades":self.num_blades,
489
490
  "area": self.area,
490
491
  "mprime":self.mprime[-1],
491
492
  "Reynolds":self.Reynolds,
@@ -54,7 +54,8 @@ class Inlet(BladeRow):
54
54
  self.beta2_metal = [0]
55
55
  self.P0_fun = interp1d(self.percent_hub_shroud,P0)
56
56
  self.T0_fun = interp1d(self.percent_hub_shroud,T0)
57
-
57
+ self.mprime = [0]
58
+
58
59
 
59
60
  def initialize_velocity(self,passage:Passage,num_streamlines:int):
60
61
  """Initialize velocity calculations. Assumes streamlines and inclination angles have been calculated
@@ -67,7 +68,6 @@ class Inlet(BladeRow):
67
68
 
68
69
  cutline,_,_ = passage.get_cutting_line(self.axial_location)
69
70
  self.x,self.r = cutline.get_point(np.linspace(0,1,num_streamlines))
70
-
71
71
  for _ in range(10):
72
72
  T0_T = (1+(self.gamma-1)/2 * self.M**2)
73
73
 
@@ -115,7 +115,7 @@ class Inlet(BladeRow):
115
115
  Area += 2*np.pi*C*(S/2*dx**2+self.r[j-1]*dx)
116
116
 
117
117
  self.calculated_massflow = self.rho.mean()*self.Vm.mean() * Area
118
-
118
+
119
119
 
120
120
  def get_total_pressure(self,percent_hub_shroud:Union[float,npt.NDArray]):
121
121
  """Returns the static pressure at a certain percent hub_shroud
@@ -184,7 +184,7 @@ class Passage:
184
184
  rshroud = self.rshroud(t_shroud)
185
185
  return line2D([xhub,rhub],[xshroud,rshroud]), t_hub, t_shroud
186
186
 
187
- def get_xr_slice(self,t_span:float,axial_location:float):
187
+ def get_xr_slice(self,t_span:float,axial_location:Tuple[float,float]):
188
188
  """Returns the xr coordinates of a streamline, a line that is parallel to both hub and shroud
189
189
 
190
190
  Args:
@@ -194,7 +194,7 @@ class Passage:
194
194
  Returns:
195
195
  np.NDArray: _description_
196
196
  """
197
- t_hub = np.linspace(0,axial_location,100)
197
+ t_hub = np.linspace(axial_location[0],axial_location[1],100)
198
198
 
199
199
  shroud_pts_cyl = np.vstack([self.xshroud(t_hub),self.rshroud(t_hub)]).transpose()
200
200
  hub_pts_cyl = np.vstack([self.xhub(t_hub),self.rhub(t_hub)]).transpose()
@@ -228,7 +228,9 @@ class Passage:
228
228
  cut,_,_ = self.get_cutting_line(p)
229
229
  x,r = cut.get_point(np.linspace(0,1,10))
230
230
  plt.plot(x,r,label=f'{p}',linestyle='dashed')
231
-
231
+
232
+
233
+ plt.ylim([-self.rshroud_pts.max()*0.1, self.rshroud_pts.max()])
232
234
  plt.legend()
233
235
  plt.axis('scaled')
234
236
  plt.show()
@@ -86,8 +86,10 @@ def compute_reynolds(rows:List[BladeRow],passage:Passage):
86
86
  rows (List[BladeRow]): Blade row to calculate the Reynolds number
87
87
  passage (Passage): Passage
88
88
  """
89
- for row in rows:
90
- xr = passage.get_xr_slice(0.5,row.axial_location)
89
+
90
+ for i in range(1,len(rows)):
91
+ row = rows[i]
92
+ xr = passage.get_xr_slice(0.5,[rows[i-1].axial_location,row.axial_location])
91
93
  dx = np.diff(xr[:,0])
92
94
  dr = np.diff(xr[:,1])
93
95
  c = np.sum(np.sqrt(dx**2+dr**2))
@@ -102,7 +104,8 @@ def compute_reynolds(rows:List[BladeRow],passage:Passage):
102
104
  mu = row.mu
103
105
  row.Reynolds = c*V*rho/mu
104
106
  row.mprime = mp
105
- row.axial_chord = c
107
+ row.axial_chord = max(c,1E-12) # Axial chord
108
+ # row.num_blades = int(2*np.pi*row.r.mean() / row.pitch_to_chord * row.axial_chord)
106
109
 
107
110
 
108
111