| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- !!omap
- - name: jet_pump
- - parts:
- - name: head
- shapes:
- libraries: ['from math import tan, radians, degrees, sin, cos, atan2, pi', 'from pysketcher import *']
- - name: constants
- shapes: # All dimenssions in cm angles in degrees
- Ljp: 16.0 # Total length
- Lcy: 1.5 # Lenght of input cylindre
- Lcon: 3.0 # length of input cone
- Lmix: 2.0 # Length of mixing chamber cylinder
- Lct: 1.0 # Length of penetration of jet cone inside cone mixing chamber
- Lt: 5.0 # Length of transit cylinder
- Ld: 4.0 # length of diffussion cone
- D: 4 # external diameter
- Din: 2.5 # Input cylinder internal diameter
- Dout: 2.5 # Output internal Diameter
- Dn: 0.5 # Nozzle internal diametre
- Dmix: 3.5 # Diameter mixing chamber
- einc: 0.25 # Thickness of the jet cone
- eain: 0.2 # air input pipe thickness
- x0: 1 # x drawing padding
- y0: 1 # y drawing padding
- H: 2.0 # Air pipe heigth
- N: 0.75 # position of the nozzle exit with respect to mixing chamber output cone start
- - name: frame
- shapes:
- Dt: D/3
- setframe: # sketch setup
- action: drawing_tool.set_coordinate_system(xmin=0, xmax=Ljp+2*x0,
- ymin=0, ymax=H+2*y0+D*1.5,
- axis=False)
- setblackline: # default frame values and actions
- action: drawing_tool.set_linecolor('blue')
- - name: part0
- shapes:
- P01: Point(x0,y0+H)
- P02: P01 + Point(0,(D-Din)/2)
- P03: P02 + Point(Lcy,0)
- P04: P03 + Point(Lcon,(Din-Dn)/2)
- alpha: atan2((P04.y-P03.y),(P04.x-P03.x))
- P05: P04 - Point(0,einc/cos(alpha))
- P06: P05 - Point((Lmix+N)*cos(alpha),(Lmix+N)*sin(alpha))
- P07: Point(P06.x,y0)
- P08: P07-Point(eain,0)
- P09: P08+Point(0,H)
- p0: |
- [P01,P02,P03,P04,P05,P06,P07,P08,P09,P01]
- part0:
- formula: Trajectory(p0)
- style:
- filled_curves:
- pattern: '/'
- Lmixcone: Ljp-Ld-Lt-2*eain-Lmix-(P09.x-P01.x) # length of the mixing chamber cone
- P11: Point(P07.x+Lmix,y0)
- P12: P11 + Point(0,H+(D-Dmix)/2)
- P13: P12 + Point(Lmixcone,(Dmix-Dt)/2)
- P14: P13 + Point(Lt,0)
- P15: P14 + Point(Ld,-(Dout-Dt)/2)
- P16: P15 - Point(0,(D-Dout)/2)
- P17: P16 - Point(Ld+Lt+Lmixcone-eain,0)
- P18: P17 - Point(0,H)
- p1: |
- [P11,P12,P13,P14,P15,P16,P17,P18,P11]
- part1:
- formula: Trajectory(p1)
- style:
- filled_curves:
- pattern: '/'
- P21: Point(x0,y0+H+D)
- P22: P21 + Point(Ljp-eain,0)
- P23: P22 + Point(0,-(D-Dout)/2)
- P24: P23 + Point(-Ld,-(Dout-Dt)/2)
- P25: P24 + Point(-Lt,0)
- P26: P25 + Point(-Lmixcone, (Dmix-Dt)/2)
- P27: P26 + Point(-(Lmix),0)
- P2C: P21 + Point(0,-(D-Din)/2)
- P2B: P2C + Point(Lcy,0)
- P2A: P2B + Point((Lcon+eain)*cos(alpha),-(Lcon+eain)*sin(alpha))
- P29: P2A + Point(0,einc/cos(alpha))
- P28: P29 + Point(-(Lmix+N)*cos(alpha), (Lmix+N)*sin(alpha))
- p2: |
- [P21,P22,P23,P24,P25,P26,P27,P28,P29,P2A,P2B,P2C]
- part2:
- formula: Trajectory(p2)
- style:
- filled_curves:
- pattern: '/'
- venturi: |
- Composition({'part0':part0,'part1':part1, 'part2':part2})
- dljp:
- formula: Distance_wText(P21+Point(0,0.5),P22+Point(0,0.5),r'$L<bslash>textsubscript{jp}$')
- style:
- linecolor: 'black'
- linewidth: 1
- dld:
- formula: Distance_wText(Point(P14.x,P16.y)+Point(0,-1.5),P16+Point(0,-1.5),r'$L<bslash>textsubscript{d}$')
- style:
- linecolor: 'black'
- linewidth: 1
- dlt:
- formula: Distance_wText(Point(P13.x,P16.y)+Point(0,-1.5),Point(P14.x,P16.y)+Point(0,-1.5),r'$L<bslash>textsubscript{t}$')
- style:
- linecolor: 'black'
- linewidth: 1
- dlcm:
- formula: Distance_wText(Point(P12.x,P16.y)+Point(0,-1.5),Point(P13.x,P16.y)+Point(0,-1.5),r'$L<bslash>textsubscript{cm}$')
- style:
- linecolor: 'black'
- linewidth: 1
- dlmix:
- formula: Distance_wText(Point(P06.x,P16.y)+Point(0,-1.5),Point(P11.x,P16.y)+Point(0,-1.5),r'$L<bslash>textsubscript{mix}$')
- style:
- linecolor: 'black'
- linewidth: 1
- dlin:
- formula: Distance_wText(P02+Point(0,0.5),P03+Point(0,0.5),r'$L<bslash>textsubscript{in}$')
- style:
- linecolor: 'black'
- linewidth: 1
- dd:
- formula: Distance_wText(P01-Point(0.5,0),P21-Point(0.5,0),r'$D$',alignment='right')
- style:
- linecolor: 'black'
- linewidth: 1
- dn:
- formula: Distance_wText(P04+Point(0.5,0),P2A+Point(0.5,0),r'$D<bslash>textsubscript{n}$')
- style:
- linecolor: 'black'
- linewidth: 1
- ddmix:
- formula: Distance_wText(P12,P26,r'$D<bslash>textsubscript{mix}$',alignment='right')
- style:
- linecolor: 'black'
- linewidth: 1
- ddin:
- formula: Distance_wText(P02+Point(1.5,0),P2C+Point(1.5,0),r'$D<bslash>textsubscript{in}$',alignment='right')
- style:
- linecolor: 'black'
- linewidth: 1
- ddout:
- formula: Distance_wText(P15+Point(0.5,0),P23+Point(0.5,0),r'$D<bslash>textsubscript{out}$')
- style:
- linecolor: 'black'
- linewidth: 1
- ddt:
- formula: Distance_wText(P13,P25,r'$D<bslash>textsubscript{t}$')
- style:
- linecolor: 'black'
- linewidth: 1
- dim: |
- Composition({'dljp': dljp,'dld': dld,'dlt': dlt,'dlcm': dlcm,'dlmix': dlmix,'dlin': dlin,
- 'ddin': ddin,'ddout': ddout,'ddt': ddt,'dd': dd,'dn':dn,'ddmix': ddmix})
- jet_pump: |
- Composition({'venturi':venturi, 'dim':dim})
-
|