if __name__ == "__main__":
    # print docstring
    print(__doc__)
    # make network object
    net1 = Network()
    # feed to reactor
    i1outlets = {'i1': StreamGen(H2=60, CO2=20)}
    net1.add_component('I1', Feed(i1outlets))
    # mixer for recycle and feed
    mix1inlets = {
        'i1': StreamGen(H2=60, CO2=20),
        's11': StreamGen(H2=60, CO2=20, CO=5)
    }
    mix1outlets = {'m11': StreamGen()}
    net1.add_component('M1', Mixer(mix1inlets, mix1outlets))
    # methanol reactor
    TEMP_MEOH = 673
    PRESS_MEOH = 37500
    r1inlets = {'m11': StreamGen(H2=100, CO2=35, MEOH=5, H2O=5, CO=5)}
    r1outlets = {'r11': StreamGen()}
    net1.add_component(
        'R1',
        Reactor(TEMP_MEOH, PRESS_MEOH, r1inlets, r1outlets, MethanolReactor))
    # splitter for recycle
    s1inlets = {'f11': StreamGen(CO2=20, H2=60, CO=5)}
    s1outlets = {'s11': StreamGen(), 's12': StreamGen()}
    net1.add_component('S1', Splitter(s1inlets, s1outlets, 0.98, 's11'))
    # purge outlet
    purge1inlets = {'s12': StreamGen(CO2=1, CO=1, H2=1)}
    net1.add_component('Purge1', Removal(purge1inlets))