/[ascend]/trunk/models/johnpye/rankine.a4c
ViewVC logotype

Diff of /trunk/models/johnpye/rankine.a4c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1663 by jpye, Thu Dec 13 04:35:35 2007 UTC revision 1664 by jpye, Thu Dec 13 06:59:30 2007 UTC
# Line 230  END on_load; Line 230  END on_load;
230  END condenser_simple_test;  END condenser_simple_test;
231    
232  (*------------------------------------------------------------------------------  (*------------------------------------------------------------------------------
233      FEEDWATER HEATER
234    *)
235    
236    (*
237        open heater does not have inlet.mdot==outlet.mdot, so not a refinement
238        of 'steam_equipment'.
239    *)
240    MODEL heater_open;
241    
242        inlet IS_A steam_node;
243        inlet_heat IS_A steam_node;
244        outlet IS_A steam_node;
245        
246        inlet_heat.p, inlet.p, outlet.p ARE_THE_SAME;
247    
248        (* cons. mass *)
249        cons_mass: inlet.mdot + inlet_heat.mdot = outlet.mdot;
250    
251        (* cons. energy *)
252        cons_en: inlet.mdot * inlet.h + inlet_heat.mdot * inlet_heat.h = outlet.mdot * outlet.h;
253    
254    END heater_open;
255    
256    MODEL heater_open_test REFINES heater_open;
257        (* nothing here *)
258    METHODS
259    METHOD on_load;
260        FIX inlet.p, inlet.h;
261        inlet.p := 40 {bar};
262        inlet.h := 634 {kJ/kg};
263        FIX inlet_heat.h;
264        inlet_heat.h := 2960 {kJ/kg};
265        
266        FIX outlet.mdot;
267        outlet.mdot := 900 {t/d};
268        
269        FIX inlet.mdot;
270        inlet.mdot := 700 {t/d};
271    END on_load;
272    END heater_open_test;
273    
274    (*------------------------------------------------------------------------------
275      TEE PIECE
276    *)
277    
278    (*
279        it's not a car :-)
280    *)
281    MODEL tee;
282        inlet IS_A steam_node;
283        outlet IS_A steam_node;
284        outlet_branch IS_A steam_node;
285    
286        
287        inlet.p, outlet.p, outlet_branch.p ARE_THE_SAME;
288        inlet.h, outlet.h, outlet_branch.h ARE_THE_SAME;
289    
290        (* cons. mass *)
291        cons_mass: inlet.mdot = outlet.mdot + outlet_branch.mdot;
292    
293        phi IS_A fraction;
294        phi * inlet.mdot = outlet_branch.mdot;
295    
296    END tee;    
297    
298    (*------------------------------------------------------------------------------
299    OVERALL CYCLE    OVERALL CYCLE
300  *)  *)
301    
302    (*
303        simplest possible rankine cycle
304    *)
305  MODEL rankine;  MODEL rankine;
306    
307      BO IS_A boiler_simple;      BO IS_A boiler_simple;
# Line 245  MODEL rankine; Line 314  MODEL rankine;
314      CO.outlet, PU.inlet ARE_THE_SAME;      CO.outlet, PU.inlet ARE_THE_SAME;
315      PU.outlet, BO.inlet ARE_THE_SAME;      PU.outlet, BO.inlet ARE_THE_SAME;
316    
317        Qdot_loss ALIASES CO.Qdot;
318    
319        T_H ALIASES BO.outlet.T;
320        T_C ALIASES CO.outlet.T;
321    
322      eta IS_A fraction;      eta IS_A fraction;
323      eta = TU.Wdot / (BO.Qdot_fuel - PU.Wdot);      eta * (BO.Qdot_fuel - PU.Wdot) = TU.Wdot;
324    
325        eta_carnot IS_A fraction;
326        eta_carnot = 1 - T_C / T_H;
327    
328      mdot ALIASES TU.mdot;      mdot ALIASES TU.mdot;
329  METHODS  METHODS
330  METHOD on_load;  METHOD on_load;
331      FIX PU.inlet.p;      FIX PU.inlet.p;
332      PU.inlet.p := 5 {bar};      PU.inlet.p := 1 {bar};
333      FIX PU.inlet.h;      FIX PU.inlet.h;
334      PU.inlet.h := 500 {kJ/kg};      PU.inlet.h := 104.9 {kJ/kg};
335    
336      FIX PU.outlet.p;      FIX PU.outlet.p;
337      PU.outlet.p := 100 {bar};      PU.outlet.p := 250 {bar};
338    
339      FIX BO.outlet.h;      FIX BO.outlet.h;
340      BO.outlet.h := 3000 {kJ/kg};      BO.outlet.h := 3772 {kJ/kg};
341      FIX TU.eta;      FIX TU.eta;
342      FIX PU.eta;      FIX PU.eta;
343      FIX BO.eta;      FIX BO.eta;
344    
345      TU.eta := 0.85;      TU.eta := 0.85;
346      PU.eta := 0.65;      PU.eta := 0.65;
347      BO.eta := 0.8;      BO.eta := 0.9;
348    
349      FIX mdot;      FIX mdot;
350      mdot := 900 {t/d};        mdot := 900 {t/d};  
351  END on_load;  END on_load;
352  END rankine;  END rankine;
353    
354    (*
355        Add a boiler feedwater heater and two-stage turbine
356    *)
357    MODEL rankine_regen;
358    
359        BO IS_A boiler_simple;
360        TU1 IS_A turbine_simple;
361        BL IS_A tee; (* bleed *)
362        TU2 IS_A turbine_simple;
363        CO IS_A condenser_simple;
364        HE IS_A heater_open;
365        PU1 IS_A pump_simple;
366        PU2 IS_A pump_simple;
367    
368        (* main loop *)
369        BO.outlet, TU1.inlet ARE_THE_SAME;
370        TU1.outlet, BL.inlet ARE_THE_SAME;
371        BL.outlet, TU2.inlet ARE_THE_SAME;
372        TU2.outlet, CO.inlet ARE_THE_SAME;
373        CO.outlet, PU1.inlet ARE_THE_SAME;
374        PU1.outlet, HE.inlet ARE_THE_SAME;
375        HE.outlet, PU2.inlet ARE_THE_SAME;
376        PU2.outlet, BO.inlet ARE_THE_SAME;
377    
378        (* bleed stream *)
379        BL.outlet_branch, HE.inlet_heat ARE_THE_SAME;
380        phi ALIASES BL.phi;
381        p_bleed ALIASES TU1.outlet.p;
382    
383        mdot ALIASES BO.mdot;
384    
385        T_H ALIASES BO.outlet.T;
386        T_C ALIASES CO.outlet.T;
387    
388        eta IS_A fraction;
389        eta * (BO.Qdot_fuel - PU1.Wdot - PU2.Wdot) = TU1.Wdot + TU2.Wdot;
390    
391        eta_carnot IS_A fraction;
392        eta_carnot = 1 - T_C / T_H;
393    
394    METHODS
395    METHOD on_load;
396    
397        FIX BO.eta;
398        BO.eta := 1.0;
399    
400        FIX TU1.eta;
401        TU1.eta := 1.0;
402        FIX TU2.eta;
403        TU2.eta := 1.0;
404    
405        FIX PU1.eta; PU1.eta := 1.0;
406        FIX PU2.eta; PU2.eta := 1.0;
407    
408        FIX mdot;
409        mdot := 900 {t/d};
410            
411        FIX PU2.outlet.p;
412        PU2.outlet.p := 250 {bar};
413    
414        FIX BO.inlet.T;
415        BO.inlet.T := 200 {K} + 273.15 {K};
416            
417        FIX TU1.outlet.p;
418        TU1.outlet.p := 80 {bar};
419    
420        FIX TU2.outlet.p;
421        TU2.outlet.p := 1 {bar};
422    
423        FIX BO.outlet.h;
424        BO.outlet.h := 3772 {kJ/kg};
425    
426        FIX CO.outlet.h;
427        CO.outlet.h := 104.9 {kJ/kg};
428    
429        HE.cons_mass.included := FALSE;
430        
431    END on_load;
432    END rankine_regen;  
433    
434    
435    

Legend:
Removed from v.1663  
changed lines
  Added in v.1664

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22