process_water_streams = (stream.biodiesel_wash_water, stream.cooling_tower_makeup_water, stream.boiler_makeup_water) makeup_water = Stream('makeup_water', price=0.000254) process_water = Stream('process_water') pws_indices = [i.index('Water') for i in process_water_streams] pws_flow_index_pairs = tuple(zip([i._mol for i in process_water_streams], pws_indices)) def update_water(): process_water._mol[0] = sum([i[j] for i,j in pws_flow_index_pairs]) CWP = ChilledWaterPackage('CWP') PWC = ProcessWaterCenter('PWC', ins=('recycle_water', makeup_water), outs=process_water) S601 = Splitter('S601', ins=process_water, outs=process_water_streams, split=(1,), order=('Water',)) UO = find.unit area_500 = System('area_500', (BT,)) area_600 = System('area_600', (CT, CWP, PWC, S601)) # %% Set up system connect_sugar = Junction(sugar, sugar_solution, ('Water', 'Glucose', 'Sucrose')) connect_lipid = Junction(lipid, oil, ('Lipid',)) lipidcane_sys = System('lipidcane_sys', network=pretreatment_sys.network + (connect_sugar, connect_lipid) + area_300.network + area_400.network, facilities=(CWP, BT, CT, update_water, PWC)) units = lipidcane_sys._costunits
# Gasoline denature = Stream('denaturant', Octane=230.69, units='kg/hr', price=price['Gasoline']) # Yeast S144 = Stream('yeast', Water=24700, DryYeast=10300, units='kg/hr') # Ethanol product ethanol = Stream('ethanol', price=price['Ethanol']) # %% Units # Split sugar solution P16 = Splitter('P16', split=0.265) # Concentrate sugars P15 = MultiEffectEvaporator( 'P15', component='Water', # component being evaporated P=(101325, 73581, 50892, 32777, 20000), V=0.95248) # fraction evaporated P15.components['condenser'].U = 1.85 # Note: value of steam ~ 6.86 for the following # (101325, 73580.467, 50891.17, 32777.406, 19999.925, 11331.5), # Mix sugar solutions P17 = Mixer('P17') # Cool for fermentation
yeast = Stream('yeast', Water=24700, DryYeast=10300, units='kg/hr') # Sugar Stream (from Pretreatment section) sugar_solution = Stream('sugar_solution', Glucose=1888.23, H3PO4=0, Sucrose=21399.94, Water=264523.53, units='kg/hr', T=99+273.15) # Ethanol product ethanol = Stream('ethanol', price=price['Ethanol']) # %% Units # Split sugar solution S301 = Splitter('S301', split=0.265) # Concentrate sugars F301 = MultiEffectEvaporator('F301', component='Water', # component being evaporated P=(101325, 73581, 50892, 32777, 20000), V=0.95248) # fraction evaporated F301.components['condenser'].U = 1.85 # Note: value of steam ~ 6.86 for the following # (101325, 73580.467, 50891.17, 32777.406, 19999.925, 11331.5), # Mix sugar solutions M301 = Mixer('M301') # Cool for fermentation H301 = HXutility('H301', T=295.15)
# Remove solids as filter cake C202 = RVF('C202', outs=('filte_cake', ''), moisture_content=0.80, split=(0.85, 0.85, 0.85, 0.01, 0.85, 0.85, 0.01), order=('Ash', 'CaO', 'Cellulose', 'Glucose', 'Hemicellulose', 'Lignin', 'Sucrose')) P203 = Pump('P203') # Separate oil and sugar T207 = MixTank('T207', outs=('', '')) split = np.zeros(len(pretreatment_species), float) index = pretreatment_species.indices(('Lipid', 'Water')) split[index] = (1, 0.0001) T207._split = split T207._run = lambda: Splitter._run(T207) del split, index # Cool the oil H203 = HXutility('H203', T=343.15) # Screen out small fibers from sugar stream S202 = VibratingScreen('S202', outs=('', 'fiber_fines'), split=1 - np.array( (0, 0, 0, 1, 0.002, 0, 0, 0, 0, 0.002, 0.002)), order=psp2) sugar = S202 - 0 S202.mesh_opening = 2 # Add distilled water to wash lipid