From c0e052d626cd1023e3961f095f0e123b3c03f6fe Mon Sep 17 00:00:00 2001 From: Sashi20 Date: Tue, 21 Apr 2020 12:43:41 +0550 Subject: Added(A)/Deleted(D) following Flowsheet file A A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/Abstract_A_Simple_Dehumidification_System.pdf A A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/README.txt A A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/dehumidification.mo A Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/Abstract.pdf A Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/IsobutaneNew.mo A Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/README.txt A Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/Abstract.pdf A Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/EthanolDehydrationNew.mo A Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/README.txt A Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Abstract_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.pdf A Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Flowsheet_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.mo A Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/README.txt A Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/AbstractFlowsheet.pdf A Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/README.txt A Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/flowsheet3.mo D Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/Abstract.pdf D Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/SeparationOfBenzene.mo A Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/Abstract.pdf A Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/README.txt A Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/thermodynamic.mo A Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Abstract_ExtractiveDistillationofTHFandEthanol.pdf A Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_extractive_distillation_of_ethylene_glycol.mo A Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/README.txt A Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/Abstract.pdf A Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/README.txt A Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/openloopturbine.mo A Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/Abstract.pdf A Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/PSD.mo A Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/README.txt A "Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/Abstract.pdf" A "Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/PSD_EA_EO.mo" A "Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/README.txt" A Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/Abstract.pdf A Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/PSDwithRecycle.mo A Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/README.txt D Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Abstract.pdf D Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Flowsheet_PSDEthanol.mo A Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/Abstract_PSD_Toluene_Ethanol.pdf A Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/PSD.mo A Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/README.txt A Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PSD_Abstract.pdf A Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PresSwingDist.mo A Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/README.txt A Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Abstract_PSD.pdf A Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_PSD.mo A Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/README.txt A Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.mo A Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.pdf A Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/AceticAcidAbstract.pdf A Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/README.txt A Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/aceticacid.mo A Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid.mo A Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid_Abstract.pdf A Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/README.txt A Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/Ammonia.mo A Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/AmmoniaAbs.pdf A Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/README.txt A Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Abstract.pdf A Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Cumenewithrecycle.mo A Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/README.txt A Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/Diethyl.mo A Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/README.txt A Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/abstract_diethylether.pdf A Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Abstract.pdf A Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Flowsheet.mo A Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/README.txt A Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/README.txt A Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/abstract.pdf A Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/ethylchloride.mo A Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/Abstract.pdf A Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/README.txt A Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/ethyleneOxide.mo A Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_System.pdf A Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_system.mo A Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/README.txt A Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/Abstract.pdf A Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/README.txt A Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/methanolNew.mo A Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/Flowsheet_ProductionOfParaxylene.mo A Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/README.txt A Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/abstract.pdf A Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/README.txt A Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Abstract.pdf A Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Flowsheet.mo A Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/Abstract.pdf A Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/MethanolTolueneExtractiveNew.mo A Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/README.txt A Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD1.mo A Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD_abstract.pdf A Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/README.txt A Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/MethanolSynthesis.pdf A Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/Methanol_Production.mo --- .../Abstract_A_Simple_Dehumidification_System.pdf | Bin 0 -> 155998 bytes .../README.txt | 8 + .../dehumidification.mo | 85 +++++++++ .../Abstract.pdf | Bin 0 -> 153018 bytes .../IsobutaneNew.mo | 124 ++++++++++++ .../README.txt | 8 + .../Abstract.pdf | Bin 0 -> 118668 bytes .../EthanolDehydrationNew.mo | 126 +++++++++++++ .../README.txt | 8 + ...lationColumnSequenceOnSeparationOfCompounds.pdf | Bin 0 -> 195876 bytes ...llationColumnSequenceOnSeparationOfCompounds.mo | 81 ++++++++ .../README.txt | 8 + .../AbstractFlowsheet.pdf | Bin 0 -> 270903 bytes .../README.txt | 8 + .../flowsheet3.mo | 92 +++++++++ .../Abstract.pdf | Bin 128461 -> 0 bytes .../SeparationOfBenzene.mo | 93 --------- .../Abstract.pdf | Bin 0 -> 441700 bytes .../README.txt | 8 + .../thermodynamic.mo | 126 +++++++++++++ ...tract_ExtractiveDistillationofTHFandEthanol.pdf | Bin 0 -> 183782 bytes ...t_extractive_distillation_of_ethylene_glycol.mo | 109 +++++++++++ .../README.txt | 8 + .../Abstract.pdf | Bin 0 -> 432138 bytes .../README.txt | 8 + .../openloopturbine.mo | 99 ++++++++++ .../Abstract.pdf | Bin 0 -> 149272 bytes .../PSD.mo | 105 +++++++++++ .../README.txt | 8 + .../Abstract.pdf" | Bin 0 -> 187134 bytes .../PSD_EA_EO.mo" | 109 +++++++++++ .../README.txt" | 8 + .../Abstract.pdf | Bin 0 -> 151197 bytes .../PSDwithRecycle.mo | 137 ++++++++++++++ .../README.txt | 8 + .../Abstract.pdf | Bin 58015 -> 0 bytes .../Flowsheet_PSDEthanol.mo | 149 --------------- .../Abstract_PSD_Toluene_Ethanol.pdf | Bin 0 -> 164801 bytes .../PSD.mo | 107 +++++++++++ .../README.txt | 8 + .../PSD_Abstract.pdf | Bin 0 -> 413555 bytes .../PresSwingDist.mo | 208 +++++++++++++++++++++ .../README.txt | 8 + .../Abstract_PSD.pdf | Bin 0 -> 151417 bytes .../Flowsheet_PSD.mo | 106 +++++++++++ .../README.txt | 8 + .../PS_THF_WATER.mo | 133 +++++++++++++ .../PS_THF_WATER.pdf | Bin 0 -> 181791 bytes .../AceticAcidAbstract.pdf | Bin 0 -> 434077 bytes .../README.txt | 8 + .../aceticacid.mo | 90 +++++++++ .../Aceticacid.mo | 206 ++++++++++++++++++++ .../Aceticacid_Abstract.pdf | Bin 0 -> 535905 bytes .../README.txt | 8 + .../Ammonia.mo | 64 +++++++ .../AmmoniaAbs.pdf | Bin 0 -> 435349 bytes .../README.txt | 8 + .../Abstract.pdf | Bin 0 -> 119237 bytes .../Cumenewithrecycle.mo | 177 ++++++++++++++++++ .../README.txt | 8 + .../Diethyl.mo | 128 +++++++++++++ .../README.txt | 8 + .../abstract_diethylether.pdf | Bin 0 -> 375861 bytes .../Dimethylether_Production_Abstract.pdf | Bin 0 -> 511700 bytes .../Dimethylether_Production_Flowsheet.mo | 148 +++++++++++++++ .../README.txt | 8 + .../README.txt | 8 + .../abstract.pdf | Bin 0 -> 287392 bytes .../ethylchloride.mo | 130 +++++++++++++ .../Abstract.pdf | Bin 0 -> 430339 bytes .../README.txt | 8 + .../ethyleneOxide.mo | 108 +++++++++++ .../Methanation_System.pdf | Bin 0 -> 185961 bytes .../Methanation_system.mo | 128 +++++++++++++ .../README.txt | 8 + .../Abstract.pdf | Bin 0 -> 109844 bytes .../README.txt | 8 + .../methanolNew.mo | 99 ++++++++++ .../Flowsheet_ProductionOfParaxylene.mo | 190 +++++++++++++++++++ .../README.txt | 8 + .../abstract.pdf | Bin 0 -> 471806 bytes .../README.txt | 8 + .../VinylChloride_Production_Abstract.pdf | Bin 0 -> 283524 bytes .../VinylChloride_Production_Flowsheet.mo | 132 +++++++++++++ .../Abstract.pdf | Bin 0 -> 156758 bytes .../MethanolTolueneExtractiveNew.mo | 130 +++++++++++++ .../README.txt | 8 + .../PSD1.mo | 92 +++++++++ .../PSD_abstract.pdf | Bin 0 -> 252583 bytes .../README.txt | 8 + .../MethanolSynthesis.pdf | Bin 0 -> 198980 bytes .../Methanol_Production.mo | 60 ++++++ 92 files changed, 3853 insertions(+), 242 deletions(-) create mode 100755 A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/Abstract_A_Simple_Dehumidification_System.pdf create mode 100755 A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/README.txt create mode 100755 A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/dehumidification.mo create mode 100755 Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/Abstract.pdf create mode 100755 Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/IsobutaneNew.mo create mode 100755 Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/README.txt create mode 100755 Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/Abstract.pdf create mode 100755 Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/EthanolDehydrationNew.mo create mode 100755 Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/README.txt create mode 100755 Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Abstract_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.pdf create mode 100755 Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Flowsheet_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.mo create mode 100755 Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/README.txt create mode 100755 Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/AbstractFlowsheet.pdf create mode 100755 Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/flowsheet3.mo delete mode 100755 Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/Abstract.pdf delete mode 100755 Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/SeparationOfBenzene.mo create mode 100755 Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/Abstract.pdf create mode 100755 Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/thermodynamic.mo create mode 100755 Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Abstract_ExtractiveDistillationofTHFandEthanol.pdf create mode 100755 Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_extractive_distillation_of_ethylene_glycol.mo create mode 100755 Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/README.txt create mode 100755 Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/Abstract.pdf create mode 100755 Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/openloopturbine.mo create mode 100755 Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/Abstract.pdf create mode 100755 Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/PSD.mo create mode 100755 Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/README.txt create mode 100755 "Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/Abstract.pdf" create mode 100755 "Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/PSD_EA_EO.mo" create mode 100755 "Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/README.txt" create mode 100755 Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/Abstract.pdf create mode 100755 Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/PSDwithRecycle.mo create mode 100755 Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/README.txt delete mode 100755 Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Abstract.pdf delete mode 100755 Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Flowsheet_PSDEthanol.mo create mode 100755 Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/Abstract_PSD_Toluene_Ethanol.pdf create mode 100755 Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/PSD.mo create mode 100755 Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/README.txt create mode 100755 Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PSD_Abstract.pdf create mode 100755 Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PresSwingDist.mo create mode 100755 Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/README.txt create mode 100755 Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Abstract_PSD.pdf create mode 100755 Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_PSD.mo create mode 100755 Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/README.txt create mode 100755 Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.mo create mode 100755 Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.pdf create mode 100755 Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/AceticAcidAbstract.pdf create mode 100755 Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/aceticacid.mo create mode 100755 Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid.mo create mode 100755 Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid_Abstract.pdf create mode 100755 Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/README.txt create mode 100755 Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/Ammonia.mo create mode 100755 Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/AmmoniaAbs.pdf create mode 100755 Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Abstract.pdf create mode 100755 Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Cumenewithrecycle.mo create mode 100755 Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/README.txt create mode 100755 Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/Diethyl.mo create mode 100755 Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/abstract_diethylether.pdf create mode 100755 Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Abstract.pdf create mode 100755 Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Flowsheet.mo create mode 100755 Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/README.txt create mode 100755 Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/abstract.pdf create mode 100755 Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/ethylchloride.mo create mode 100755 Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/Abstract.pdf create mode 100755 Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/ethyleneOxide.mo create mode 100755 Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_System.pdf create mode 100755 Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_system.mo create mode 100755 Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/README.txt create mode 100755 Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/Abstract.pdf create mode 100755 Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/README.txt create mode 100755 Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/methanolNew.mo create mode 100755 Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/Flowsheet_ProductionOfParaxylene.mo create mode 100755 Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/README.txt create mode 100755 Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/abstract.pdf create mode 100755 Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/README.txt create mode 100755 Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Abstract.pdf create mode 100755 Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Flowsheet.mo create mode 100755 Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/Abstract.pdf create mode 100755 Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/MethanolTolueneExtractiveNew.mo create mode 100755 Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/README.txt create mode 100755 Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD1.mo create mode 100755 Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD_abstract.pdf create mode 100755 Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/README.txt create mode 100755 Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/MethanolSynthesis.pdf create mode 100755 Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/Methanol_Production.mo diff --git a/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/Abstract_A_Simple_Dehumidification_System.pdf b/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/Abstract_A_Simple_Dehumidification_System.pdf new file mode 100755 index 0000000..6d5f7f8 Binary files /dev/null and b/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/Abstract_A_Simple_Dehumidification_System.pdf differ diff --git a/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/README.txt b/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/README.txt new file mode 100755 index 0000000..b602835 --- /dev/null +++ b/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: A Simple De-Humidification System +Proposar Name: Mr Kaushik Datta +University: Indian Institute of Technology Bombay + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/dehumidification.mo b/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/dehumidification.mo new file mode 100755 index 0000000..7c1339e --- /dev/null +++ b/A_Simple_De-Humidification_System_By_Mr_Kaushik_Datta/dehumidification.mo @@ -0,0 +1,85 @@ +package dehumidification + model flowsheet + import data = Simulator.Files.ChemsepDatabase; + //instantiation of chemsep database + parameter data.Air air; + //instantiation of Air + parameter data.Water wat; + //instantiation of Water + parameter Integer Nc = 2; + parameter data.GeneralProperties C[Nc] = {air, wat}; + Simulator.UnitOperations.Cooler cooler1(C = C, Eff = 0.75, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {8, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Valve valve1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {178, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream es1 annotation( + Placement(visible = true, transformation(origin = {-68, -42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream es2 annotation( + Placement(visible = true, transformation(origin = {-10, -48}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.compres compres1(Nc = Nc, C = C, Eff = 0.75) annotation( + Placement(visible = true, transformation(origin = {-56, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.ms ms1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-90, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.ms ms2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-22, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.ms ms3(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {44, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.ms ms4(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {130, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.ms ms5(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {130, 2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.ms ms6(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {220, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehumidification.fls fls1(Nc = Nc, C = C,BTdef = true, Tdef=285) annotation( + Placement(visible = true, transformation(origin = {84, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(fls1.Out2, ms5.In) annotation( + Line(points = {{94, 2}, {120, 2}, {120, 2}, {120, 2}}, color = {0, 70, 70})); + connect(fls1.Out1, ms4.In) annotation( + Line(points = {{94, 18}, {120, 18}, {120, 30}, {120, 30}}, color = {0, 70, 70})); + connect(ms3.Out, fls1.In) annotation( + Line(points = {{54, 10}, {74, 10}, {74, 10}, {74, 10}}, color = {0, 70, 70})); + connect(valve1.Out, ms6.In) annotation( + Line(points = {{188, 30}, {212, 30}, {212, 30}, {210, 30}, {210, 30}}, color = {0, 70, 70})); + connect(ms4.Out, valve1.In) annotation( + Line(points = {{140, 30}, {168, 30}, {168, 30}, {168, 30}}, color = {0, 70, 70})); + connect(cooler1.Out, ms3.In) annotation( + Line(points = {{18, 10}, {34, 10}, {34, 10}, {34, 10}}, color = {0, 70, 70})); + connect(ms2.Out, cooler1.In) annotation( + Line(points = {{-12, 10}, {-2, 10}, {-2, 10}, {-2, 10}, {-2, 10}, {-2, 10}}, color = {0, 70, 70})); + connect(ms1.Out, compres1.In) annotation( + Line(points = {{-80, 10}, {-66, 10}, {-66, 10}, {-66, 10}}, color = {0, 70, 70})); + connect(cooler1.En, es2.Out) annotation( + Line(points = {{18, 0}, {18, 0}, {18, -48}, {-2, -48}, {-2, -48}, {0, -48}, {0, -48}}, color = {255, 0, 0})); + connect(compres1.Out, ms2.Out) annotation( + Line(points = {{-46, 10}, {-34, 10}, {-34, 10}, {-14, 10}, {-14, 10}}, color = {0, 70, 70})); + connect(compres1.En, es1.In) annotation( + Line(points = {{-56, 4}, {-80, 4}, {-80, -42}, {-78, -42}}, color = {255, 0, 0})); + ms1.x_pc[1, :] = {0.984, 0.016}; + ms1.P = 100000; + ms1.T = 293; + ms1.F_p[1] = 34.73; + cooler1.Tout = 293; + // compres1.Tout = 1080.812238; + compres1.Pdel = 174961.4233; + valve1.Pout = 100000; + // compSep.SepVal_c = {34.47, 4.682}; + end flowsheet; + + model compres + extends Simulator.UnitOperations.AdiabaticCompressor; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end compres; + + model ms + extends Simulator.Streams.MaterialStream; + //material stream extended + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + //thermodynamic package Raoults law is extended + end ms; + + model fls + extends Simulator.UnitOperations.Flash; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end fls; +end dehumidification; diff --git a/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/Abstract.pdf b/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/Abstract.pdf new file mode 100755 index 0000000..20d6c9d Binary files /dev/null and b/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/Abstract.pdf differ diff --git a/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/IsobutaneNew.mo b/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/IsobutaneNew.mo new file mode 100755 index 0000000..81576cf --- /dev/null +++ b/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/IsobutaneNew.mo @@ -0,0 +1,124 @@ +package Newflow + model Matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model Flowsheet + parameter Integer Nc = 2; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Nbutane nbu; + parameter data.Isobutane ibu; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {nbu, ibu}; + Newflow.Matstream S01(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-140, 52}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Matstream S02(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-138, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Matstream S03(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-86, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mix1(Nc = Nc, C = C, NI = 2, outPress = "Inlet_Minimum") annotation( + Placement(visible = true, transformation(origin = {-106, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Matstream S04(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-28, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream1 annotation( + Placement(visible = true, transformation(origin = {-84, -32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater heater1(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-48, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.react react1(Nc = Nc, C = C, Nr = 1, BC_r = {1}, Coef_cr = {{-1}, {1}}, X_r = {0.35}, CalcMode = "Isothermal", Tdef = 300) annotation( + Placement(visible = true, transformation(origin = {0, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Matstream S05(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {30, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler1(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {56, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream2 annotation( + Placement(visible = true, transformation(origin = {80, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Matstream S06(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {92, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Discolumn dis1(Nc = Nc, C = C, Nt = 20, Ni = 1, InT_s = {10}) annotation( + Placement(visible = true, transformation(origin = {136, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream3 annotation( + Placement(visible = true, transformation(origin = {188, 104}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream4 annotation( + Placement(visible = true, transformation(origin = {136, -52}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Matstream S07(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {202, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Newflow.Matstream S08(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {202, 54}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(S06.Out, dis1.In_s[1]) annotation( + Line(points = {{102, 24}, {110, 24}, {110, 26}, {112, 26}}, color = {0, 70, 70})); + connect(dis1.Rduty, energyStream4.Out) annotation( + Line(points = {{162, -34}, {208, -34}, {208, -52}, {146, -52}}, color = {255, 0, 0})); + connect(dis1.Cduty, energyStream3.In) annotation( + Line(points = {{162, 86}, {178, 86}, {178, 104}, {178, 104}}, color = {255, 0, 0})); + connect(dis1.Dist, S08.In) annotation( + Line(points = {{162, 56}, {192, 56}, {192, 54}, {192, 54}, {192, 54}}, color = {0, 70, 70})); + connect(dis1.Bot, S07.In) annotation( + Line(points = {{162, -4}, {192, -4}, {192, -6}, {192, -6}}, color = {0, 70, 70})); + connect(S04.Out, react1.In) annotation( + Line(points = {{-18, 24}, {-10, 24}}, color = {0, 70, 70})); + connect(react1.Out, S05.In) annotation( + Line(points = {{10, 24}, {20, 24}}, color = {0, 70, 70})); + connect(cooler1.Out, S06.In) annotation( + Line(points = {{66, 24}, {82, 24}, {82, 24}, {82, 24}}, color = {0, 70, 70})); + connect(cooler1.En, energyStream2.In) annotation( + Line(points = {{66, 14}, {66, 14}, {66, -14}, {70, -14}, {70, -14}, {70, -14}, {70, -14}, {70, -14}, {70, -14}}, color = {255, 0, 0})); + connect(S05.Out, cooler1.In) annotation( + Line(points = {{40, 24}, {43, 24}, {43, 24}, {46, 24}, {46, 24}, {46, 24}, {46, 24}, {46, 24}}, color = {0, 70, 70})); + connect(heater1.Out, S04.In) annotation( + Line(points = {{-38, 23.8}, {-38, 24}}, color = {0, 70, 70})); + connect(energyStream1.Out, heater1.En) annotation( + Line(points = {{-74, -32}, {-74, -21}, {-74, -21}, {-74, -10}, {-58, -10}, {-58, 14}}, color = {255, 0, 0})); + connect(S03.Out, heater1.In) annotation( + Line(points = {{-76, 26}, {-67, 26}, {-67, 26}, {-58, 26}, {-58, 24}, {-58, 24}, {-58, 24}, {-58, 24}}, color = {0, 70, 70})); + connect(mix1.Out, S03.In) annotation( + Line(points = {{-96, 26}, {-96, 26}}, color = {0, 70, 70})); + connect(S01.Out, mix1.In[1]) annotation( + Line(points = {{-130, 52}, {-116, 52}, {-116, 26}}, color = {0, 70, 70})); + connect(S02.Out, mix1.In[2]) annotation( + Line(points = {{-128, -4}, {-128, 26}, {-116, 26}}, color = {0, 70, 70})); + S01.F_p[1] = 27.7778; + S01.T = 298.15; + S01.x_pc[1, :] = {1, 0}; + S01.P = 101325; + S02.F_p[1] = 49.7121; + S02.T = 270.549; + S02.x_pc[1, :] = {0.85, 0.15}; + S02.P = 101325; + heater1.Tout = 623.15; + cooler1.Tout = 283.15; + dis1.condenser.P = 101325; + dis1.reboiler.P = 101325; + S08.x_pc[1, 2] = 0.885; + S07.F_p[1] = 49.7121; + annotation( + Diagram(coordinateSystem(extent = {{-200, -100}, {250, 120}})), + Icon(coordinateSystem(extent = {{-200, -100}, {250, 120}})));end Flowsheet; + + model react + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end react; +end Newflow; diff --git a/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/README.txt b/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/README.txt new file mode 100755 index 0000000..d5ae382 --- /dev/null +++ b/Conversion_Of_N-Butane_To_Isobutane_By_Mr_Neel_Pulin_Modi/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Conversion of N-butane to Isobutane +Proposar Name: Mr Neel Pulin Modi +University: Indian Institute of Technology Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/Abstract.pdf b/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/Abstract.pdf new file mode 100755 index 0000000..c1fae88 Binary files /dev/null and b/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/Abstract.pdf differ diff --git a/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/EthanolDehydrationNew.mo b/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/EthanolDehydrationNew.mo new file mode 100755 index 0000000..827aaa1 --- /dev/null +++ b/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/EthanolDehydrationNew.mo @@ -0,0 +1,126 @@ +package dehydrationtrials + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + + // please simulate this flowsheet with guess value of flowrate equal to 10 + // defination of the unit operations and streams used + // defining the number of components in the flowsheet + parameter Integer Nc = 3; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Ethanol eoh; + parameter data.Water wat; + parameter data.Glycerol gly; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {eoh, wat, gly}; + dehydrationtrials.matstream S01(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-172, 82}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.matstream S02(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-178, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.matstream S03(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-82, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.matstream S04(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-90, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.matstream S05(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {24, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.matstream S06(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {22, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E01 annotation( + Placement(visible = true, transformation(origin = {46, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E02 annotation( + Placement(visible = true, transformation(origin = {-26, -66}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.Discolumn dis1(Nc = Nc, C = C, Nt = 9, Ni = 2, InT_s = {2, 4}) annotation( + Placement(visible = true, transformation(origin = {-32, 18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mixer1(Nc = Nc, NI = 2, C = C, outPress = "Inlet_Maximum") annotation( + Placement(visible = true, transformation(origin = {-128, 54}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.matstream S07(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {142, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.matstream S08(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {144, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E04 annotation( + Placement(visible = true, transformation(origin = {120, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E03 annotation( + Placement(visible = true, transformation(origin = {146, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + dehydrationtrials.Discolumn dis2(Nc = Nc, C = C, Nt = 8, Ni = 1, InT_s = {6}) annotation( + Placement(visible = true, transformation(origin = {90, 18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(dis2.Cduty, E03.In) annotation( + Line(points = {{116, 78}, {136, 78}, {136, 66}, {136, 66}}, color = {255, 0, 0})); + connect(dis2.Rduty, E04.Out) annotation( + Line(points = {{116, -42}, {130, -42}, {130, -64}, {130, -64}, {130, -64}}, color = {255, 0, 0})); + connect(dis2.Bot, S08.In) annotation( + Line(points = {{116, -12}, {134, -12}, {134, -12}, {134, -12}}, color = {0, 70, 70})); + connect(dis2.Dist, S07.In) annotation( + Line(points = {{116, 48}, {132, 48}, {132, 40}, {132, 40}}, color = {0, 70, 70})); + connect(S06.Out, dis2.In_s[1]) annotation( + Line(points = {{32, -12}, {52, -12}, {52, 18}, {66, 18}, {66, 18}}, color = {0, 70, 70})); + connect(dis1.Bot, S06.In) annotation( + Line(points = {{-6, -12}, {12, -12}}, color = {0, 70, 70})); + connect(S01.Out, mixer1.In[1]) annotation( + Line(points = {{-162, 82}, {-158, 82}, {-158, 54}, {-138, 54}}, color = {0, 70, 70})); + connect(S02.Out, mixer1.In[2]) annotation( + Line(points = {{-168, 28}, {-162, 28}, {-162, 54}, {-138, 54}}, color = {0, 70, 70})); + connect(mixer1.Out, S03.In) annotation( + Line(points = {{-118, 54}, {-99, 54}, {-99, 46}, {-92, 46}}, color = {0, 70, 70})); + connect(dis1.Cduty, E01.In) annotation( + Line(points = {{-6, 78}, {36, 78}, {36, 66}, {36, 66}}, color = {255, 0, 0})); + connect(E02.Out, dis1.Rduty) annotation( + Line(points = {{-16, -66}, {-8, -66}, {-8, -42}, {-6, -42}}, color = {255, 0, 0})); + connect(dis1.Dist, S05.In) annotation( + Line(points = {{-6, 48}, {14, 48}, {14, 34}, {14, 34}}, color = {0, 70, 70})); + connect(S04.Out, dis1.In_s[2]) annotation( + Line(points = {{-80, -30}, {-76, -30}, {-76, 18}, {-56, 18}, {-56, 18}}, color = {0, 70, 70})); + connect(S03.Out, dis1.In_s[1]) annotation( + Line(points = {{-72, 46}, {-66, 46}, {-66, 18}, {-56, 18}, {-56, 18}}, color = {0, 70, 70})); + // required specifications + S01.x_pc[1, :] = {0, 0.00034, 0.99966}; + S01.T = 353.15; + S01.F_p[1] = 12.4917; + S01.P = 2026.5; + S02.x_pc[1, :] = {0, 0, 1}; + S02.T = 353.15; + S02.F_p[1] = 0.0125; + S02.P = 101325; + S04.x_pc[1, :] = {0.89, 0.11, 0}; + S04.T = 351.537; + S04.F_p[1] = 27.7778; + S04.P = 101325; + dis1.condenser.P = 101325; + dis1.reboiler.P = 101325; + S05.F_p[1] = 26.5995; + dis1.RR = 5; + dis2.condenser.P = 20265; + dis2.reboiler.P = 20265; + S08.F_p[1] = 12.4692; + dis2.RR = 1.05; + end flowsheet; + + + + +end dehydrationtrials; diff --git a/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/README.txt b/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/README.txt new file mode 100755 index 0000000..6f7fbbb --- /dev/null +++ b/Dehydration_Of_Ethanol_Using_Glycerol_As_Entrainer_By_Mr_Neel_Pulin_Modi/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Dehydration of Ethanol using Glycerol as Entrainer +Proposar Name: Mr Neel Pulin Modi +University: Indian Institute of Technology, Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Abstract_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.pdf b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Abstract_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.pdf new file mode 100755 index 0000000..e539d0f Binary files /dev/null and b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Abstract_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.pdf differ diff --git a/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Flowsheet_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.mo b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Flowsheet_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.mo new file mode 100755 index 0000000..49e3e15 --- /dev/null +++ b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/Flowsheet_EffectOfDistillationColumnSequenceOnSeparationOfCompounds.mo @@ -0,0 +1,81 @@ +package new + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end matstream; + + model flowsheet + // defining the number of components in the flowsheet + parameter Integer Nc = 3; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Methanol mo; + parameter data.Ethanol eo; + parameter data.Onepropanol po; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {mo, eo, po}; + new.Discolumn dis1(Nc = Nc, C = C, Nt = 13, Ni = 1, InT_s = {7}) annotation( + Placement(visible = true, transformation(origin = {-122, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + new.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-186, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + new.Discolumn dis2(Nc = Nc, C = C, Nt = 27, Ni = 1, InT_s = {13}) annotation( + Placement(visible = true, transformation(origin = {54, 6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + new.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {116, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + new.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {116, -24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + new.matstream b1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-68, -20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + new.matstream d1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-72, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(feed.Out, dis1.In_s[1]) annotation( + Line(points = {{-176, 10}, {-146, 10}}, color = {0, 70, 70})); + connect(dis2.Bot, b2.In) annotation( + Line(points = {{80, -24}, {106, -24}}, color = {0, 70, 70})); + connect(dis2.Dist, d2.In) annotation( + Line(points = {{80, 36}, {106, 36}}, color = {0, 70, 70})); + connect(dis1.Bot, b1.In) annotation( + Line(points = {{-96, -20}, {-78, -20}, {-78, -20}, {-78, -20}}, color = {0, 70, 70})); + connect(dis1.Dist, d1.In) annotation( + Line(points = {{-96, 40}, {-84, 40}, {-84, 40}, {-82, 40}}, color = {0, 70, 70})); + connect(d1.Out, dis2.In_s[1]) annotation( + Line(points = {{-62, 40}, {-12, 40}, {-12, 6}, {30, 6}, {30, 6}}, color = {0, 70, 70})); + feed.P = 101325; + feed.T = 273.15; + feed.F_p[1] = 32559.856; + feed.x_pc[1, :] = {0.3, 0.4, 0.3}; + dis1.condenser.P = 101325; + dis1.reboiler.P = 101325; + dis1.RR = 5; + //b1.x_pc[1, 3] = 0.97291062; + b1.F_p[1] = 9755; + dis2.condenser.P = 101325; + dis2.reboiler.P = 101325; + dis2.RR = 5; + b2.F_p[1] = 13000; + //d2.x_pc[1, 1] = 0.982111; + //b2.x_pc[1, 2] = 0.017888; + end flowsheet; +end new; diff --git a/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/README.txt b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/README.txt new file mode 100755 index 0000000..980379f --- /dev/null +++ b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Akshay_Kumar_Mehta/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Effect of Column Sequence on the Separation of Compounds +Proposar Name: Mr Akshay Kumar Mehta +University: Dr. B.R. Ambedkar National Institute of Technology, Jalandhar + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/AbstractFlowsheet.pdf b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/AbstractFlowsheet.pdf new file mode 100755 index 0000000..e5c1ab1 Binary files /dev/null and b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/AbstractFlowsheet.pdf differ diff --git a/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/README.txt b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..3c772ba --- /dev/null +++ b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Effect of Column Sequence on the Separation of Compounds +Proposar Name: Mr Malapati Sree Harsha +University: Sri Venkateswara University College of Engineering, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/flowsheet3.mo b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/flowsheet3.mo new file mode 100755 index 0000000..a99b4d8 --- /dev/null +++ b/Effect_Of_Column_Sequence_On_The_Separation_Of_Compounds_By_Mr_Malapati_Sree_Harsha/flowsheet3.mo @@ -0,0 +1,92 @@ +package flowsheet3 + model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end ms; + + model Condenser + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condenser; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model DistColumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condenser condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumn; + + model flowsheet + import data = Simulator.Files.ChemsepDatabase; + parameter data.Ethanol eth; + parameter data.Methanol meth; + parameter data.Onepropanol pr; + parameter Integer Nc = 3; + parameter data.GeneralProperties C[Nc] = {eth, meth, pr}; + flowsheet3.ms Feed(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-164, 54}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet3.ms MethOUT(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-8, 74}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet3.ms DC1_Bottoms(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {10, 14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-28, 104}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {0, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet3.DistColumn DC1(C = C, Ctype = "Total", InT_s = {7}, NQ = 0, Nc = Nc, Ni = 1, Nout = 0, Nt = 15) annotation( + Placement(visible = true, transformation(origin = {-92, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet3.DistColumn DC2(C = C, Ctype = "Total", InT_s = {9}, NQ = 0, Nc = Nc, Ni = 1, Nout = 0, Nt = 16) annotation( + Placement(visible = true, transformation(origin = {86, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet3.ms EthOut(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {134, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet3.ms PropOut(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {142, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {136, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {142, -52}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + Feed.P = 101325; + Feed.T = 273.15; + Feed.F_p[1] = 32559.856; + Feed.x_pc[1, :] = {0.4, 0.3, 0.3}; + DC1.condenser.P = 101325; + DC1.reboiler.P = 101325; + DC1.RR = 3.5; + DC1_Bottoms.F_p[1] = 24000; + DC2.condenser.P = 101325; + DC2.reboiler.P = 101325; + DC2.RR = 3.5; + PropOut.F_p[1] = 10000; + connect(Feed.Out, DC1.In_s[1]) annotation( + Line(points = {{-154, 54}, {-118, 54}, {-118, 44}, {-116, 44}}, color = {0, 70, 70})); + connect(DC1.Dist, MethOUT.In) annotation( + Line(points = {{-66, 74}, {-18, 74}}, color = {0, 70, 70})); + connect(DC1.Bot, DC1_Bottoms.In) annotation( + Line(points = {{-66, 14}, {0, 14}}, color = {0, 70, 70})); + connect(DC1.Rduty, E2.In) annotation( + Line(points = {{-66, -16}, {-10, -16}}, color = {255, 0, 0})); + connect(DC1.Cduty, E1.In) annotation( + Line(points = {{-66, 104}, {-38, 104}}, color = {255, 0, 0})); + connect(DC1_Bottoms.Out, DC2.In_s[1]) annotation( + Line(points = {{20, 14}, {40.5, 14}, {40.5, 16}, {61, 16}}, color = {0, 70, 70})); + connect(DC2.Cduty, E3.In) annotation( + Line(points = {{112, 76}, {126, 76}, {126, 78}, {126, 78}}, color = {255, 0, 0})); + connect(DC2.Dist, EthOut.In) annotation( + Line(points = {{112, 46}, {124, 46}, {124, 46}, {124, 46}}, color = {0, 70, 70})); + connect(DC2.Bot, PropOut.In) annotation( + Line(points = {{112, -14}, {132, -14}, {132, -12}, {132, -12}}, color = {0, 70, 70})); + connect(DC2.Rduty, E4.In) annotation( + Line(points = {{112, -44}, {132, -44}, {132, -52}, {132, -52}}, color = {255, 0, 0})); + end flowsheet; +end flowsheet3; diff --git a/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/Abstract.pdf b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/Abstract.pdf deleted file mode 100755 index a0b9e42..0000000 Binary files a/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/Abstract.pdf and /dev/null differ diff --git a/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/SeparationOfBenzene.mo b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/SeparationOfBenzene.mo deleted file mode 100755 index 97350e3..0000000 --- a/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatic_Compounds_By_Mr_Amarnath/SeparationOfBenzene.mo +++ /dev/null @@ -1,93 +0,0 @@ -package Air_benzene_separation - model ms - extends Simulator.Streams.Material_Stream; - extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; - end ms; - - model compressor - extends Simulator.Unit_Operations.Adiabatic_Compressor; - extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; - end compressor; - - model flash - extends Simulator.Unit_Operations.Flash; - extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; - end flash; - - model valve - extends Simulator.Unit_Operations.Valve; - //extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; - end valve; - - model cooler - extends Simulator.Unit_Operations.Cooler; - end cooler; - - model flowsheet_new - - import data = Simulator.Files.Chemsep_Database; - //instantiation of chemsep database - parameter data.Air air; - //instantiation of methanol - parameter data.Benzene ben; - //instantiation of ethanol - parameter Integer NOC = 2; - parameter data.General_Properties comp[NOC] = {air, ben}; - - Air_benzene_separation.ms ms1(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {-86, 6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Air_benzene_separation.ms ms2(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {-32, 2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Air_benzene_separation.compressor compressor1(NOC = NOC, comp = comp, eff = 1, outP(start = 14489475), outT(start = 645.8122)) annotation( - Placement(visible = true, transformation(origin = {-60, 2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Simulator.Streams.Energy_Stream energy_Stream1 annotation( - Placement(visible = true, transformation(origin = {-70, -28}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Air_benzene_separation.cooler cooler1(NOC = NOC, comp = comp, eff = 1, pressDrop = 0) annotation( - Placement(visible = true, transformation(origin = {-8, 2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Air_benzene_separation.ms ms3(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {46, 8}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Simulator.Streams.Energy_Stream energy_Stream2 annotation( - Placement(visible = true, transformation(origin = {-34, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Air_benzene_separation.ms ms4(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {120, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Air_benzene_separation.ms ms5(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {118, -22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Air_benzene_separation.flash flash1(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {88, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - valve valve1(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {156, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - ms ms6(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {192, 48}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - equation - connect(valve1.outlet, ms6.inlet) annotation( - Line(points = {{166, 46}, {182, 46}, {182, 48}, {182, 48}})); - connect(ms4.outlet, valve1.inlet) annotation( - Line(points = {{130, 36}, {146, 36}, {146, 46}, {146, 46}})); - connect(flash1.liquid, ms5.inlet) annotation( - Line(points = {{98, 8}, {108, 8}, {108, -22}, {108, -22}})); - connect(flash1.vapor, ms4.inlet) annotation( - Line(points = {{98, 24}, {110, 24}, {110, 36}, {110, 36}})); - connect(ms3.outlet, flash1.feed) annotation( - Line(points = {{56, 8}, {78, 8}, {78, 16}})); - connect(energy_Stream1.inlet, compressor1.energy) annotation( - Line(points = {{-80, -28}, {-80, -16}, {-60, -16}, {-60, -8}})); - connect(ms1.outlet, compressor1.inlet) annotation( - Line(points = {{-76, 6}, {-76, 1}, {-70, 1}, {-70, 2}})); - connect(ms2.outlet, cooler1.inlet) annotation( - Line(points = {{-22, 2}, {-22, 9}, {-18, 9}, {-18, 2}})); - connect(cooler1.outlet, ms3.inlet) annotation( - Line(points = {{2, 2}, {26, 2}, {26, 8}, {36, 8}})); - connect(cooler1.energy, energy_Stream2.inlet) annotation( - Line(points = {{-8, -8}, {-8, -18}, {-44, -18}, {-44, -38}})); - connect(compressor1.outlet, ms2.inlet) annotation( - Line(points = {{-50, 2}, {-50, 1}, {-42, 1}, {-42, 2}})); - ms1.compMolFrac[1, :] = {0.982, 0.018}; - ms1.P = 101325; - ms1.T = 299; - ms1.totMolFlo[1] = 33.5; - cooler1.outT = 299; - compressor1.outT = 1080.812238; -valve1.outP = 101325; - end flowsheet_new; - -end Air_benzene_separation; diff --git a/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/Abstract.pdf b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/Abstract.pdf new file mode 100755 index 0000000..31e23fd Binary files /dev/null and b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/Abstract.pdf differ diff --git a/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/README.txt b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..9935590 --- /dev/null +++ b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Effect of Thermodynamic Models on Separation of Aromatics +Proposar Name: Mr Malapati Sree Harsha +University: Sri Venkateswara University College of Engineering, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/thermodynamic.mo b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/thermodynamic.mo new file mode 100755 index 0000000..b7c53e0 --- /dev/null +++ b/Effect_Of_Thermodynamic_Models_On_Separation_Of_Aromatics_By_Mr_Malapati_Sree_Harsha/thermodynamic.mo @@ -0,0 +1,126 @@ +package thermodynamic + model msA + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end msA; + model msB + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.PengRobinson; + end msB; + + model CondenserA + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end CondenserA; + + model TrayA + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end TrayA; + + model ReboilerA + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end ReboilerA; + + model DistColumnA + extends Simulator.UnitOperations.DistillationColumn.DistCol; + CondenserA condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + ReboilerA reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + TrayA tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumnA; + + model CondenserB + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.PengRobinson; + end CondenserB; + + model TrayB + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.PengRobinson; + end TrayB; + + model ReboilerB + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.PengRobinson; + end ReboilerB; + + model DistColumnB + extends Simulator.UnitOperations.DistillationColumn.DistCol; + CondenserB condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + ReboilerB reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + TrayA tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumnB; + + model flowsheet + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Benzene benz; + parameter data.Chloroform clf; + parameter Integer Nc = 2; + parameter data.GeneralProperties C[Nc] = {benz, clf}; + //instance of composite material stream + thermodynamic.msA S1A(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-250, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + thermodynamic.DistColumnA DC1(C = C, Ctype = "Total", InT_s = {9}, NQ = 0, Nc = Nc, Ni = 1, Nout = 0, Nt = 17) annotation( + Placement(visible = true, transformation(origin = {-176, -4}, extent = {{-8, -8}, {8, 8}}, rotation = 0))); + thermodynamic.msA S2A(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-90, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + thermodynamic.msA S3A(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-88, -40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-90, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {-88, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + thermodynamic.msB S1B(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-14, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + thermodynamic.DistColumnB DC2(C = C, Ctype = "Total", InT_s = {11}, NQ = 0, Nc = Nc, Ni = 1, Nout = 0, Nt = 21) annotation( + Placement(visible = true, transformation(origin = {70, -6}, extent = {{-8, -8}, {8, 8}}, rotation = 0))); + thermodynamic.msB S2B(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {128, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + thermodynamic.msA S3B(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {128, -34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {124, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {132, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + S1A.P = 101325; + S1A.T = 298.15; + S1A.F_p[1] = 2.81306778; + S1A.x_pc[1, :] = {0.5, 0.5}; + DC1.condenser.P = 101325; + DC1.reboiler.P = 101325; + DC1.RR = 5.75; + S3A.F_p[1] = 1.4065; + S1B.P = 101325; + S1B.T = 298.15; + S1B.Fm_p[1] = 0.2777778; + S1B.x_pc[1, :] = {0.5, 0.5}; + DC2.condenser.P = 101325; + DC2.reboiler.P = 101325; + DC2.RR = 5; + S3B.F_p[1] = 1.4065; + + connect(S1A.Out, DC1.In_s[1]) annotation( + Line(points = {{-240, -6}, {-219, -6}, {-219, -4}, {-196, -4}}, color = {0, 70, 70})); + connect(DC1.Dist, S2A.In) annotation( + Line(points = {{-156, 20}, {-100, 20}}, color = {0, 70, 70})); + connect(DC1.Bot, S3A.In) annotation( + Line(points = {{-156, -28}, {-147, -28}, {-147, -40}, {-98, -40}}, color = {0, 70, 70})); + connect(DC1.Cduty, E1.In) annotation( + Line(points = {{-156, 44}, {-212, 44}, {-212, 40}, {-100, 40}}, color = {255, 0, 0})); + connect(DC1.Rduty, E2.In) annotation( + Line(points = {{-156, -52}, {-140, -52}, {-140, -60}, {-98, -60}}, color = {255, 0, 0})); + connect(DC2.Cduty, E3.In) annotation( + Line(points = {{90, 42}, {114, 42}}, color = {255, 0, 0})); + connect(DC2.Dist, S2B.In) annotation( + Line(points = {{90, 18}, {105, 18}, {105, 22}, {118, 22}}, color = {0, 70, 70})); + connect(DC2.Bot, S3B.In) annotation( + Line(points = {{90, -30}, {93, -30}, {93, -34}, {118, -34}}, color = {0, 70, 70})); + connect(DC2.Rduty, E4.In) annotation( + Line(points = {{90, -54}, {90, -65}, {122, -65}, {122, -60}}, color = {255, 0, 0})); + connect(S1B.Out, DC2.In_s[1]) annotation( + Line(points = {{-4, -2}, {-4, -1}, {50, -1}, {50, -6}}, color = {0, 70, 70})); + end flowsheet; +end thermodynamic; diff --git a/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Abstract_ExtractiveDistillationofTHFandEthanol.pdf b/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Abstract_ExtractiveDistillationofTHFandEthanol.pdf new file mode 100755 index 0000000..4ed480c Binary files /dev/null and b/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Abstract_ExtractiveDistillationofTHFandEthanol.pdf differ diff --git a/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_extractive_distillation_of_ethylene_glycol.mo b/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_extractive_distillation_of_ethylene_glycol.mo new file mode 100755 index 0000000..7f20c23 --- /dev/null +++ b/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_extractive_distillation_of_ethylene_glycol.mo @@ -0,0 +1,109 @@ +package ext + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end matstream; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler +extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condensor; + + model Distcolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Distcolumn; + + model Flowsheet + + // defining the number of components in the flowsheet + parameter Integer Nc = 3; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Ethyleneglycol Eth; + parameter data.Tetrahydrofuran Thf; + parameter data.Ethanol Ea; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {Eth, Thf, Ea}; + // defination of the unit operations and streams used + ext.Distcolumn dist1(Nc = Nc, C = C, Nt = 75, Ni = 2, InT_s = {53, 3}) annotation( + Placement(visible = true, transformation(origin = {-118, 14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.Distcolumn dist2(Nc = Nc, C = C, Nt = 10, Ni = 1, InT_s = {6}) annotation( + Placement(visible = true, transformation(origin = {2, 14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-188, 6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.matstream recycle(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-188, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.matstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-74, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.matstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-66, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {52, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {52, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {94, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ext.matstream b3(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {132, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(dist1.Dist, d1.In) annotation( + Line(points = {{-93, 44}, {-84, 44}}, color = {0, 70, 70})); + connect(dist1.Bot, b1.In) annotation( + Line(points = {{-93, -16}, {-76, -16}}, color = {0, 70, 70})); + connect(dist2.Dist, d2.In) annotation( + Line(points = {{27, 44}, {42, 44}}, color = {0, 70, 70})); + connect(dist2.Bot, b2.In) annotation( + Line(points = {{27, -16}, {42, -16}}, color = {0, 70, 70})); + connect(recycle.Out, dist1.In_s[2]) annotation( + Line(points = {{-178, 42}, {-142, 42}, {-142, 14}, {-142, 14}}, color = {0, 70, 70})); + connect(feed.Out, dist1.In_s[1]) annotation( + Line(points = {{-178, 6}, {-142, 6}, {-142, 14}, {-142, 14}}, color = {0, 70, 70})); + connect(b2.Out, cooler.In) annotation( + Line(points = {{62, -16}, {84, -16}, {84, -16}, {84, -16}}, color = {0, 70, 70})); + connect(cooler.Out, b3.In) annotation( + Line(points = {{104, -16}, {122, -16}, {122, -16}, {122, -16}}, color = {0, 70, 70})); + + feed.P = 101325; + feed.T = 320; + feed.F_p[1] = 27.7778; + feed.x_pc[1, :] = {0, 0.5, 0.5}; + + recycle.P = 101325; + recycle.T = 320; + recycle.F_p[1] = 43.9107; + recycle.x_pc[1, :] = {0.99895287, 4.7125942E-05, 0.001}; + + dist1.condenser.P = 101325; + dist1.reboiler.P = 101325; + + //d1.F_p[1] = 13.4636; + d1.x_pc[1, 2] = 0.99899511; + + b1.F_p[1] = 58.3333; + //b1.x_pc[1,1] =0.75383198; + + dist2.condenser.P = 101325; + dist2.reboiler.P = 101325; + + b2.x_pc[1, 1] =0.99895287; + //b2.F_p[1] = 43.9107; + + //d2.F_p[1] = 14.226; + d2.x_pc[1, 3] = 0.96207097; + cooler.Tout = 320; + connect(b1.Out, dist2.In_s[1]) annotation( + Line(points = {{-56, -16}, {-22, -16}, {-22, 14}, {-22, 14}}, color = {0, 70, 70})); + end Flowsheet; +end ext; diff --git a/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/README.txt b/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/README.txt new file mode 100755 index 0000000..398266b --- /dev/null +++ b/Extractive_Distillation_Of_Thf_And_Ethanol_Using_Ethylene_Glycol_By_Mr_Akshay_Kumar_Mehta/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Extractive Distillation of THF and Ethanol using Ethylene Glycol +Proposar Name: Mr Akshay Kumar Mehta +University: Dr. B. R. Ambedkar National Institute of Technology Jalandhar, Punjab + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/Abstract.pdf b/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/Abstract.pdf new file mode 100755 index 0000000..3141713 Binary files /dev/null and b/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/Abstract.pdf differ diff --git a/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/README.txt b/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..aa79c95 --- /dev/null +++ b/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Open Cycle Steam Turbine +Proposar Name: Mr Malapati Sree Harsha +University: Sri Venkateswara University College of Engineering, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/openloopturbine.mo b/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/openloopturbine.mo new file mode 100755 index 0000000..787a371 --- /dev/null +++ b/Open_Cycle_Steam_Turbine_By_Mr_Malapati_Sree_Harsha/openloopturbine.mo @@ -0,0 +1,99 @@ +package openloopturbine +model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; +end ms; +model Exp + extends Simulator.UnitOperations.AdiabaticExpander; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; +end Exp; + +model Flowsheet + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Water H2O; + parameter Integer Nc = 1; + parameter data.GeneralProperties C[Nc] = {H2O}; + openloopturbine.ms Feed(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-204, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.CentrifugalPump Pump(C = C, Eff = 0.75, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-162, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-196, -18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.ms PumpOutlet(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-128, 48}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater Boiler(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {-72, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater SuperHeater(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {0, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {-92, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {-22, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.ms SuperHeaterOutlet(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {46, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.ms BoilerOutlet(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-36, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.Exp EXPANDER(C = C, Eff = 0.75, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {92, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.ms SpentSteam(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {138, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {114, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.Exp EXPANDER1(C = C, Eff = 0.75, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {174, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.ms SpentSteam1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {210, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E5 annotation( + Placement(visible = true, transformation(origin = {192, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + openloopturbine.ms SpentSteam2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {276, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Valve valve(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {244, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); +equation + Feed.P = 101325; + Feed.T = 291.483333; + Feed.F_p[1] = 13.988110; + Feed.x_pc[1, :] = {1}; + Pump.Pdel = 1622333.5; + Boiler.Tout = 500; + SuperHeater.Tout = 560.93; + EXPANDER.Pdel = 1013250; + EXPANDER1.Pdel = 303975; + valve.Pout=101325; + connect(Feed.Out, Pump.In) annotation( + Line(points = {{-194, 44}, {-172, 44}, {-172, 42}, {-172, 42}}, color = {0, 70, 70})); + connect(E1.Out, Pump.En) annotation( + Line(points = {{-186, -18}, {-162, -18}, {-162, 34}, {-162, 34}}, color = {255, 0, 0})); + connect(Pump.Out, PumpOutlet.In) annotation( + Line(points = {{-152, 50}, {-138, 50}, {-138, 48}, {-138, 48}}, color = {0, 70, 70})); + connect(PumpOutlet.Out, Boiler.In) annotation( + Line(points = {{-118, 48}, {-82, 48}, {-82, 50}, {-82, 50}}, color = {0, 70, 70})); + connect(Boiler.Out, BoilerOutlet.In) annotation( + Line(points = {{-62, 50}, {-46, 50}}, color = {0, 70, 70})); + connect(BoilerOutlet.Out, SuperHeater.In) annotation( + Line(points = {{-26, 50}, {-10, 50}}, color = {0, 70, 70})); + connect(SuperHeater.Out, SuperHeaterOutlet.In) annotation( + Line(points = {{10, 50}, {36, 50}}, color = {0, 70, 70})); + connect(SuperHeater.En, E3.Out) annotation( + Line(points = {{-10, 40}, {-10, 14}, {-12, 14}, {-12, -12}}, color = {255, 0, 0})); + connect(Boiler.En, E2.Out) annotation( + Line(points = {{-82, 40}, {-82, -16}}, color = {255, 0, 0})); + connect(SuperHeaterOutlet.Out, EXPANDER.In) annotation( + Line(points = {{56, 50}, {82, 50}}, color = {0, 70, 70})); + connect(EXPANDER.Out, SpentSteam.In) annotation( + Line(points = {{102, 50}, {128, 50}}, color = {0, 70, 70})); + connect(EXPANDER.En, E4.In) annotation( + Line(points = {{92, 43}, {92, 1}, {104, 1}, {104, -30}}, color = {255, 0, 0})); + connect(SpentSteam.Out, EXPANDER1.In) annotation( + Line(points = {{148, 50}, {164, 50}}, color = {0, 70, 70})); + connect(EXPANDER1.Out, SpentSteam1.In) annotation( + Line(points = {{184, 50}, {200, 50}}, color = {0, 70, 70})); + connect(EXPANDER1.En, E5.In) annotation( + Line(points = {{174, 43}, {174, 8.5}, {182, 8.5}, {182, -14}}, color = {255, 0, 0})); + connect(SpentSteam1.Out, valve.In) annotation( + Line(points = {{220, 50}, {234, 50}}, color = {0, 70, 70})); + connect(valve.Out, SpentSteam2.In) annotation( + Line(points = {{254, 50}, {266, 50}}, color = {0, 70, 70})); + end Flowsheet; +end openloopturbine; diff --git a/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/Abstract.pdf b/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/Abstract.pdf new file mode 100755 index 0000000..f09d2e9 Binary files /dev/null and b/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/Abstract.pdf differ diff --git a/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/PSD.mo b/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/PSD.mo new file mode 100755 index 0000000..073d411 --- /dev/null +++ b/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/PSD.mo @@ -0,0 +1,105 @@ +package PSD + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + // defining the number of components in the flowsheet + // guess input of Fg = 10 in simulator + parameter Integer Nc = 2; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Methanol moh; + parameter data.Acetone ace; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {moh, ace}; + // defination of the unit operations and streams used + PSD.Discolumn dis1(Nc = Nc, C = C, Nt = 8, Ni = 2, InT_s = {2, 6}) annotation( + Placement(visible = true, transformation(origin = {0, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-88, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream recycle(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-82, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {58, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {60, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd1 annotation( + Placement(visible = true, transformation(origin = {56, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd1 annotation( + Placement(visible = true, transformation(origin = {54, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {180, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {182, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.Discolumn dis2(Nc = Nc, C = C, Nt = 12, Ni = 1, InT_s = {7}) annotation( + Placement(visible = true, transformation(origin = {114, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd2 annotation( + Placement(visible = true, transformation(origin = {158, 86}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rb2 annotation( + Placement(visible = true, transformation(origin = {114, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(rb2.Out, dis2.Rduty) annotation( + Line(points = {{124, -46}, {142, -46}, {142, -28}, {140, -28}, {140, -28}}, color = {255, 0, 0})); + connect(dis2.Cduty, cd2.In) annotation( + Line(points = {{140, 92}, {158, 92}, {158, 100}, {148, 100}, {148, 86}, {148, 86}}, color = {255, 0, 0})); + connect(dis2.Bot, b2.In) annotation( + Line(points = {{140, 2}, {172, 2}, {172, -12}, {172, -12}}, color = {0, 70, 70})); + connect(dis2.Dist, d2.In) annotation( + Line(points = {{140, 62}, {170, 62}, {170, 50}, {170, 50}, {170, 50}}, color = {0, 70, 70})); + connect(d1.Out, dis2.In_s[1]) annotation( + Line(points = {{68, 50}, {80, 50}, {80, 32}, {90, 32}, {90, 32}}, color = {0, 70, 70})); + connect(feed.Out, dis1.In_s[1]) annotation( + Line(points = {{-78, 38}, {-26, 38}, {-26, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(recycle.Out, dis1.In_s[2]) annotation( + Line(points = {{-72, 0}, {-34, 0}, {-34, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(dis1.Bot, b1.In) annotation( + Line(points = {{25, -14}, {36.5, -14}, {36.5, -6}, {50, -6}}, color = {0, 70, 70})); + connect(dis1.Rduty, rbd1.In) annotation( + Line(points = {{25, -44}, {32.5, -44}, {32.5, -38}, {46, -38}}, color = {255, 0, 0})); + connect(dis1.Dist, d1.In) annotation( + Line(points = {{25, 46}, {30.5, 46}, {30.5, 50}, {48, 50}}, color = {0, 70, 70})); + connect(dis1.Cduty, cd1.In) annotation( + Line(points = {{25, 76}, {24.5, 76}, {24.5, 78}, {44, 78}}, color = {255, 0, 0})); +// connections and values + feed.P = 101325; + feed.T = 300; + feed.F_p[1] = 0.9986; + feed.x_pc[1, :] = {0.5, 0.5}; + recycle.P = 607950; + recycle.T = 394.94; + recycle.F_p[1] = 1.90809; + recycle.x_pc[1, :] = {0, 1}; + dis1.condenser.P = 101325; + dis1.reboiler.P = 101325; + d1.F_p[1] = 2.40669; + d1.x_pc[1, 2] = 0.9999999999; +//b1.x_pc[1,1] =0.9986; + dis2.condenser.P = 607950; + dis2.reboiler.P = 607950; + d2.F_p[1] = 1.90809; + d2.x_pc[1, 2] = 0.9999999999; + end flowsheet; +end PSD; diff --git a/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/README.txt b/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/README.txt new file mode 100755 index 0000000..4910b07 --- /dev/null +++ b/Pressure_Swing_Azeotropic_Distillation_Of_Methanol_And_Acetone_By_Mr_Neel_Pulin_Modi/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Pressure Swing Azeotropic Distillation of Methanol and Acetone +Proposar Name: Mr Neel Pulin Modi +University: Indian Institute of Technology Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git "a/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/Abstract.pdf" "b/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/Abstract.pdf" new file mode 100755 index 0000000..0647ba4 Binary files /dev/null and "b/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/Abstract.pdf" differ diff --git "a/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/PSD_EA_EO.mo" "b/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/PSD_EA_EO.mo" new file mode 100755 index 0000000..3eb0a97 --- /dev/null +++ "b/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/PSD_EA_EO.mo" @@ -0,0 +1,109 @@ +package PSD + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + parameter Integer Nc = 2; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Ethylacetate ea; + parameter data.Ethanol eo; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {ea, eo}; + PSD.Discolumn dis1(Nc = Nc, C = C, Nt = 55, Ni = 2, InT_s = {44, 47}) annotation( + Placement(visible = true, transformation(origin = {0, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-98, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream recycle(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-104, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {58, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {60, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd1 annotation( + Placement(visible = true, transformation(origin = {56, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd1 annotation( + Placement(visible = true, transformation(origin = {54, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.Discolumn dis2(Nc = Nc, C = C, Nt = 30, Ni = 1, InT_s = {18}) annotation( + Placement(visible = true, transformation(origin = {164, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Valve valve1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {86, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream matstream1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {110, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {226, -18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {228, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd2 annotation( + Placement(visible = true, transformation(origin = {230, 80}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd2 annotation( + Placement(visible = true, transformation(origin = {230, -56}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(dis2.Cduty, cd2.In) annotation( + Line(points = {{190, 76}, {220, 76}, {220, 80}, {220, 80}}, color = {255, 0, 0})); + connect(dis2.Bot, b2.In) annotation( + Line(points = {{190, -14}, {216, -14}, {216, -18}, {216, -18}}, color = {0, 70, 70})); + connect(dis2.Dist, d2.In) annotation( + Line(points = {{190, 46}, {218, 46}, {218, 44}, {218, 44}}, color = {0, 70, 70})); + connect(dis2.Rduty, rbd2.In) annotation( + Line(points = {{190, -44}, {200, -44}, {200, -56}, {220, -56}, {220, -56}}, color = {255, 0, 0})); + connect(matstream1.Out, dis2.In_s[1]) annotation( + Line(points = {{120, -14}, {124, -14}, {124, 16}, {140, 16}, {140, 16}}, color = {0, 70, 70})); + connect(valve1.Out, matstream1.In) annotation( + Line(points = {{96, 30}, {100, 30}, {100, -14}}, color = {0, 70, 70})); + connect(d1.Out, valve1.In) annotation( + Line(points = {{68, 50}, {72, 50}, {72, 30}, {76, 30}, {76, 30}}, color = {0, 70, 70})); + connect(recycle.Out, dis1.In_s[2]) annotation( + Line(points = {{-94, -2}, {-34, -2}, {-34, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(feed.Out, dis1.In_s[1]) annotation( + Line(points = {{-88, 34}, {-26, 34}, {-26, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(dis1.Bot, b1.In) annotation( + Line(points = {{25, -14}, {36.5, -14}, {36.5, -6}, {50, -6}}, color = {0, 70, 70})); + connect(dis1.Rduty, rbd1.In) annotation( + Line(points = {{25, -44}, {32.5, -44}, {32.5, -38}, {46, -38}}, color = {255, 0, 0})); + connect(dis1.Dist, d1.In) annotation( + Line(points = {{25, 46}, {30.5, 46}, {30.5, 50}, {48, 50}}, color = {0, 70, 70})); + connect(dis1.Cduty, cd1.In) annotation( + Line(points = {{25, 76}, {24.5, 76}, {24.5, 78}, {44, 78}}, color = {255, 0, 0})); + feed.P = 607950; + feed.T = 320; + feed.F_p[1] = 100; + feed.x_pc[1, :] = {0.5, 0.5}; + recycle.P = 607950; + recycle.T = 326; + recycle.F_p[1] = 95.9928; + recycle.x_pc[1, :] = {0.521414, 0.478586}; + dis1.condenser.P = 607950; + dis1.reboiler.P = 607950; + dis1.RR = 2; +// b1.F_p[1] = 50; + b1.x_pc[1, 1] = 0.99638; + valve1.Pout = 101325; + dis2.condenser.P = 101325; + dis2.reboiler.P = 101325; + dis2.RR = 2; + b2.x_pc[1, 2] = 0.996; + end flowsheet; +end PSD; diff --git "a/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/README.txt" "b/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/README.txt" new file mode 100755 index 0000000..9ec744c --- /dev/null +++ "b/Pressure_Swing_Distillation_For_Separating_A_Minimum_Boiling_Azeotrope_Of_Ethyl_Acetate_And_Ethanol\t_By_Mr_Neel_Pulin_Modi/README.txt" @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Pressure Swing Distillation for Separating a Minimum Boiling Azeotrope of Ethyl Acetate and Ethanol +Proposar Name: Mr Neel Modi +University: Indian Institute of Technology, Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/Abstract.pdf b/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/Abstract.pdf new file mode 100755 index 0000000..6f8ca42 Binary files /dev/null and b/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/Abstract.pdf differ diff --git a/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/PSDwithRecycle.mo b/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/PSDwithRecycle.mo new file mode 100755 index 0000000..bc458cf --- /dev/null +++ b/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/PSDwithRecycle.mo @@ -0,0 +1,137 @@ +package PSD + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + // defining the number of components in the flowsheet + parameter Integer Nc = 2; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Water wa; + parameter data.Acetonitrile acn; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {wa, acn}; + // defination of the unit operations and streams used + PSD.Discolumn dis1(Nc = Nc, C = C, Nt = 20, Ni = 2, InT_s = {15, 2}) annotation( + Placement(visible = true, transformation(origin = {0, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-120, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream recycle(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-104, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {58, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {60, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd1 annotation( + Placement(visible = true, transformation(origin = {56, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd1 annotation( + Placement(visible = true, transformation(origin = {54, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.Discolumn dis2(Nc = Nc, C = C, Nt = 20, Ni = 1, InT_s = {10}) annotation( + Placement(visible = true, transformation(origin = {164, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Valve valve1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {86, 30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream matstream1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {110, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {226, -18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {228, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd2 annotation( + Placement(visible = true, transformation(origin = {230, 80}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd2 annotation( + Placement(visible = true, transformation(origin = {230, -56}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b1copy(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-208, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.HeatExchanger hex1(Cmode = "Outlet_Temparatures", Qloss = 0, Mode = "CounterCurrent", Nc = Nc, C = C, Pdelc = 0, Pdelh = 0) annotation( + Placement(visible = true, transformation(origin = {-174, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream hexstream1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-212, 72}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream hexstream2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-90, 74}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.RecycleBlock r1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-44, -88}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); + equation + connect(hexstream1.Out, hex1.In_Cold) annotation( + Line(points = {{-202, 72}, {-202, 45}, {-174, 45}, {-174, 42}}, color = {0, 70, 70})); + connect(hex1.Out_Hot, hexstream2.In) annotation( + Line(points = {{-164, 32}, {-137, 32}, {-137, 74}, {-100, 74}}, color = {0, 70, 70})); + connect(b1copy.Out, hex1.In_Hot) annotation( + Line(points = {{-198, 32}, {-184, 32}}, color = {0, 70, 70})); + connect(r1.outlet, b1copy.In) annotation( + Line(points = {{-54, -88}, {-218, -88}, {-218, 32}}, color = {0, 70, 70})); + connect(hex1.Out_Cold, feed.In) annotation( + Line(points = {{-174, 22}, {-130, 22}}, color = {0, 70, 70})); + connect(b1.Out, r1.inlet) annotation( + Line(points = {{70, -6}, {88, -6}, {88, -88}, {-34, -88}}, color = {0, 70, 70})); + connect(feed.Out, dis1.In_s[1]) annotation( + Line(points = {{-110, 22}, {-26, 22}, {-26, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(dis2.Cduty, cd2.In) annotation( + Line(points = {{190, 76}, {220, 76}, {220, 80}, {220, 80}}, color = {255, 0, 0})); + connect(dis2.Bot, b2.In) annotation( + Line(points = {{190, -14}, {216, -14}, {216, -18}, {216, -18}}, color = {0, 70, 70})); + connect(dis2.Dist, d2.In) annotation( + Line(points = {{190, 46}, {218, 46}, {218, 44}, {218, 44}}, color = {0, 70, 70})); + connect(dis2.Rduty, rbd2.In) annotation( + Line(points = {{190, -44}, {200, -44}, {200, -56}, {220, -56}, {220, -56}}, color = {255, 0, 0})); + connect(matstream1.Out, dis2.In_s[1]) annotation( + Line(points = {{120, -14}, {124, -14}, {124, 16}, {140, 16}, {140, 16}}, color = {0, 70, 70})); + connect(valve1.Out, matstream1.In) annotation( + Line(points = {{96, 30}, {100, 30}, {100, -14}}, color = {0, 70, 70})); + connect(d1.Out, valve1.In) annotation( + Line(points = {{68, 50}, {72, 50}, {72, 30}, {76, 30}, {76, 30}}, color = {0, 70, 70})); + connect(recycle.Out, dis1.In_s[2]) annotation( + Line(points = {{-94, -2}, {-34, -2}, {-34, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(dis1.Bot, b1.In) annotation( + Line(points = {{25, -14}, {36.5, -14}, {36.5, -6}, {50, -6}}, color = {0, 70, 70})); + connect(dis1.Rduty, rbd1.In) annotation( + Line(points = {{25, -44}, {32.5, -44}, {32.5, -38}, {46, -38}}, color = {255, 0, 0})); + connect(dis1.Dist, d1.In) annotation( + Line(points = {{25, 46}, {30.5, 46}, {30.5, 50}, {48, 50}}, color = {0, 70, 70})); + connect(dis1.Cduty, cd1.In) annotation( + Line(points = {{25, 76}, {24.5, 76}, {24.5, 78}, {44, 78}}, color = {255, 0, 0})); + // connections and values + hexstream1.P = 101325; + hexstream1.T = 308; + hexstream1.F_p[1] = 27.77778; + hexstream1.x_pc[1, :] = {0.695, 0.305}; + hex1.U = 993.77362; + hex1.Qact = 41.598E3; + recycle.P = 101325; + recycle.T = 361.56; + recycle.F_p[1] = 46.98; + recycle.x_pc[1, :] = {0.4, 0.6}; + dis1.condenser.P = 101325; + dis1.reboiler.P = 101325; + d1.F_p[1] = 55.54; + b1.x_pc[1, 1] = 0.9999; + valve1.Pout = 303975; + dis2.condenser.P = 303975; + dis2.reboiler.P = 303975; + d2.x_pc[1, 1] = 0.4; + b2.x_pc[1, 2] = 0.99; + end flowsheet; + +end PSD; diff --git a/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/README.txt b/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/README.txt new file mode 100755 index 0000000..a445fe2 --- /dev/null +++ b/Pressure_Swing_Distillation_Of_Acetonitrile-Water_System_By_Mr_Neel_Pulin_Modi/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Pressure Swing Distillation of Acetonitrile-Water System +Proposar Name: Mr Neel Pulin Modi +University: Indian Institute of Technology, Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Abstract.pdf b/Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Abstract.pdf deleted file mode 100755 index 39c9d8f..0000000 Binary files a/Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Abstract.pdf and /dev/null differ diff --git a/Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Flowsheet_PSDEthanol.mo b/Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Flowsheet_PSDEthanol.mo deleted file mode 100755 index c80cb24..0000000 --- a/Pressure_Swing_Distillation_Of_Toluene_-_Ethanol_By_Mr_Kaushik_Datta/Flowsheet_PSDEthanol.mo +++ /dev/null @@ -1,149 +0,0 @@ -package Pres_swin_Dist - model Material_Streams - //instantiation of chemsep database - import data = Simulator.Files.Chemsep_Database; - //instantiation of Methanol - parameter data.Methanol meth; - //instantiation of Chloroform - parameter data.Chloroform chlor; - extends Simulator.Streams.Material_Stream(NOC = 2, comp = {meth, chlor}, totMolFlo(each start = 1), compMolFrac(each start = 0.5), T(start = sum(comp.Tb / NOC))); - //material stream extended in which parameter NOC and comp are given values and other variables are given start values - extends Simulator.Files.Thermodynamic_Packages.NRTL; - //thermodynamic package NRTL is extended - end Material_Streams; - -model flowsheet - import data = Simulator.Files.Chemsep_Database; - //instantiation of Ethanol - parameter data.Ethanol eth; - //instantiation of Toluene - parameter data.Toluene tol; - //Number of Components - parameter Integer NOC = 2; - parameter data.General_Properties comp[NOC] = {eth, tol}; -Material_Streams Feed(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {-104, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Material_Streams Recycle(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {-102, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Pres_swin_Dist.LPC.DistColumn LPC(NOC = NOC, comp = comp, feedStages = {6, 16}, noOfFeeds = 2, noOfStages = 35) annotation( - Placement(visible = true, transformation(origin = {-40, 8}, extent = {{-28, -28}, {28, 28}}, rotation = 0))); -Pres_swin_Dist.Material_Streams Distillate1(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {8, 58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Pres_swin_Dist.Material_Streams Bottoms1(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {10, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Simulator.Streams.Energy_Stream C_duty1 annotation( - Placement(visible = true, transformation(origin = {-30, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Simulator.Streams.Energy_Stream R_duty1 annotation( - Placement(visible = true, transformation(origin = {-30, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Pres_swin_Dist.HPC.DistColumn HPC(NOC = NOC, comp = comp, feedStages = {16}, noOfFeeds = 1, noOfStages = 22 ) annotation( - Placement(visible = true, transformation(origin = {62, 8}, extent = {{-28, -28}, {28, 28}}, rotation = 0))); -Material_Streams Distillate2(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {118, 58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Material_Streams Bottoms2(NOC = NOC, comp = comp) annotation( - Placement(visible = true, transformation(origin = {122, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Simulator.Streams.Energy_Stream C_duty2 annotation( - Placement(visible = true, transformation(origin = {74, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -Simulator.Streams.Energy_Stream R_duty2 annotation( - Placement(visible = true, transformation(origin = {76, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); -equation - connect(Bottoms2.inlet, HPC.bottoms) annotation( - Line(points = {{112, -38}, {104, -38}, {104, -12}, {90, -12}, {90, -12}, {90, -12}})); - connect(Distillate2.inlet, HPC.distillate) annotation( - Line(points = {{108, 58}, {100, 58}, {100, 28}, {90, 28}, {90, 28}, {90, 28}})); - connect(R_duty2.inlet, HPC.reboiler_duty) annotation( - Line(points = {{66, -50}, {56, -50}, {56, -34}, {82, -34}, {82, -22}, {82, -22}, {82, -20}})); - connect(C_duty2.inlet, HPC.condensor_duty) annotation( - Line(points = {{64, 68}, {58, 68}, {58, 42}, {78, 42}, {78, 34}, {78, 34}, {78, 34}})); - connect(Distillate1.outlet, HPC.feed[1]) annotation( - Line(points = {{18, 58}, {26, 58}, {26, 6}, {34, 6}, {34, 6}})); - connect(Bottoms1.inlet, LPC.bottoms) annotation( - Line(points = {{0, -38}, {-4, -38}, {-4, -12}, {-12, -12}, {-12, -12}, {-12, -12}})); - connect(Distillate1.inlet, LPC.distillate) annotation( - Line(points = {{-2, 58}, {-8, 58}, {-8, 28}, {-12, 28}, {-12, 28}, {-12, 28}})); - connect(C_duty1.inlet, LPC.condensor_duty) annotation( - Line(points = {{-40, 70}, {-48, 70}, {-48, 50}, {-24, 50}, {-24, 34}, {-24, 34}})); - connect(R_duty1.inlet, LPC.reboiler_duty) annotation( - Line(points = {{-40, -50}, {-48, -50}, {-48, -32}, {-20, -32}, {-20, -22}, {-20, -22}, {-20, -20}})); - connect(Recycle.outlet, LPC.feed[2]) annotation( - Line(points = {{-92, 32}, {-68, 32}, {-68, 8}, {-68, 8}, {-68, 6}})); - connect(Feed.outlet, LPC.feed[1]) annotation( - Line(points = {{-94, -12}, {-80, -12}, {-80, 8}, {-66, 8}, {-66, 6}, {-68, 6}})); - - Feed.compMolFrac[1, :] = {0.83721374, 0.16278626}; - Feed.T = 303.15; - Feed.totMolFlo[1] = 18.149; - Feed.P = 101325; - - Recycle.compMolFrac[1, :] = {0.918367, 0.081633}; - Recycle.T = 428.76; - Recycle.totMolFlo[1] = 17.5529; - Recycle.P = 1.11458E+06; - - LPC.condensor.P = 50662.5; - LPC.reboiler.P = 50662.5; - LPC.refluxRatio = 1.09839; -// Distillate1.compMolFrac[1,2]=0.213586; -// Distillate1.totMolFlo[1] = 20.5056; - - HPC.condensor.P = 1114575; - HPC.reboiler.P = 1114575; - HPC.refluxRatio = 0.37585; -// Distillate2.compMolFrac[1,1] = 0.918367; - -// Distillate1. compMolFrac[1,1] = 0.786414; -// Distillate2.compMolFrac[1,1] = 0.918367; - Bottoms1.compMolFrac[1,1] = 0.9995; - Bottoms2.compMolFrac[1,1] = 0.002; - -end flowsheet; - - //=============================================================================================== - - package LPC - model Condensor - extends Simulator.Unit_Operations.Distillation_Column.Cond; - extends Simulator.Files.Thermodynamic_Packages.NRTL; - end Condensor; - - model Tray - extends Simulator.Unit_Operations.Distillation_Column.DistTray; - extends Simulator.Files.Thermodynamic_Packages.NRTL; - end Tray; - - model Reboiler - extends Simulator.Unit_Operations.Distillation_Column.Reb; - extends Simulator.Files.Thermodynamic_Packages.NRTL; - end Reboiler; - - model DistColumn - extends Simulator.Unit_Operations.Distillation_Column.DistCol; - Condensor condensor(NOC = NOC, comp = comp, condType = condType,boolFeed = boolFeed[1], T(start = 300)); - Reboiler reboiler(NOC = NOC, comp = comp, boolFeed = boolFeed[noOfStages]); - Tray tray[noOfStages - 2](each NOC = NOC, each comp = comp,boolFeed = boolFeed[2:noOfStages-1], each liqMolFlo(each start = 150), each vapMolFlo(each start = 150)); - end DistColumn; - end LPC; - - package HPC - model Condensor - extends Simulator.Unit_Operations.Distillation_Column.Cond; - extends Simulator.Files.Thermodynamic_Packages.NRTL; - end Condensor; - - model Tray - extends Simulator.Unit_Operations.Distillation_Column.DistTray; - extends Simulator.Files.Thermodynamic_Packages.NRTL; - end Tray; - - model Reboiler - extends Simulator.Unit_Operations.Distillation_Column.Reb; - extends Simulator.Files.Thermodynamic_Packages.NRTL; - end Reboiler; - - model DistColumn - extends Simulator.Unit_Operations.Distillation_Column.DistCol; - Condensor condensor(NOC = NOC, comp = comp, condType = condType,boolFeed = boolFeed[1], T(start = 300)); - Reboiler reboiler(NOC = NOC, comp = comp, boolFeed = boolFeed[noOfStages]); - Tray tray[noOfStages - 2](each NOC = NOC, each comp = comp,boolFeed = boolFeed[2:noOfStages-1], each liqMolFlo(each start = 150), each vapMolFlo(each start = 150)); - end DistColumn; - end HPC; -end Pres_swin_Dist; diff --git a/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/Abstract_PSD_Toluene_Ethanol.pdf b/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/Abstract_PSD_Toluene_Ethanol.pdf new file mode 100755 index 0000000..9798cca Binary files /dev/null and b/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/Abstract_PSD_Toluene_Ethanol.pdf differ diff --git a/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/PSD.mo b/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/PSD.mo new file mode 100755 index 0000000..c70a385 --- /dev/null +++ b/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/PSD.mo @@ -0,0 +1,107 @@ +package PSD + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + import data = Simulator.Files.ChemsepDatabase; + //instantiation of Ethanol + parameter data.Ethanol eth; + //instantiation of Toluene + parameter data.Toluene tol; + //Number of Components + parameter Integer Nc = 2; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {eth, tol}; + // defination of the unit operations and streams used + PSD.Discolumn dis1(Nc = Nc, C = C, Nt = 35, Ni = 2, InT_s = {6, 16}) annotation( + Placement(visible = true, transformation(origin = {0, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-88, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream recycle(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-82, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {58, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {60, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd1 annotation( + Placement(visible = true, transformation(origin = {56, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd1 annotation( + Placement(visible = true, transformation(origin = {54, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {180, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {182, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.Discolumn dis2(Nc = Nc, C = C, Nt = 22, Ni = 1, InT_s = {16}) annotation( + Placement(visible = true, transformation(origin = {114, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd2 annotation( + Placement(visible = true, transformation(origin = {158, 86}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rb2 annotation( + Placement(visible = true, transformation(origin = {114, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(rb2.Out, dis2.Rduty) annotation( + Line(points = {{124, -46}, {142, -46}, {142, -28}, {140, -28}, {140, -28}}, color = {255, 0, 0})); + connect(dis2.Cduty, cd2.In) annotation( + Line(points = {{140, 92}, {158, 92}, {158, 100}, {148, 100}, {148, 86}, {148, 86}}, color = {255, 0, 0})); + connect(dis2.Bot, b2.In) annotation( + Line(points = {{140, 2}, {172, 2}, {172, -12}, {172, -12}}, color = {0, 70, 70})); + connect(dis2.Dist, d2.In) annotation( + Line(points = {{140, 62}, {170, 62}, {170, 50}, {170, 50}, {170, 50}}, color = {0, 70, 70})); + connect(d1.Out, dis2.In_s[1]) annotation( + Line(points = {{68, 50}, {80, 50}, {80, 32}, {90, 32}, {90, 32}}, color = {0, 70, 70})); + connect(feed.Out, dis1.In_s[1]) annotation( + Line(points = {{-78, 38}, {-26, 38}, {-26, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(recycle.Out, dis1.In_s[2]) annotation( + Line(points = {{-72, 0}, {-34, 0}, {-34, 16}, {-25, 16}}, color = {0, 70, 70})); + connect(dis1.Bot, b1.In) annotation( + Line(points = {{25, -14}, {36.5, -14}, {36.5, -6}, {50, -6}}, color = {0, 70, 70})); + connect(dis1.Rduty, rbd1.In) annotation( + Line(points = {{25, -44}, {32.5, -44}, {32.5, -38}, {46, -38}}, color = {255, 0, 0})); + connect(dis1.Dist, d1.In) annotation( + Line(points = {{25, 46}, {30.5, 46}, {30.5, 50}, {48, 50}}, color = {0, 70, 70})); + connect(dis1.Cduty, cd1.In) annotation( + Line(points = {{25, 76}, {24.5, 76}, {24.5, 78}, {44, 78}}, color = {255, 0, 0})); +// connections and values + feed.P = 101325; + feed.T = 303.15; + feed.F_p[1] = 18.149; + feed.x_pc[1, :] = {0.83721374, 0.16278626}; + + recycle.P = 1.11458E+06; + recycle.T = 428.76; + recycle.F_p[1] = 17.5529; + recycle.x_pc[1, :] = {0.918367, 0.081633}; + + dis1.condenser.P = 50662.5; + dis1.reboiler.P = 50662.5; + dis1.RR = 1.09839; + b1.x_pc[1, 1] = 0.9995; + dis2.condenser.P = 1114575; + dis2.reboiler.P = 1114575; + dis2.RR = 0.37585; + b2.x_pc[1, 1] = 0.002; + + end flowsheet; +end PSD; diff --git a/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/README.txt b/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/README.txt new file mode 100755 index 0000000..9e99bfd --- /dev/null +++ b/Pressure_Swing_Distillation_Of_Toluene_And_Ethanol_By_Mr_Kaushik_Datta/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Pressure Swing Distillation of Toluene and Ethanol +Proposar Name: Mr Kaushik Datta +University: Indian Institute of Technology Bombay + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PSD_Abstract.pdf b/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PSD_Abstract.pdf new file mode 100755 index 0000000..76c3499 Binary files /dev/null and b/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PSD_Abstract.pdf differ diff --git a/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PresSwingDist.mo b/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PresSwingDist.mo new file mode 100755 index 0000000..9dedd2f --- /dev/null +++ b/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/PresSwingDist.mo @@ -0,0 +1,208 @@ +package PresSwingDist + model ms + extends Simulator.Streams.Material_Stream; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end ms; + + + + +model Flowsheet + parameter Integer NOC = 3; + import data = Simulator.Files.Chemsep_Database; + parameter data.Methanol meth; + parameter data.Methylal myl; + parameter data.Water wat; + parameter Simulator.Files.Chemsep_Database.General_Properties comp[NOC] = {meth, myl, wat}; + PresSwingDist.LPC.DistColumn LPC(NOC = NOC, comp = comp, noOfStages = 16, noOfFeeds = 2, feedStages = {5, 12}) annotation( + Placement(visible = true, transformation(origin = {-3, 3}, extent = {{-25, -25}, {25, 25}}, rotation = 0))); + PresSwingDist.ms feed(NOC = NOC, comp = comp) annotation( + Placement(visible = true, transformation(origin = {-92, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PresSwingDist.ms distillate1(NOC = NOC, comp = comp) annotation( + Placement(visible = true, transformation(origin = {48, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PresSwingDist.ms bottoms1(NOC = NOC, comp = comp) annotation( + Placement(visible = true, transformation(origin = {50, -42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.Energy_Stream cond_duty1 annotation( + Placement(visible = true, transformation(origin = {34, 84}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.Energy_Stream reb_duty1 annotation( + Placement(visible = true, transformation(origin = {34, -86}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PresSwingDist.ms recycle(NOC = NOC, comp = comp) annotation( + Placement(visible = true, transformation(origin = {-90, 72}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PresSwingDist.HPC.DistColumn HPC(NOC = NOC, comp = comp, noOfStages = 28, noOfFeeds = 1, feedStages = {10}) annotation( + Placement(visible = true, transformation(origin = {108, 6}, extent = {{-28, -28}, {28, 28}}, rotation = 0))); + PresSwingDist.ms Distillate2(NOC = NOC, comp = comp) annotation( + Placement(visible = true, transformation(origin = {162, 62}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PresSwingDist.ms Bottoms2(NOC = NOC, comp = comp) annotation( + Placement(visible = true, transformation(origin = {174, -36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.Energy_Stream cond_duty2 annotation( + Placement(visible = true, transformation(origin = {122, 88}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.Energy_Stream reb_duty2 annotation( + Placement(visible = true, transformation(origin = {140, -88}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(LPC.bottoms, bottoms1.inlet) annotation( + Line(points = {{22, -14}, {38, -14}, {38, -42}, {40, -42}, {40, -42}, {40, -42}})); + connect(distillate1.outlet, HPC.feed[1]) annotation( + Line(points = {{58, 50}, {72, 50}, {72, 4}, {80, 4}, {80, 4}, {80, 4}})); + connect(feed.outlet, LPC.feed[1]) annotation( + Line(points = {{-82, -50}, {-55, -50}, {-55, 2}, {-28, 2}})); + connect(LPC.reboiler_duty, reb_duty1.inlet) annotation( + Line(points = {{16, -22}, {14, -22}, {14, -60}, {-12, -60}, {-12, -60}, {-12, -60}, {-12, -60}, {-12, -60}, {-12, -60}, {-10, -60}, {-10, -86}, {24, -86}, {24, -86}})); + connect(LPC.condensor_duty, cond_duty1.inlet) annotation( + Line(points = {{12, 28}, {12, 28}, {12, 60}, {-16, 60}, {-16, 84}, {24, 84}, {24, 84}, {24, 84}})); + connect(HPC.reboiler_duty, reb_duty2.inlet) annotation( + Line(points = {{128, -22}, {126, -22}, {126, -60}, {96, -60}, {96, -88}, {130, -88}, {130, -88}})); + connect(HPC.bottoms, Bottoms2.inlet) annotation( + Line(points = {{136, -14}, {152, -14}, {152, -36}, {164, -36}, {164, -36}, {164, -36}})); + connect(HPC.condensor_duty, cond_duty2.inlet) annotation( + Line(points = {{124, 32}, {126, 32}, {126, 60}, {98, 60}, {98, 88}, {112, 88}, {112, 88}})); + connect(recycle.outlet, LPC.feed[2]) annotation( + Line(points = {{-80, 72}, {-64, 72}, {-64, 8}, {-28, 8}, {-28, 2}, {-28, 2}})); + connect(HPC.distillate, Distillate2.inlet) annotation( + Line(points = {{136, 26}, {146, 26}, {146, 62}, {152, 62}, {152, 62}})); + connect(LPC.distillate, distillate1.inlet) annotation( + Line(points = {{22, 22}, {37, 22}, {37, 50}, {38, 50}})); + feed.compMolFrac[1, :] = {0.2749, 0.7145, 0.0105}; + feed.T = 298.15; + feed.totMolFlo[1] = 13.15; + feed.P = 101325; + recycle.compMolFrac[1, :] = {0.3604, 0.635, 0.0045}; + recycle.T = 412.505; + recycle.totMolFlo[1] = 8.24972; + recycle.P = 1200000; + LPC.condensor.P = 101325; + LPC.reboiler.P = 101325; + LPC.refluxRatio = 0.50151; + bottoms1.totMolFlo[1] = 3.74779; + HPC.condensor.P = 1200000; + HPC.reboiler.P = 1200000; + HPC.refluxRatio = 1.5; + Bottoms2.totMolFlo[1] = 9.40225; +end Flowsheet; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + package LPC + model Condensor + extends Simulator.Unit_Operations.Distillation_Column.Cond; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end Condensor; + + + + + model Tray + extends Simulator.Unit_Operations.Distillation_Column.DistTray; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end Tray; + + + + + model Reboiler + extends Simulator.Unit_Operations.Distillation_Column.Reb; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end Reboiler; + + + + + model DistColumn + extends Simulator.Unit_Operations.Distillation_Column.DistCol; + Condensor condensor(NOC = NOC, comp = comp, condType = condType, boolFeed = boolFeed[1], T(start = 300)); + Reboiler reboiler(NOC = NOC, comp = comp, boolFeed = boolFeed[noOfStages]); + Tray tray[noOfStages - 2](each NOC = NOC, each comp = comp, boolFeed = boolFeed[2:noOfStages - 1], each liqMolFlo(each start = 150), each vapMolFlo(each start = 150)); + end DistColumn; + + end LPC; + + package HPC + model Condensor + extends Simulator.Unit_Operations.Distillation_Column.Cond; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end Condensor; + + + + + model Tray + extends Simulator.Unit_Operations.Distillation_Column.DistTray; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end Tray; + + + + + model Reboiler + extends Simulator.Unit_Operations.Distillation_Column.Reb; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end Reboiler; + + + + + model DistColumn + extends Simulator.Unit_Operations.Distillation_Column.DistCol; + Condensor condensor(NOC = NOC, comp = comp, condType = condType, boolFeed = boolFeed[1], T(start = 300)); + Reboiler reboiler(NOC = NOC, comp = comp, boolFeed = boolFeed[noOfStages]); + Tray tray[noOfStages - 2](each NOC = NOC, each comp = comp, boolFeed = boolFeed[2:noOfStages - 1], each liqMolFlo(each start = 150), each vapMolFlo(each start = 150)); + end DistColumn; + + end HPC; +end PresSwingDist; diff --git a/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/README.txt b/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/README.txt new file mode 100755 index 0000000..57408da --- /dev/null +++ b/Pressure_Swing_Distillation_System_For_Methylal_methanol_By_Mr_Sandeep_Kumar_Samanta/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Pressure Swing Distillation System for Methylal/Methanol +Proposar Name: Mr Sandeep Kumar Samanta +University: Rajasthan Technical University, Kota + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Abstract_PSD.pdf b/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Abstract_PSD.pdf new file mode 100755 index 0000000..6d2eca9 Binary files /dev/null and b/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Abstract_PSD.pdf differ diff --git a/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_PSD.mo b/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_PSD.mo new file mode 100755 index 0000000..6e1819f --- /dev/null +++ b/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/Flowsheet_PSD.mo @@ -0,0 +1,106 @@ +package PSD + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + import data = Simulator.Files.ChemsepDatabase; + //instantiation of Isobutylacetate + parameter data.Isobutylacetate iso; + //instantiation of TwomethylOnepropanol + parameter data.TwomethylOnepropanol mp; + //Number of Components + parameter Integer Nc = 2; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {iso, mp}; + // defination of the unit operations and streams used + PSD.Discolumn dis1(Nc = Nc, C = C, Nt = 30, Ni = 2, InT_s = {18,8}) annotation( + Placement(visible = true, transformation(origin = {-52, 12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-140, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {6, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {8, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd1 annotation( + Placement(visible = true, transformation(origin = {4, -48}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd1 annotation( + Placement(visible = true, transformation(origin = {6, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {128, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {130, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.Discolumn dis2(Nc = Nc, C = C, Nt = 16, Ni = 1, InT_s = {4}) annotation( + Placement(visible = true, transformation(origin = {62, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd2 annotation( + Placement(visible = true, transformation(origin = {120, 88}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rb2 annotation( + Placement(visible = true, transformation(origin = {108, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD.matstream recycle(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-138, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(rb2.Out, dis2.Rduty) annotation( + Line(points = {{118, -58}, {87, -58}, {87, -32}}, color = {255, 0, 0})); + connect(dis2.Cduty, cd2.In) annotation( + Line(points = {{87, 88}, {110, 88}}, color = {255, 0, 0})); + connect(dis2.Bot, b2.In) annotation( + Line(points = {{87, -2}, {120, -2}, {120, -16}}, color = {0, 70, 70})); + connect(dis2.Dist, d2.In) annotation( + Line(points = {{87, 58}, {118, 58}, {118, 46}}, color = {0, 70, 70})); + connect(d1.Out, dis2.In_s[1]) annotation( + Line(points = {{16, 46}, {28, 46}, {28, 28}, {37, 28}}, color = {0, 70, 70})); + connect(feed.Out, dis1.In_s[1]) annotation( + Line(points = {{-130, 34}, {-78, 34}, {-78, 12}, {-77, 12}}, color = {0, 70, 70})); + connect(dis1.Bot, b1.In) annotation( + Line(points = {{-27, -18}, {-15.5, -18}, {-15.5, -10}, {-2, -10}}, color = {0, 70, 70})); + connect(dis1.Rduty, rbd1.In) annotation( + Line(points = {{-27, -48}, {-6, -48}}, color = {255, 0, 0})); + connect(dis1.Dist, d1.In) annotation( + Line(points = {{-27, 42}, {-40.25, 42}, {-40.25, 46}, {-4, 46}}, color = {0, 70, 70})); + connect(dis1.Cduty, cd1.In) annotation( + Line(points = {{-27, 72}, {-26.5, 72}, {-26.5, 90}, {-4, 90}}, color = {255, 0, 0})); +// connections and values + feed.P = 101325; + feed.T = 380; + feed.F_p[1] = 0.311545; + feed.x_pc[1, :] = {0.48, 0.52}; + + recycle.P = 101325; + recycle.T = 338.76; + recycle.F_p[1] = 0.416672; + recycle.x_pc[1, :] = {0.45934877, 0.54065123}; + + dis1.condenser.P = 101325; + dis1.reboiler.P = 101325; + dis1.RR = 9; + b1.x_pc[1, 1] = 0.995; + dis2.condenser.P = 19000; + dis2.reboiler.P = 19000; + d2.x_pc[1, 2] = 0.54065123; + b2.x_pc[1, 1] = 0.015; + connect(recycle.Out, dis1.In_s[2]) annotation( + Line(points = {{-128, -8}, {-78, -8}, {-78, 12}, {-77, 12}}, color = {0, 70, 70})); + end flowsheet; +end PSD; diff --git a/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/README.txt b/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/README.txt new file mode 100755 index 0000000..286345d --- /dev/null +++ b/Pressure_Swing_Distillation_To_Separate_Isobutyl_Acetate_And_Isobutyl_Alcohol_By_Mr_Akshay_Kumar_Mehta/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Pressure Swing Distillation to separate Isobutyl Acetate and Isobutyl Alcohol +Proposar Name: Mr Akshay Kumar Mehta +University: Dr. B. R. Ambedkar National Institute of Technology, Jalandhar + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.mo b/Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.mo new file mode 100755 index 0000000..9234261 --- /dev/null +++ b/Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.mo @@ -0,0 +1,133 @@ +package flowsheet2 + model MS "Extension of Material Stream with Roault's Law" + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + annotation( + Documentation(info = "This is a non-executable model is created inside the package Distillation to extend the MaterialStream model along with the necessary property method from ThermodynamicPackages which is RaoultsLaw in this case.

It will be instantiated in the DistillationSimulation_Ex1
DistillationSimulation_Ex2DistillationSimulation_Ex3
DistillationSimulation_Ex4DistillationSimulation_Ex5 models to create the required number of instances of the material stream model.
")); + end MS; + + model DistillationSimulation + extends Modelica.Icons.Example; + parameter Integer Nc = 2; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Tetrahydrofuran thf; + parameter data.Water wat; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {thf, wat}; + flowsheet2.MS S1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-88, 12}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet2.MS S3(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-12, 20}, extent = {{-8, -8}, {8, 8}}, rotation = 0))); + flowsheet2.MS S4(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-12, -4}, extent = {{-8, -8}, {8, 8}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-19, 31}, extent = {{-9, -9}, {9, 9}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {-20, -22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Examples.Distillation.DistColumn B1(Nc = Nc, C = C, Nt = 17, Ni = 2, InT_s = {13, 14}) annotation( + Placement(visible = true, transformation(origin = {-39, 7}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); + //heater + flowsheet2.MS S5(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-86, -34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet2.MS S6(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-81, -1}, extent = {{-11, -11}, {11, 11}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {-75, -53}, extent = {{-9, -9}, {9, 9}}, rotation = 0))); + Simulator.UnitOperations.Heater B2(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {-60, -34}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + //pump + Simulator.UnitOperations.CentrifugalPump B3(C = C, Nc = Nc, Eff = 0.75) annotation( + Placement(visible = true, transformation(origin = {7, 67}, extent = {{-9, -9}, {9, 9}}, rotation = 0))); + flowsheet2.MS S8(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {30, 76}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {16, 54}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + //heater 2 + flowsheet2.MS S10(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {34, 24}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + Simulator.Streams.EnergyStream E5 annotation( + Placement(visible = true, transformation(origin = {38, 60}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + Simulator.UnitOperations.Heater B4(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {50, 76}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + //coloum2 + flowsheet2.MS S12(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {80, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + flowsheet2.MS S13(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {97, -39}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); + Simulator.Streams.EnergyStream E6 annotation( + Placement(visible = true, transformation(origin = {81, 7}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); + Simulator.Streams.EnergyStream E7 annotation( + Placement(visible = true, transformation(origin = {77, -53}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); + Simulator.Examples.Distillation.DistColumn B5(Nc = Nc, C = C, Ni = 1, Nt = 17, InT_s = {6}) annotation( + Placement(visible = true, transformation(origin = {49, -23}, extent = {{-5, -5}, {5, 5}}, rotation = 0))); + equation + connect(B1.Rduty, E2.In) annotation( + Line(points = {{-21.5, -35}, {-21.5, -19}, {-30, -19}, {-30, -22}}, color = {255, 0, 0})); + connect(B1.Bot, S4.In) annotation( + Line(points = {{-21, -14}, {-25, -14}, {-25, -4}, {-20, -4}}, color = {0, 70, 70})); + connect(B1.Dist, S3.In) annotation( + Line(points = {{-21.5, 28}, {-25, 28}, {-25, 20}, {-20, 20}}, color = {0, 70, 70})); + connect(B1.Cduty, E1.In) annotation( + Line(points = {{-21.5, 49}, {-23.5, 49}, {-23.5, 31}, {-28, 31}}, color = {255, 0, 0})); + connect(S1.Out, B1.In_s[1]) annotation( + Line(points = {{-78, 12}, {-66, 12}, {-66, 7}, {-56.5, 7}}, color = {0, 70, 70})); + connect(S6.Out, B1.In_s[2]) annotation( + Line(points = {{-70, -1}, {-56.5, -1}, {-56.5, 7}}, color = {0, 70, 70})); +//heater + connect(E3.Out, B2.En) annotation( + Line(points = {{-66, -53}, {-66, -40}}, color = {255, 0, 0})); + connect(B2.Out, S6.In) annotation( + Line(points = {{-54, -34}, {-54, -28}, {-92, -28}, {-92, -1}}, color = {0, 70, 70})); + connect(S5.Out, B2.In) annotation( + Line(points = {{-76, -34}, {-66, -34}}, color = {0, 70, 70})); +//pump + connect(E4.Out, B3.En) annotation( + Line(points = {{22, 54}, {22, 45}, {7, 45}, {7, 61}}, color = {255, 0, 0})); + connect(B3.Out, S8.In) annotation( + Line(points = {{16, 76}, {24, 76}}, color = {0, 70, 70})); +//heater2 + connect(E5.Out, B4.En) annotation( + Line(points = {{44, 60}, {44, 70}}, color = {255, 0, 0})); + connect(B4.Out, S10.In) annotation( + Line(points = {{56, 76}, {56, 52}, {28, 52}, {28, 24}}, color = {0, 70, 70})); +//coloum 2 + connect(B5.Rduty, E7.In) annotation( + Line(points = {{61.5, -53}, {70, -53}}, color = {255, 0, 0})); + connect(B5.Bot, S13.In) annotation( + Line(points = {{62, -38}, {85.5, -38}, {85.5, -39}, {90, -39}}, color = {0, 70, 70})); + connect(B5.Dist, S12.In) annotation( + Line(points = {{61.5, -8}, {70, -8}}, color = {0, 70, 70})); + connect(B5.Cduty, E6.In) annotation( + Line(points = {{61.5, 7}, {74, 7}}, color = {255, 0, 0})); +//heater + S5.x_pc[1, :] = {.06, .94}; + S5.P = 110000; + S5.T = 308; + S5.F_p[1] = 555.555556; +//B1.Q = 894909.74; + B2.Tout = 346.375437; +// +//coloum + S1.P = 110000; + S1.T = 334.906475; + S1.F_p[1] = 76.52683333333; + S1.x_pc[1, :] = {0.61630733, 0.38369267}; + B1.condenser.P = 110000; + B1.reboiler.P = 110000; + B1.RR = 6; + S4.F_p[1] = 522.29322222; +//pump + B3.Pdel = 680000; + B4.Tout = 361.653248; + connect(S3.Out, B3.In) annotation( + Line(points = {{-4, 20}, {-2, 20}, {-2, 68}}, color = {0, 70, 70})); + connect(S8.Out, B4.In) annotation( + Line(points = {{36, 76}, {44, 76}, {44, 76}, {44, 76}}, color = {0, 70, 70})); + B5.condenser.P = 790000; + B5.reboiler.P = 790000; + B5.RR = 0.7; + S13.F_p[1] = 33.4496833; +//S13.x_pc + connect(S10.Out, B5.In_s[1]) annotation( + Line(points = {{40, 24}, {40, 4}, {36, 4}, {36, -22}}, color = {0, 70, 70})); + end DistillationSimulation; +end flowsheet2; diff --git a/Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.pdf b/Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.pdf new file mode 100755 index 0000000..f95bbc9 Binary files /dev/null and b/Pressure_Swing_Of_Thf_And_Water_By_Mr_Avss.praneeth/PS_THF_WATER.pdf differ diff --git a/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/AceticAcidAbstract.pdf b/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/AceticAcidAbstract.pdf new file mode 100755 index 0000000..a70faa1 Binary files /dev/null and b/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/AceticAcidAbstract.pdf differ diff --git a/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/README.txt b/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..c9a7c40 --- /dev/null +++ b/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Acetic Acid +Proposar Name: Mr Malapati Sree Harsha +University: Sri Venkateswara University College of Engineering, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/aceticacid.mo b/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/aceticacid.mo new file mode 100755 index 0000000..a034ebe --- /dev/null +++ b/Production_Of_Acetic_Acid_By_Mr_Malapati_Sree_Harsha/aceticacid.mo @@ -0,0 +1,90 @@ +package aceticacid + model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end ms; + + model conv_react + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end conv_react; + + + + model fls + extends Simulator.UnitOperations.Flash; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end fls; + + model flowsheet + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Oxygen O2; + parameter data.Nitrogen N2; + parameter data.Acetaldehyde Ace; + parameter data.Aceticacid Acetic; + parameter Integer Nc = 4; + parameter data.GeneralProperties C[Nc] = {Acetic, N2, Ace, O2}; + aceticacid.ms air(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-222, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.ms acetaldehyde(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-218, 52}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mixer(C = C, NI = 2, Nc = Nc, outPress = "Inlet_Average") annotation( + Placement(visible = true, transformation(origin = {-130, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.ms S1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-66, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.conv_react conv_react1(BC_r = {4}, C = C, CalcMode = "Adiabatic", Coef_cr = {{1}, {0}, {-1}, {-0.5}}, Nc = Nc, Nr = 1, X_r = {0.6}) annotation( + Placement(visible = true, transformation(origin = {-18, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-48, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.ms S2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {20, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {52, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {76, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.ms S3(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {104, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.fls FLASH(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {140, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.ms Gas(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {204, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + aceticacid.ms Liquid(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {206, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + air.P = 101325; + air.T = 298.15; + air.F_p[1] = 6.0148; + air.x_pc[1, :] = {0, 0.75, 0, 0.25}; + acetaldehyde.P = 101325; + acetaldehyde.T = 298.15; + acetaldehyde.F_p[1] = 1.8586; + acetaldehyde.x_pc[1, :] = {0, 0, 1, 0}; + cooler.Tout = 288.15; + + connect(acetaldehyde.Out, mixer.In[1]) annotation( + Line(points = {{-208, 52}, {-140, 52}, {-140, 46}}, color = {0, 70, 70})); + connect(air.Out, mixer.In[2]) annotation( + Line(points = {{-212, 40}, {-140, 40}, {-140, 46}}, color = {0, 70, 70})); + connect(mixer.Out, S1.In) annotation( + Line(points = {{-120, 46}, {-76, 46}, {-76, 46}, {-76, 46}}, color = {0, 70, 70})); + connect(S1.Out, conv_react1.In) annotation( + Line(points = {{-56, 46}, {-28, 46}}, color = {0, 70, 70})); + connect(E1.Out, conv_react1.energy) annotation( + Line(points = {{-38, -4}, {-18, -4}, {-18, 34}, {-18, 34}}, color = {255, 0, 0})); + connect(conv_react1.Out, S2.In) annotation( + Line(points = {{-8, 46}, {10, 46}, {10, 44}, {10, 44}}, color = {0, 70, 70})); + connect(S2.Out, cooler.In) annotation( + Line(points = {{30, 44}, {42, 44}}, color = {0, 70, 70})); + connect(cooler.En, E2.In) annotation( + Line(points = {{62, 34}, {62, 17}, {66, 17}, {66, -4}}, color = {255, 0, 0})); + connect(cooler.Out, S3.In) annotation( + Line(points = {{62, 44}, {94, 44}, {94, 38}}, color = {0, 70, 70})); + connect(S3.Out, FLASH.In) annotation( + Line(points = {{114, 38}, {130, 38}, {130, 38}, {130, 38}}, color = {0, 70, 70})); + connect(FLASH.Out1, Gas.In) annotation( + Line(points = {{150, 46}, {194, 46}, {194, 68}, {194, 68}}, color = {0, 70, 70})); + connect(FLASH.Out2, Liquid.In) annotation( + Line(points = {{150, 30}, {196, 30}, {196, 20}, {196, 20}}, color = {0, 70, 70})); + end flowsheet; +end aceticacid; diff --git a/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid.mo b/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid.mo new file mode 100755 index 0000000..afab844 --- /dev/null +++ b/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid.mo @@ -0,0 +1,206 @@ +package Aceticacid + model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end ms; + + model conv_react + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end conv_react; + + + model flowsheet + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Oxygen Oxy; + parameter data.Acetaldehyde Ace; + parameter data.Aceticacid Acetic; + parameter Integer Nc = 3; + parameter data.GeneralProperties C[Nc] = {Ace, Oxy, Acetic}; + Aceticacid.ms S1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-222, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater heater1(Pdel = 0, Eff = 1, C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-188, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-210, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms S2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-154, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.conv_react CnvReact(BC_r = {1}, C = C, CalcMode = "Isothermal", Coef_cr = {{-2}, {-1}, {2}}, Nc = Nc, Nr = 1, Pdel = 0, X_r = {0.75}) annotation( + Placement(visible = true, transformation(origin = {-122, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {-140, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms S3(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-88, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.fls FLASH(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-52, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms Gas(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-10, 60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms Liquid(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-10, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler1(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {30, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {50, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms S4(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {70, 60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.DistColumn DC1(C = C, Ctype = "Total", InT_s = {2}, Nc = Nc, Ni = 1, Nt = 3) annotation( + Placement(visible = true, transformation(origin = {46, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms Top(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {102, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms Bottom(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {104, -48}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {104, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E5 annotation( + Placement(visible = true, transformation(origin = {102, -96}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler2(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {150, -48}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E6 annotation( + Placement(visible = true, transformation(origin = {170, -88}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Aceticacid.ms S5(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {192, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(Bottom.Out, cooler2.In) annotation( + Line(points = {{114, -48}, {118, -48}, {118, -42}, {130, -42}, {130, -48}, {140, -48}, {140, -48}, {140, -48}}, color = {0, 70, 70})); + connect(cooler2.Out, S5.In) annotation( + Line(points = {{160, -48}, {170, -48}, {170, -42}, {178, -42}, {178, -46}, {182, -46}, {182, -46}}, color = {0, 70, 70})); + connect(cooler2.En, E6.In) annotation( + Line(points = {{160, -58}, {168, -58}, {168, -74}, {146, -74}, {146, -90}, {160, -90}, {160, -88}, {160, -88}}, color = {255, 0, 0})); + connect(Liquid.Out, DC1.In_s[1]) annotation( + Line(points = {{0, 20}, {10, 20}, {10, -30}, {22, -30}, {22, -30}, {22, -30}}, color = {0, 70, 70})); + connect(DC1.Rduty, E5.Out) annotation( + Line(points = {{72, -90}, {92, -90}, {92, -84}, {112, -84}, {112, -96}, {112, -96}}, color = {255, 0, 0})); + connect(DC1.Bot, Bottom.In) annotation( + Line(points = {{72, -60}, {82, -60}, {82, -48}, {94, -48}, {94, -48}, {94, -48}}, color = {0, 70, 70})); + connect(DC1.Dist, Top.In) annotation( + Line(points = {{72, 0}, {84, 0}, {84, -6}, {92, -6}, {92, -6}, {92, -6}, {92, -6}}, color = {0, 70, 70})); + connect(DC1.Cduty, E4.In) annotation( + Line(points = {{72, 30}, {82, 30}, {82, 20}, {94, 20}, {94, 20}, {94, 20}}, color = {255, 0, 0})); + connect(E2.Out, CnvReact.energy) annotation( + Line(points = {{-130, -8}, {-130, 9}, {-122, 9}, {-122, 28}}, color = {255, 0, 0})); + connect(cooler1.En, E3.In) annotation( + Line(points = {{40, 58}, {36, 58}, {36, 40}, {40, 40}}, color = {255, 0, 0})); + connect(cooler1.Out, S4.In) annotation( + Line(points = {{40, 68}, {50, 68}, {50, 60}, {60, 60}}, color = {0, 70, 70})); + connect(Gas.Out, cooler1.In) annotation( + Line(points = {{0, 60}, {10, 60}, {10, 68}, {20, 68}}, color = {0, 70, 70})); + connect(S3.Out, FLASH.In) annotation( + Line(points = {{-78, 40}, {-62, 40}, {-62, 40}, {-62, 40}, {-62, 40}}, color = {0, 70, 70})); + connect(FLASH.Out2, Liquid.In) annotation( + Line(points = {{-42, 32}, {-32, 32}, {-32, 32}, {-30, 32}, {-30, 20}, {-20, 20}, {-20, 20}}, color = {0, 70, 70})); + connect(FLASH.Out1, Gas.In) annotation( + Line(points = {{-42, 48}, {-30, 48}, {-30, 60}, {-20, 60}, {-20, 60}, {-20, 60}, {-20, 60}}, color = {0, 70, 70})); + connect(CnvReact.Out, S3.In) annotation( + Line(points = {{-112, 40}, {-96, 40}, {-96, 40}, {-98, 40}, {-98, 40}}, color = {0, 70, 70})); + connect(S2.Out, CnvReact.In) annotation( + Line(points = {{-144, 40}, {-132, 40}, {-132, 40}, {-132, 40}}, color = {0, 70, 70})); + connect(E1.Out, heater1.En) annotation( + Line(points = {{-200, -8}, {-198, -8}, {-198, 34}, {-198, 34}, {-198, 32}, {-198, 32}}, color = {255, 0, 0})); + connect(heater1.Out, S2.In) annotation( + Line(points = {{-178, 42}, {-170, 42}, {-170, 40}, {-164, 40}}, color = {0, 70, 70})); + connect(S1.Out, heater1.In) annotation( + Line(points = {{-212, 40}, {-206, 40}, {-206, 42}, {-198, 42}}, color = {0, 70, 70})); + S1.F_p[1] = 16.07096; + S1.x_pc[1, :] = {0.5, 0.5, 0}; + S1.P = 101325; + S1.T = 298.15; + S2.T = 338.15; + cooler1.Tout = 298.15; + DC1.condenser.P = 101325; + DC1.reboiler.P = 101325; + // Top.x_pc[1, 1] = 0.01; + Top.F_p[1] = 3; + Bottom.x_pc[1, 3] = 0.99; + cooler2.Tout = 298.15; + + end flowsheet; + + + + + + + + + + + + + + + + + + + + + + + + + + + + model fls + extends Simulator.UnitOperations.Flash; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end fls; + + model Condenser + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condenser; + + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + + model DistColumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condenser condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumn; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +end Aceticacid; diff --git a/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid_Abstract.pdf b/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid_Abstract.pdf new file mode 100755 index 0000000..64006c4 Binary files /dev/null and b/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/Aceticacid_Abstract.pdf differ diff --git a/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/README.txt b/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/README.txt new file mode 100755 index 0000000..99415b2 --- /dev/null +++ b/Production_Of_Acetic_Acid_Using_Acetaldehyde_By_Mr_Sandeep_Kumar_Samanta/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Acetic Acid using Acetaldehyde +Proposar Name: Mr Sandeep Kumar Samanta +University: Rajasthan Technical University, Kota + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/Ammonia.mo b/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/Ammonia.mo new file mode 100755 index 0000000..af586e3 --- /dev/null +++ b/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/Ammonia.mo @@ -0,0 +1,64 @@ +package Ammonia + model material + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end material; + + + + model flowsheet + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Hydrogen H2; + parameter data.Nitrogen N2; + parameter data.Ammonia NH3; + parameter Integer Nc = 3; + parameter data.GeneralProperties C[Nc] = {H2, N2, NH3}; + Ammonia.material Feed(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-166, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-82, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Ammonia.material M1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {0, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler Cooler(C = C, Eff = 1, Nc = Nc, Pdel = 5067600) annotation( + Placement(visible = true, transformation(origin = {46, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Ammonia.material M2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {94, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {66, -24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Ammonia.material Product(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {206, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Ammonia.material Bottom(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {214, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.EquilibriumReactor EquilibriumReact(Basis = "MoleFraction", C = C, Coef_cr = {{-3}, {-1}, {2}}, Mode = "OutletTemperature", Nc = Nc, Tdef = 500) annotation( + Placement(visible = true, transformation(origin = {-68, 38}, extent = {{-10, -20}, {10, 20}}, rotation = 0))); + Simulator.UnitOperations.CompoundSeparator CS(C = C, Nc = Nc, SepFact_c = {"Molar_Flow", "Molar_Flow", "Molar_Flow"}, SepStrm = 1) annotation( + Placement(visible = true, transformation(origin = {142, 30}, extent = {{-10, -20}, {10, 20}}, rotation = 0))); + equation + Feed.P = 20270400; + Feed.T = 698.15; + Feed.F_p[1] = 282.033; + Feed.x_pc[1, :] = {0.75, 0.25, 0}; +//PFR1.X_r[1] = 0.6; + Cooler.Tout = 188.15; + CS.SepVal_c = {0,0,39.2}; + connect(M1.Out, Cooler.In) annotation( + Line(points = {{10, 34}, {36, 34}, {36, 36}}, color = {0, 70, 70})); + connect(Cooler.En, E2.In) annotation( + Line(points = {{56, 26}, {56, -24}}, color = {255, 0, 0})); + connect(Cooler.Out, M2.In) annotation( + Line(points = {{56, 36}, {84, 36}, {84, 28}, {84, 28}}, color = {0, 70, 70})); + connect(Feed.Out, EquilibriumReact.In) annotation( + Line(points = {{-156, 34}, {-115, 34}, {-115, 38}, {-78, 38}}, color = {0, 70, 70})); + connect(EquilibriumReact.Out, M1.In) annotation( + Line(points = {{-58, 38}, {-12, 38}, {-12, 34}, {-10, 34}}, color = {0, 70, 70})); + connect(E1.Out, EquilibriumReact.enConn) annotation( + Line(points = {{-72, -2}, {-68, -2}, {-68, 24}, {-68, 24}}, color = {255, 0, 0})); + connect(M2.Out, CS.In) annotation( + Line(points = {{104, 28}, {130, 28}, {130, 30}, {132, 30}}, color = {0, 70, 70})); + connect(CS.Out1, Product.In) annotation( + Line(points = {{152, 38}, {196, 38}, {196, 38}, {196, 38}}, color = {0, 70, 70})); + connect(CS.Out2, Bottom.In) annotation( + Line(points = {{152, 22}, {204, 22}, {204, 20}, {204, 20}}, color = {0, 70, 70})); + end flowsheet; +end Ammonia; diff --git a/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/AmmoniaAbs.pdf b/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/AmmoniaAbs.pdf new file mode 100755 index 0000000..0b3c246 Binary files /dev/null and b/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/AmmoniaAbs.pdf differ diff --git a/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/README.txt b/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..af95b53 --- /dev/null +++ b/Production_Of_Ammonia_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production Of Ammonia +Proposar Name: Mr Malapati Sree Harsha +University: Sri Venkateswara University College of Engineering, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Abstract.pdf b/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Abstract.pdf new file mode 100755 index 0000000..895351c Binary files /dev/null and b/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Abstract.pdf differ diff --git a/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Cumenewithrecycle.mo b/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Cumenewithrecycle.mo new file mode 100755 index 0000000..9f23e6a --- /dev/null +++ b/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/Cumenewithrecycle.mo @@ -0,0 +1,177 @@ +package CUMENE + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + // defination of the unit operations and streams used + // defining the number of components in the flowsheet + parameter Integer Nc = 4; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Cumene cum; + parameter data.Benzene ben; + parameter data.Nbutane nbut; + parameter data.Propylene prop; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {cum, ben, nbut, prop}; + matstream S01(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-354, 102}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S02(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-354, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S03(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-264, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + CUMENE.matstream S05(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-204, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mix1(Nc = Nc, C = C, NI = 2, outPress = "Inlet_Minimum") annotation( + Placement(visible = true, transformation(origin = {-304, 72}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + CUMENE.react react1(Nc = Nc, C = C, Nr = 1, BC_r = {4}, Coef_cr = {{1}, {-1}, {0}, {-1}}, X_r = {0.8}, CalcMode = "Isothermal") annotation( + Placement(visible = true, transformation(origin = {-238, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler1(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-166, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + CUMENE.matstream S06(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-120, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E01 annotation( + Placement(visible = true, transformation(origin = {-146, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Discolumn dis1(Nc = Nc, C = C, Nt = 10, Ni = 1, InT_s = {5}) annotation( + Placement(visible = true, transformation(origin = {-82, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S07(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-34, 94}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S08(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-36, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E02 annotation( + Placement(visible = true, transformation(origin = {-78, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E03 annotation( + Placement(visible = true, transformation(origin = {-34, 134}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + CUMENE.Discolumn dis2(Nc = Nc, C = C, Nt = 10, Ni = 1, InT_s = {5}) annotation( + Placement(visible = true, transformation(origin = {48, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S09(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {150, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S10(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {142, 96}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E05 annotation( + Placement(visible = true, transformation(origin = {60, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E06 annotation( + Placement(visible = true, transformation(origin = {122, 138}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S11(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-338, 174}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S12(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-342, 140}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + matstream S13(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-248, 152}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + CUMENE.matstream S14(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-124, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mix2(Nc = Nc, C = C, NI = 2, outPress = "Inlet_Minimum") annotation( + Placement(visible = true, transformation(origin = {-300, 154}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater heater1(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-162, 124}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E07 annotation( + Placement(visible = true, transformation(origin = {-206, 114}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer recycleblock(Nc = Nc, C = C, NI = 1, outPress = "Inlet_Minimum") annotation( + Placement(visible = true, transformation(origin = {-252, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 180))); + equation + connect(S02.In, recycleblock.Out) annotation( + Line(points = {{-364, 40}, {-362, 40}, {-362, -8}, {-262, -8}, {-262, -8}}, color = {0, 70, 70})); + connect(S14.Out, recycleblock.In[1]) annotation( + Line(points = {{-114, 0}, {-110, 0}, {-110, -8}, {-242, -8}, {-242, -8}}, color = {0, 70, 70})); + connect(heater1.Out, S14.In) annotation( + Line(points = {{-152, 124}, {-152, 62}, {-134, 62}, {-134, 0}}, color = {0, 70, 70})); + connect(E07.Out, heater1.En) annotation( + Line(points = {{-196, 114}, {-172, 114}}, color = {255, 0, 0})); + connect(S13.Out, heater1.In) annotation( + Line(points = {{-238, 152}, {-172, 152}, {-172, 124}}, color = {0, 70, 70})); + connect(mix2.Out, S13.In) annotation( + Line(points = {{-290, 154}, {-258, 154}, {-258, 152}, {-258, 152}}, color = {0, 70, 70})); + connect(S12.Out, mix2.In[2]) annotation( + Line(points = {{-332, 140}, {-318, 140}, {-318, 154}, {-310, 154}, {-310, 154}}, color = {0, 70, 70})); + connect(S11.Out, mix2.In[1]) annotation( + Line(points = {{-328, 174}, {-322, 174}, {-322, 154}, {-310, 154}, {-310, 154}}, color = {0, 70, 70})); + connect(S08.Out, dis2.In_s[1]) annotation( + Line(points = {{-26, 36}, {14, 36}, {14, 68}, {23, 68}}, color = {0, 70, 70})); + connect(dis2.Dist, S10.In) annotation( + Line(points = {{73, 98}, {104.5, 98}, {104.5, 96}, {132, 96}}, color = {0, 70, 70})); + connect(dis2.Bot, S09.In) annotation( + Line(points = {{73, 38}, {108.5, 38}, {108.5, 36}, {140, 36}}, color = {0, 70, 70})); + connect(E05.Out, dis2.Rduty) annotation( + Line(points = {{70, -16}, {73, -16}, {73, 8}}, color = {255, 0, 0})); + connect(dis2.Cduty, E06.In) annotation( + Line(points = {{73, 128}, {88, 128}, {88, 138}, {112, 138}}, color = {255, 0, 0})); + connect(dis1.Rduty, E02.Out) annotation( + Line(points = {{-56, 6}, {-52, 6}, {-52, -4}, {-68, -4}, {-68, -4}}, color = {255, 0, 0})); + connect(dis1.Bot, S08.In) annotation( + Line(points = {{-56, 36}, {-46, 36}, {-46, 36}, {-46, 36}}, color = {0, 70, 70})); + connect(dis1.Dist, S07.In) annotation( + Line(points = {{-56, 96}, {-44, 96}, {-44, 94}, {-44, 94}}, color = {0, 70, 70})); + connect(dis1.Cduty, E03.In) annotation( + Line(points = {{-56, 126}, {-50, 126}, {-50, 134}, {-44, 134}, {-44, 134}}, color = {255, 0, 0})); + connect(S06.Out, dis1.In_s[1]) annotation( + Line(points = {{-110, 66}, {-108, 66}, {-108, 66}, {-106, 66}}, color = {0, 70, 70})); + connect(cooler1.Out, S06.In) annotation( + Line(points = {{-156, 68}, {-143, 68}, {-143, 66}, {-130, 66}}, color = {0, 70, 70})); + connect(cooler1.En, E01.In) annotation( + Line(points = {{-156, 58}, {-156, 28}}, color = {255, 0, 0})); + connect(S05.Out, cooler1.In) annotation( + Line(points = {{-194, 70}, {-176, 70}, {-176, 68}, {-176, 68}}, color = {0, 70, 70})); + connect(react1.Out, S05.In) annotation( + Line(points = {{-228, 70}, {-214, 70}}, color = {0, 70, 70})); + connect(S03.Out, react1.In) annotation( + Line(points = {{-254, 70}, {-248, 70}}, color = {0, 70, 70})); + connect(mix1.Out, S03.In) annotation( + Line(points = {{-294, 72}, {-274, 72}, {-274, 70}, {-274, 70}}, color = {0, 70, 70})); + connect(S02.Out, mix1.In[2]) annotation( + Line(points = {{-344, 40}, {-336, 40}, {-336, 72}, {-314, 72}, {-314, 72}}, color = {0, 70, 70})); + connect(S01.Out, mix1.In[1]) annotation( + Line(points = {{-344, 102}, {-320, 102}, {-320, 72}, {-314, 72}, {-314, 72}}, color = {0, 70, 70})); + // connections and values + S01.T = 298.15; + S01.P = 101325; + S01.F_p[1] = 2.10038; + S01.x_pc[1, :] = {0, 0, 0.25, 0.75}; + S12.T = 298.15; + S12.P = 101325; + S12.F_p[1] = 1.25998; + S12.x_pc[1, :] = {0, 1, 0, 0}; + S11.T = 353.169; + S11.P = 101325; + S11.F_p[1] = 3.7794; + S11.x_pc[1, :] = {0.00653, 0.99347, 0, 0}; + S06.T = 355.173; + S14.T = 343.817; + dis1.condenser.P = 101325; + dis1.reboiler.P = 101325; + dis1.RR = 5; + S08.F_p[1] = 5.03992; + dis2.condenser.P = 101325; + dis2.reboiler.P = 101325; + dis2.RR = 5; + S09.F_p[1] = 1.25998; + end flowsheet; + + + model react + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end react; +end CUMENE; diff --git a/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/README.txt b/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/README.txt new file mode 100755 index 0000000..12fc9c1 --- /dev/null +++ b/Production_Of_Cumene_From_Benzene_And_Propylene_By_Mr_Neel_Pulin_Modi/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Cumene from Benzene and Propylene +Proposar Name: Mr Neel Pulin Modi +University: Indian Institute of Technology, Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/Diethyl.mo b/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/Diethyl.mo new file mode 100755 index 0000000..ff80f49 --- /dev/null +++ b/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/Diethyl.mo @@ -0,0 +1,128 @@ +package Diethyl + model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end ms; + + model conv_react + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end conv_react; + + model Condenser + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condenser; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model DistColumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condenser condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumn; + + model flowsheet + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Ethanol eth; + parameter data.Water H2O; + parameter data.Diethylether Die; + parameter Integer Nc = 3; + parameter data.GeneralProperties C[Nc] = {eth, H2O ,Die}; + Diethyl.ms Feed(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-140, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mixer(C = C, NI = 2, Nc = Nc, outPress = "Inlet_Average") annotation( + Placement(visible = true, transformation(origin = {-88, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.ms M1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-44, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.conv_react ConvReact(BC_r = {1},C = C, CalcMode = "Isothermal", Coef_cr = {{-2}, {1}, {1}}, Nc = Nc, Nr = 1, Pdel = 0, X_r = {0.5}) annotation( + Placement(visible = true, transformation(origin = {18, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {8, -26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.ms M2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {68, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.DistColumn DC1(C = C, Ctype = "Total", InT_s = {8}, NQ = 0, Nc = Nc, Ni = 1, Nout = 0, Nt = 14) annotation( + Placement(visible = true, transformation(origin = {130, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.ms TOP1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {178, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.ms Bottom1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {180, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {172, 100}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {176, -20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.DistColumn DC2(C = C, Ctype = "Total", InT_s = {23}, NQ = 0, Nc = Nc, Ni = 1, Nout = 0, Nt = 31) annotation( + Placement(visible = true, transformation(origin = {228, 14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.ms TOP2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {282, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.ms Bottom2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {286, -16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {284, 74}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E5 annotation( + Placement(visible = true, transformation(origin = {276, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Diethyl.ms RE(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-132, 8}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + Feed.P=101325; + Feed.T=313.15; + Feed.F_p[1]=20; + Feed.x_pc[1,:]={0.85,0.25,0}; + RE.P=101325; + RE.T=313.15; + RE.F_p[1]=20.75; + RE.x_pc[1,:]={0.735076,0.262004,0.00291961}; + DC1.condenser.P = 101325; + DC1.reboiler.P = 101325; + DC1.RR = 1.606761; + Bottom1.F_p[1]=32.205; + DC2.condenser.P = 101325; + DC2.reboiler.P = 101325; + DC2.RR = 1.67341; + Bottom2.F_p[1]=11.45; + connect(Feed.Out, mixer.In[1]) annotation( + Line(points = {{-130, 38}, {-98, 38}, {-98, 36}, {-98, 36}}, color = {0, 70, 70})); + connect(mixer.Out, M1.In) annotation( + Line(points = {{-78, 36}, {-54, 36}}, color = {0, 70, 70})); + connect(M1.Out, ConvReact.In) annotation( + Line(points = {{-34, 36}, {8, 36}, {8, 42}, {8, 42}}, color = {0, 70, 70})); + connect(ConvReact.Out, M2.In) annotation( + Line(points = {{28, 42}, {58, 42}}, color = {0, 70, 70})); + connect(ConvReact.energy, E1.In) annotation( + Line(points = {{18, 30}, {-2, 30}, {-2, -26}, {-2, -26}}, color = {255, 0, 0})); + connect(M2.Out, DC1.In_s[1]) annotation( + Line(points = {{78, 42}, {104, 42}, {104, 40}, {106, 40}}, color = {0, 70, 70})); + connect(DC1.Dist, TOP1.In) annotation( + Line(points = {{156, 70}, {168, 70}}, color = {0, 70, 70})); + connect(Bottom1.In, DC1.Bot) annotation( + Line(points = {{170, 10}, {156, 10}}, color = {0, 70, 70})); + connect(DC1.Rduty, E3.In) annotation( + Line(points = {{156, -20}, {166, -20}}, color = {255, 0, 0})); + connect(DC1.Cduty, E2.In) annotation( + Line(points = {{156, 100}, {162, 100}}, color = {255, 0, 0})); + connect(Bottom1.Out, DC2.In_s[1]) annotation( + Line(points = {{190, 10}, {200.5, 10}, {200.5, 14}, {203, 14}}, color = {0, 70, 70})); + connect(DC2.Bot, Bottom2.In) annotation( + Line(points = {{253, -16}, {276, -16}}, color = {0, 70, 70})); + connect(DC2.Dist, TOP2.In) annotation( + Line(points = {{253, 44}, {272, 44}}, color = {0, 70, 70})); + connect(DC2.Rduty, E5.In) annotation( + Line(points = {{253, -46}, {266, -46}}, color = {255, 0, 0})); + connect(DC2.Cduty, E4.In) annotation( + Line(points = {{253, 74}, {274, 74}}, color = {255, 0, 0})); + connect(RE.Out, mixer.In[2]) annotation( + Line(points = {{-122, 8}, {-114, 8}, {-114, 36}, {-98, 36}, {-98, 36}}, color = {0, 70, 70})); + annotation( + Diagram(graphics = {Rectangle(extent = {{18, 44}, {18, 44}})}, coordinateSystem(initialScale = 0.1)));end flowsheet; + +end Diethyl; diff --git a/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/README.txt b/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..73221d6 --- /dev/null +++ b/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Diethyl Ether from Ethanol by Dehydration +Proposar Name: Mr Malapati Sree Harsha . +University: Sri Venkateswara University College of Engineering, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/abstract_diethylether.pdf b/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/abstract_diethylether.pdf new file mode 100755 index 0000000..7094b91 Binary files /dev/null and b/Production_Of_Diethyl_Ether_From_Ethanol_By_Dehydration_By_Mr_Malapati_Sree_Harsha/abstract_diethylether.pdf differ diff --git a/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Abstract.pdf b/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Abstract.pdf new file mode 100755 index 0000000..3829d47 Binary files /dev/null and b/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Abstract.pdf differ diff --git a/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Flowsheet.mo b/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Flowsheet.mo new file mode 100755 index 0000000..4cabd10 --- /dev/null +++ b/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/Dimethylether_Production_Flowsheet.mo @@ -0,0 +1,148 @@ +package Sample1 + model Test1 + //Shortcut column + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Dimethylether dimeth; + parameter data.Water wat; + parameter data.Methanol meth; + parameter Integer Nc = 3; + parameter data.GeneralProperties C[Nc] = {meth, dimeth, wat}; + //material stream + Sample1.ms S1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-428, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms S5(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-176, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms S2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-262, 64}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms S3(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-446, 118}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms S4(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-286, 130}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms S6(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-132, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms S7(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-16, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms S9(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {464, 144}, extent = {{-26, -26}, {26, 26}}, rotation = 0))); + Sample1.ms S10(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {489, 51}, extent = {{-43, -43}, {43, 43}}, rotation = 0))); + //Pumps + Simulator.UnitOperations.CentrifugalPump B1(Eff = 0.75, C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-367, 7}, extent = {{-15, -15}, {15, 15}}, rotation = 0))); + Simulator.UnitOperations.CentrifugalPump B2(Eff = 0.75, C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-380, 114}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); + //Energy streams + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {-376, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-395, -61}, extent = {{-33, -33}, {33, 33}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {-173, 15}, extent = {{-13, -13}, {13, 13}}, rotation = 0))); + Simulator.Streams.EnergyStream E5 annotation( + Placement(visible = true, transformation(origin = {78, 8}, extent = {{-12, -12}, {12, 12}}, rotation = 0))); + //Mixer + Simulator.UnitOperations.Mixer mixer1(C = C, Nc = Nc, NI = 2, outPress = "Inlet_Average") annotation( + Placement(visible = true, transformation(origin = {-228, 76}, extent = {{-20, -20}, {20, 20}}, rotation = 0))); + //Heater + Simulator.UnitOperations.Heater heater1(Pdel = 0, Eff = 1, C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-150, 156}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + //PFR + Simulator.UnitOperations.PFR.PFR R1(Af_r = {170034.17}, Basis = "Molar Concentration", C = C, Coef_cr = {{-2}, {1}, {1}}, DO_cr = {{1}, {0}, {0}}, Ef_r = {80787.7644}, Mode = "Isothermal", Nc = Nc, Nr = 1, Pdel = 90.56, Phase = "Mixture", Tdef = 638.8) annotation( + Placement(visible = true, transformation(origin = {-31, 85}, extent = {{-33, -33}, {33, 33}}, rotation = 0))); + //Cooler + Simulator.UnitOperations.Cooler cooler1(C = C, Eff = 1, Nc = Nc, Pdel = 303900) annotation( + Placement(visible = true, transformation(origin = {60, 180}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); + Sample1.ms S8(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {212, 102}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.fls F1(Nc = Nc, C = C, BTdef = false, BPdef=true,Pdef=225678) annotation( + Placement(visible = true, transformation(origin = {284, 148}, extent = {{-12, -12}, {12, 12}}, rotation = 0))); + Simulator.UnitOperations.CompoundSeparator Sep( C = C,Nc = Nc, SepFact_c = {"Molar_Flow", "Molar_Flow","Molar_Flow"}, SepStrm = 1) annotation( + Placement(visible = true, transformation(origin = {486, -42}, extent = {{-10, -20}, {10, 20}}, rotation = 0))); + Sample1.ms S11(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {578, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Sample1.ms ms1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {592, -88}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(mixer1.Out, S5.In) annotation( + Line(points = {{-208, 76}, {-208, 90}, {-186, 90}}, color = {0, 70, 70})); + connect(S5.Out, heater1.In) annotation( + Line(points = {{-166, 90}, {-166, 121}, {-160, 121}, {-160, 156}})); + connect(S3.Out, B2.In) annotation( + Line(points = {{-436, 118}, {-415, 118}, {-415, 116}, {-394, 116}}, color = {0, 70, 70})); + connect(S7.Out, cooler1.In) annotation( + Line(points = {{-6, 26}, {35, 26}, {35, 180}, {46, 180}}, color = {0, 70, 70})); + connect(R1.Out, S7.In) annotation( + Line(points = {{2, 85}, {-26, 85}, {-26, 26}}, color = {0, 70, 70})); + connect(S4.Out, mixer1.In[1]) annotation( + Line(points = {{-276, 130}, {-260, 130}, {-260, 76}, {-248, 76}}, color = {0, 70, 70})); + connect(S2.Out, mixer1.In[2]) annotation( + Line(points = {{-252, 64}, {-252, 70}, {-248, 70}, {-248, 76}}, color = {0, 70, 70})); + connect(heater1.En, E3.Out) annotation( + Line(points = {{-160, 146}, {-160, 15}})); + connect(B2.Out, S4.In) annotation( + Line(points = {{-366, 128}, {-331, 128}, {-331, 130}, {-296, 130}}, color = {0, 70, 70})); + connect(F1.Out1, S9.In) annotation( + Line(points = {{296, 158}, {377, 158}, {377, 144}, {438, 144}}, color = {0, 70, 70})); + connect(S8.Out, F1.In) annotation( + Line(points = {{222, 102}, {241, 102}, {241, 148}, {272, 148}}, color = {0, 70, 70})); + connect(F1.Out2, S10.In) annotation( + Line(points = {{296, 138}, {446, 138}, {446, 51}}, color = {0, 70, 70})); + connect(cooler1.Out, S8.In) annotation( + Line(points = {{74, 180}, {91, 180}, {91, 102}, {202, 102}}, color = {0, 70, 70})); + connect(S6.Out, R1.In) annotation( + Line(points = {{-122, 78}, {-93, 78}, {-93, 86}, {-64, 86}}, color = {0, 70, 70})); + connect(E5.Out, cooler1.En) annotation( + Line(points = {{90, 8}, {90, 62}, {74, 62}, {74, 166}}, color = {255, 0, 0})); + connect(S1.Out, B1.In) annotation( + Line(points = {{-418, -2}, {-418, 8.25}, {-418, 8.25}, {-418, 18.5}, {-382, 18.5}, {-382, 9}}, color = {0, 70, 70})); + connect(B1.Out, S2.In) annotation( + Line(points = {{-352, 22}, {-307, 22}, {-307, 64}, {-272, 64}}, color = {0, 70, 70})); + connect(heater1.Out, S6.In) annotation( + Line(points = {{-140, 156}, {-143, 156}, {-143, 77.8}, {-142, 77.8}})); + connect(E1.Out, B1.En) annotation( + Line(points = {{-362, -61}, {-362, -3.5}, {-367, -3.5}}, color = {255, 0, 0})); + connect(B2.En, E2.Out) annotation( + Line(points = {{-380, 104.2}, {-380, 76.2}, {-380, 76.2}, {-380, 46.2}, {-366, 46.2}, {-366, 40.2}}, color = {255, 0, 0})); +//Inputs and Specifications + S1.F_p[1] = 138.8889; + S1.x_pc[1, :] = {1, 0, 0}; + S1.P = 101325; + S1.T = 320; + S3.F_p[1] = 28.6111; + S3.x_pc[1, :] = {0.99, 0, 0.01}; + S3.P = 101325; + S3.T = 339; + S2.P = 1367888; + S4.P = 1367888; + S6.T = 628; + R1.X_r[1] = 0.65; + S8.T = 307; + Sep.SepVal_c = {116, 1,1}; + connect(S10.Out, Sep.In) annotation( + Line(points = {{532, 52}, {630, 52}, {630, 8}, {284, 8}, {284, -42}, {476, -42}, {476, -42}}, color = {0, 70, 70})); + connect(Sep.Out1,S11.In) annotation( + Line(points = {{496, -34}, {524, -34}, {524, -14}, {568, -14}, {568, -14}, {568, -14}}, color = {0, 70, 70})); + connect(Sep.Out2, ms1.In) annotation( + Line(points = {{496, -50}, {528, -50}, {528, -88}, {582, -88}, {582, -88}}, color = {0, 70, 70})); + end Test1; + + + + + + model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end ms; + + model Shortcut + extends Simulator.UnitOperations.ShortcutColumn; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Shortcut; + + model fls + extends Simulator.UnitOperations.Flash; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end fls; +end Sample1; diff --git a/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/README.txt b/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/README.txt new file mode 100755 index 0000000..19240b8 --- /dev/null +++ b/Production_Of_Dimethyl_Ether_By_Ms_Ayushi_Sinha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Dimethyl Ether +Proposar Name: Ms Ayushi Sinha +University: National Institute of Technology Warangal + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/README.txt b/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..65d3f2c --- /dev/null +++ b/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Ethyl Chloride from Ethylene involving Recycle Stream +Proposar Name: Mr Malapati Sree Harsha +University: SRI VENKATESWARA UNIVERSITY + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/abstract.pdf b/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/abstract.pdf new file mode 100755 index 0000000..36dd26e Binary files /dev/null and b/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/abstract.pdf differ diff --git a/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/ethylchloride.mo b/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/ethylchloride.mo new file mode 100755 index 0000000..f95ff08 --- /dev/null +++ b/Production_Of_Ethyl_Chloride_From_Ethylene_Involving_Recycle_Stream_By_Mr_Malapati_Sree_Harsha/ethylchloride.mo @@ -0,0 +1,130 @@ +package ethylchloride + model material + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end material; + + model ConvReact + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end ConvReact; + + model fls + extends Simulator.UnitOperations.Flash; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end fls; + + model compres + extends Simulator.UnitOperations.AdiabaticCompressor; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end compres; + + model Exp + extends Simulator.UnitOperations.AdiabaticExpander; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Exp; + + model flowsheet + import data = Simulator.Files.ChemsepDatabase; + parameter data.Hydrogenchloride Hcl; + parameter data.Nitrogen N2; + parameter data.Ethylene eth; + parameter data.Ethylchloride ethcl; + parameter Integer Nc = 4; + parameter data.GeneralProperties C[Nc] = {Hcl, N2, eth, ethcl}; + ethylchloride.material Feed(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-140, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer Mixer(C = C, NI = 2, Nc = Nc, outPress = "Inlet_Minimum") annotation( + Placement(visible = true, transformation(origin = {-92, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material M2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-48, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.ConvReact Reactor(BC_r = {3}, C = C, CalcMode = "Isothermal", Coef_cr = {{-1}, {0}, {-1}, {1}}, Nc = Nc, Nr = 1, Pdel = 0, Tdef = 320, X_r = {0.96298}) annotation( + Placement(visible = true, transformation(origin = {-4, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-16, -100}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material M3(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {30, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.compres Compressor(C = C, Eff = 0.75, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {72, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material M4(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {106, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {58, -94}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler Cooler(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {132, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {132, -94}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material M5(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {164, -56}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.fls Flash(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {196, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material M6(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {234, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material M7(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {238, -72}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Splitter Splitter(C = C, CalcType = "Split_Ratio", Nc = Nc, No = 2) annotation( + Placement(visible = true, transformation(origin = {-98, 18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material M8(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-54, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material Purge(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-56, 2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethylchloride.material Re(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-138, -76}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + Feed.P = 101325; + Feed.T = 298.15; + Feed.F_p[1] = 50; + Feed.x_pc[1, :] = {0.5, 0.02, 0.48, 0}; + Re.P = 101325; + Re.T = 298.15; + Re.F_p[1] = 1.23022; + Re.x_pc[1, :] = {0.134095,0.721167,0.083804,0.0609338}; + Compressor.Pout = 2026500; + Cooler.Tout = 293.15; + Splitter.SplRat_s = {0.49, 0.51}; +//exp1.Pdel = 1925175; +//Heater.Tout = 298.15; +//Reactor.Tout = 320; +//Reactor.Pout=101325; + connect(Feed.Out, Mixer.In[1]) annotation( + Line(points = {{-130, -60}, {-102, -60}}, color = {0, 70, 70})); + // connect(Mixer.Out, M2.In) annotation( + // Line(points = {{-82, -60}, {-58, -60}}, color = {0, 70, 70})); + connect(M2.Out, Reactor.In) annotation( + Line(points = {{-38, -60}, {-26, -60}, {-26, -58}, {-14, -58}}, color = {0, 70, 70})); + connect(Reactor.energy, E1.Out) annotation( + Line(points = {{-4, -71}, {-4, -87.5}, {-6, -87.5}, {-6, -100}}, color = {255, 0, 0})); + connect(Reactor.Out, M3.In) annotation( + Line(points = {{6, -58}, {13, -58}, {13, -60}, {20, -60}}, color = {0, 70, 70})); + connect(Mixer.Out, M2.In) annotation( + Line(points = {{-82, -60}, {-58, -60}, {-58, -60}, {-58, -60}}, color = {0, 70, 70})); + connect(M2.Out, Reactor.In) annotation( + Line(points = {{-38, -60}, {-26, -60}, {-26, -58}, {-14, -58}}, color = {0, 70, 70})); + connect(M3.Out, Compressor.In) annotation( + Line(points = {{40, -60}, {62, -60}}, color = {0, 70, 70})); + connect(E3.Out, Compressor.En) annotation( + Line(points = {{68, -94}, {72, -94}, {72, -66}, {72, -66}}, color = {255, 0, 0})); + connect(Compressor.Out, M4.In) annotation( + Line(points = {{82, -60}, {96, -60}, {96, -58}, {96, -58}}, color = {0, 70, 70})); + connect(M4.Out, Cooler.In) annotation( + Line(points = {{116, -58}, {122, -58}, {122, -58}, {122, -58}}, color = {0, 70, 70})); + connect(Cooler.En, E4.Out) annotation( + Line(points = {{142, -68}, {142, -94}}, color = {255, 0, 0})); + connect(Cooler.Out, M5.In) annotation( + Line(points = {{142, -58}, {154, -58}, {154, -56}, {154, -56}}, color = {0, 70, 70})); + connect(M5.Out, Flash.In) annotation( + Line(points = {{174, -56}, {186, -56}, {186, -58}, {186, -58}}, color = {0, 70, 70})); + connect(Flash.Out1, M6.In) annotation( + Line(points = {{206, -50}, {224, -50}, {224, -50}, {224, -50}}, color = {0, 70, 70})); + connect(Flash.Out2, M7.In) annotation( + Line(points = {{206, -66}, {226, -66}, {226, -72}, {228, -72}}, color = {0, 70, 70})); + connect(M6.Out, Splitter.In) annotation( + Line(points = {{244, -50}, {258, -50}, {258, -12}, {-140, -12}, {-140, 18}, {-108, 18}, {-108, 18}}, color = {0, 70, 70})); + connect(Splitter.Out[1], M8.In) annotation( + Line(points = {{-88, 18}, {-66, 18}, {-66, 32}, {-64, 32}}, color = {0, 70, 70})); + connect(Splitter.Out[2], Purge.In) annotation( + Line(points = {{-88, 18}, {-64, 18}, {-64, 2}, {-66, 2}, {-66, 2}}, color = {0, 70, 70})); + connect(Re.Out, Mixer.In[2]) annotation( + Line(points = {{-128, -76}, {-102, -76}, {-102, -60}, {-102, -60}}, color = {0, 70, 70})); + end flowsheet; +end ethylchloride; diff --git a/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/Abstract.pdf b/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/Abstract.pdf new file mode 100755 index 0000000..7c7cde9 Binary files /dev/null and b/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/Abstract.pdf differ diff --git a/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/README.txt b/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..34dfa81 --- /dev/null +++ b/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Ethylene Oxide +Proposar Name: Mr Malapati Sree Harsha +University: Sri Venkateswara University College of Engineering, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/ethyleneOxide.mo b/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/ethyleneOxide.mo new file mode 100755 index 0000000..9231f8c --- /dev/null +++ b/Production_Of_Ethylene_Oxide_By_Mr_Malapati_Sree_Harsha/ethyleneOxide.mo @@ -0,0 +1,108 @@ +package ethyleneOxide + model material + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end material; + + model ConvReact + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end ConvReact; + + model Condenser + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condenser; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model DistColumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condenser condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumn; + + + model flowsheet + import data = Simulator.Files.ChemsepDatabase; + parameter data.Ethylene eth; + parameter data.Ethyleneoxide etho; + parameter data.Oxygen O2; + parameter Integer Nc = 3; + parameter data.GeneralProperties C[Nc] = {eth,etho,O2}; + ethyleneOxide.material Oxygen1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-162, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethyleneOxide.material Ethylene1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-166, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer Mixer(C = C, NI = 2, Nc = Nc, outPress = "Inlet_Average") annotation( + Placement(visible = true, transformation(origin = {-80, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethyleneOxide.material Feed(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-46, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethyleneOxide.ConvReact CnvReact(BC_r = {1}, C = C, CalcMode = "Isothermal", Coef_cr = {{-1}, {1}, {-0.5}}, Nc = Nc, Nr = 1, Pdel = 0, X_r = {0.7}) annotation( + Placement(visible = true, transformation(origin = {8, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-106, -52}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethyleneOxide.material M1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {44, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethyleneOxide.DistColumn DC1(C = C, Ctype = "Total", InT_s = {2}, Nc = Nc, Ni = 1, Nt = 3) annotation( + Placement(visible = true, transformation(origin = {90, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethyleneOxide.material Top(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {152, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + ethyleneOxide.material Bottom(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {152, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {140, 74}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {118, -82}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + Oxygen1.P = 101325; + Oxygen1.T = 298.15; + Oxygen1.F_p[1] = 40; + Oxygen1.x_pc[1, :] = {0, 0, 1}; + Ethylene1.P = 101325; + Ethylene1.T = 298.15; + Ethylene1.F_p[1] = 50; + Ethylene1.x_pc[1, :] = {1, 0, 0}; + DC1.condenser.P = 101325; + DC1.reboiler.P = 101325; + DC1.RR = 1.5; + Bottom.F_p[1] = 30; +//DC2.condenser.P = 101325; +//DC2.reboiler.P = 101325; +//DC2.RR = 0.5; +//Bottom1.F_p[1] = 15; + connect(Oxygen1.Out, Mixer.inlet[1]) annotation( + Line(points = {{-152, 20}, {-90, 20}}, color = {0, 70, 70})); + connect(Ethylene1.Out, Mixer.inlet[2]) annotation( + Line(points = {{-156, -2}, {-89, -2}, {-89, 20}, {-90, 20}}, color = {0, 70, 70})); + connect(Mixer.outlet, Feed.In) annotation( + Line(points = {{-70, 20}, {-70, 19}, {-56, 19}, {-56, 16}}, color = {0, 70, 70})); + connect(Feed.Out, CnvReact.In) annotation( + Line(points = {{-36, 16}, {-2, 16}, {-2, 16}, {-2, 16}}, color = {0, 70, 70})); + connect(Feed.Out, CnvReact.In) annotation( + Line(points = {{-36, 16}, {-2, 16}, {-2, 16}, {-2, 16}}, color = {0, 70, 70})); + connect(E1.Out, CnvReact.energy) annotation( + Line(points = {{-96, -52}, {6, -52}, {6, 4}, {8, 4}}, color = {255, 0, 0})); + connect(CnvReact.Out, M1.In) annotation( + Line(points = {{18, 16}, {34, 16}, {34, 16}, {34, 16}}, color = {0, 70, 70})); + connect(M1.Out, DC1.In_s[1]) annotation( + Line(points = {{54, 16}, {64, 16}, {64, 16}, {66, 16}}, color = {0, 70, 70})); + connect(DC1.Cduty, E2.In) annotation( + Line(points = {{116, 76}, {123, 76}, {123, 74}, {130, 74}}, color = {255, 0, 0})); + connect(DC1.Dist, Top.In) annotation( + Line(points = {{116, 46}, {129, 46}, {129, 42}, {142, 42}}, color = {0, 70, 70})); + connect(DC1.Bot, Bottom.In) annotation( + Line(points = {{116, -14}, {142, -14}}, color = {0, 70, 70})); + connect(DC1.Rduty, E3.Out) annotation( + Line(points = {{116, -44}, {128, -44}, {128, -82}, {128, -82}}, color = {255, 0, 0})); + end flowsheet; +end ethyleneOxide; diff --git a/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_System.pdf b/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_System.pdf new file mode 100755 index 0000000..4c3b58f Binary files /dev/null and b/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_System.pdf differ diff --git a/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_system.mo b/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_system.mo new file mode 100755 index 0000000..0cdfb9e --- /dev/null +++ b/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/Methanation_system.mo @@ -0,0 +1,128 @@ +package test + model MS + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end MS; + + model flowsheet + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Carbonmonoxide cmo; + parameter data.Hydrogen hyd; + parameter data.Methane meth; + parameter data.Water wat; + parameter Integer Nc = 4; + parameter data.GeneralProperties C[Nc] = {cmo, hyd, meth, wat}; + //mixer + test.MS S1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-97, 85}, extent = {{-5, -5}, {5, 5}}, rotation = 0))); + test.MS S2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-83, 71}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); + Simulator.UnitOperations.Mixer B1(Nc = Nc, NI = 2, C = C, outPress = "Inlet_Average") annotation( + Placement(visible = true, transformation(origin = {-61, 79}, extent = {{-5, -5}, {5, 5}}, rotation = 0))); + test.MS S7(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-45, 75}, extent = {{-5, -5}, {5, 5}}, rotation = 0))); + // reactor + test.MS S4(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {4, 78}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + test.ConvReactor B2(Nc = Nc, C = C, Nr = 1, BC_r = {1}, Coef_cr = {{-1}, {-3}, {1}, {1}}, X_r = {0.37}, CalcMode = "Adiabatic") annotation( + Placement(visible = true, transformation(origin = {-22, 80}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-16, 64}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + //cooler + Simulator.UnitOperations.Cooler B3(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {30, 72}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + test.MS S6(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {49, 71}, extent = {{-5, -5}, {5, 5}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {42, 60}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); + //splitter + test.MS S9(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {96, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + test.MS S10(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {56, 36}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); + Simulator.UnitOperations.Splitter B4(Nc = Nc, C = C, No = 2, CalcType = "Molar_Flow") annotation( + Placement(visible = true, transformation(origin = {83, 61}, extent = {{-7, -7}, {7, 7}}, rotation = -90))); + //cs + test.MS S12(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-8, 48}, extent = {{8, -8}, {-8, 8}}, rotation = 0))); + test.MS S13(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-10, 38}, extent = {{8, -8}, {-8, 8}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {6, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.CompoundSeparator B5(C = C, Nc = Nc, SepFact_c = {"Molar_Flow", "Molar_Flow", "Molar_Flow", "Molar_Flow"}, SepStrm = 1) annotation( + Placement(visible = true, transformation(origin = {20.5, 43}, extent = {{6.5, -13}, {-6.5, 13}}, rotation = 0))); + //cooler 2 + test.MS S15(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-68, 46}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {-69, 17}, extent = {{-9, -9}, {9, 9}}, rotation = 0))); + Simulator.UnitOperations.Cooler B6(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {-53, 47}, extent = {{7, -7}, {-7, 7}}, rotation = 0))); + equation + connect(B1.Out, S7.In) annotation( + Line(points = {{-56, 79}, {-56, 76}, {-50, 76}, {-50, 75}}, color = {0, 70, 70})); + connect(S2.Out, B1.In[2]) annotation( + Line(points = {{-76, 71}, {-76, 79}, {-66, 79}}, color = {0, 70, 70})); + connect(S1.Out, B1.In[1]) annotation( + Line(points = {{-92, 85}, {-81.5, 85}, {-81.5, 79}, {-66, 79}}, color = {0, 70, 70})); +//reactor + connect(B2.Out, S4.In) annotation( + Line(points = {{-16, 80}, {-9, 80}, {-9, 78}, {-2, 78}}, color = {0, 70, 70})); + connect(B2.energy, E1.In) annotation( + Line(points = {{-22, 72}, {-22, 64}}, color = {255, 0, 0})); + connect(B2.In, S7.Out) annotation( + Line(points = {{-28, 80}, {-28, 75}, {-40, 75}}, color = {0, 70, 70})); +//cooler + connect(B3.En, E2.In) annotation( + Line(points = {{36, 66}, {36, 60}}, color = {255, 0, 0})); + connect(B3.Out, S6.In) annotation( + Line(points = {{36, 72}, {42, 72}, {42, 71}, {44, 71}})); +//splitter + connect(B4.Out[2], S10.In) annotation( + Line(points = {{83, 54}, {83, 36}, {66, 36}}, color = {0, 70, 70})); + connect(B4.Out[1], S9.In) annotation( + Line(points = {{83, 54}, {86, 54}, {86, 24}}, color = {0, 70, 70})); +//cs + connect(B5.Out1, S12.In) annotation( + Line(points = {{14, 48}, {0, 48}})); + connect(B5.Out2, S13.In) annotation( + Line(points = {{14, 38}, {-2, 38}})); + connect(E3.Out, B5.En) annotation( + Line(points = {{16, 22}, {16, 11.5}, {20.5, 11.5}, {20.5, 35}}, color = {255, 0, 0})); +//heater + connect(E4.Out, B6.En) annotation( + Line(points = {{-60, 17}, {-49, 17}, {-49, 40}, {-60, 40}}, color = {255, 0, 0})); + connect(B6.Out, S15.In) annotation( + Line(points = {{-60, 47}, {-51, 47}, {-51, 46}, {-58, 46}}, color = {0, 70, 70})); + S1.P = 92350.0; + S2.P = 92350.0; + S1.T = 366.4833; + S2.T = 310.9277; + S1.F_p[1] = 54.6161; + S2.F_p[1] = 122.95825; + S1.x_pc[1, :] = {.246177, .71394, .039883, 0.0}; + S2.x_pc[1, :] = {0.1205471, 0.3025454, 0.566898, 0.0100096}; + connect(B2.energy, E1.In) annotation( + Line(points = {{-22, 72}, {-22, 64}}, color = {255, 0, 0})); + connect(B2.In, S7.Out) annotation( + Line(points = {{-28, 80}, {-28, 75}, {-40, 75}}, color = {0, 70, 70})); + B3.Q = 1950500; + connect(S4.Out, B3.In) annotation( + Line(points = {{10, 78}, {24, 78}, {24, 72}, {24, 72}}, color = {0, 70, 70})); + B4.SpecVal_s = {24.438336, 132.217664}; + connect(S6.Out, B4.In) annotation( + Line(points = {{54, 72}, {62, 72}, {62, 68}, {83, 68}}, color = {0, 70, 70})); + B5.SepVal_c = {0, 0, 0, 8.92331}; + connect(S10.Out, B5.In) annotation( + Line(points = {{46, 36}, {40, 36}, {40, 43}, {27, 43}}, color = {0, 70, 70})); + B6.Q = 231675.34; + connect(S13.Out, B6.In) annotation( + Line(points = {{-18, 38}, {-46, 38}, {-46, 47}}, color = {0, 70, 70})); + end flowsheet; + + model ConvReactor + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end ConvReactor; +end test; diff --git a/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/README.txt b/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/README.txt new file mode 100755 index 0000000..0cd6bc6 --- /dev/null +++ b/Production_Of_Methane_From_Carbon_Monoxide_And_Hydrogen_By_Mr_Aradhyula_Venkata_Sri_Surya_Praneeth/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Methane from Carbon Monoxide and Hydrogen +Proposar Name: Mr Aradhyula Venkata Sri Surya Praneeth +University: National Institute of Technology Warangal + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/Abstract.pdf b/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/Abstract.pdf new file mode 100755 index 0000000..12915c8 Binary files /dev/null and b/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/Abstract.pdf differ diff --git a/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/README.txt b/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/README.txt new file mode 100755 index 0000000..6094abf --- /dev/null +++ b/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Methanol +Proposar Name: Mr Neel Pulin Modi +University: Indian Institute of Technology Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/methanolNew.mo b/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/methanolNew.mo new file mode 100755 index 0000000..4771b40 --- /dev/null +++ b/Production_Of_Methanol_By_Mr_Neel_Pulin_Modi/methanolNew.mo @@ -0,0 +1,99 @@ +package methanol + model Matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Matstream; + + model flash + extends Simulator.UnitOperations.Flash; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end flash; + + model Flowsheet + parameter Integer Nc = 3; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Carbonmonoxide co; + parameter data.Hydrogen hy; + parameter data.Methanol moh; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {co, hy, moh}; + methanol.Matstream S01(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-140, 52}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.Matstream S02(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-138, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.Matstream S03(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-86, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mix1(Nc = Nc, C = C, NI = 2, outPress = "Inlet_Minimum") annotation( + Placement(visible = true, transformation(origin = {-106, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream1 annotation( + Placement(visible = true, transformation(origin = {-82, -22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater heater1(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-62, 18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.Matstream S04(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-38, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.Matstream S05(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {22, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.conv_react conv_react1(Nc = Nc, C = C, Nr = 1, BC_r = {1}, Coef_cr = {{-1}, {-2}, {1}}, X_r = {0.59972}, CalcMode = "Isothermal", Tdef = 300) annotation( + Placement(visible = true, transformation(origin = {-10, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler1(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {50, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.Matstream S06(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {76, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream2 annotation( + Placement(visible = true, transformation(origin = {70, -22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.Matstream S07(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {140, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + methanol.Matstream S08(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {142, 4}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.CompoundSeparator cs1(Nc = Nc, C = C, SepFact_c = {"Molar_Flow", "Molar_Flow", "Molar_Flow"}, SepStrm = 1) annotation( + Placement(visible = true, transformation(origin = {108, 24}, extent = {{-10, -20}, {10, 20}}, rotation = 0))); + equation + connect(cs1.Out2, S08.In) annotation( + Line(points = {{118, 16}, {132, 16}, {132, 4}, {132, 4}}, color = {0, 70, 70})); + connect(cs1.Out1, S07.In) annotation( + Line(points = {{118, 32}, {130, 32}, {130, 46}, {130, 46}}, color = {0, 70, 70})); + connect(S06.Out, cs1.In) annotation( + Line(points = {{86, 22}, {100, 22}, {100, 24}, {98, 24}, {98, 24}}, color = {0, 70, 70})); + connect(energyStream1.Out, heater1.En) annotation( + Line(points = {{-72, -22}, {-72, 8}}, color = {255, 0, 0})); + connect(cooler1.En, energyStream2.In) annotation( + Line(points = {{60, 12}, {60, -22}}, color = {255, 0, 0})); + connect(cooler1.Out, S06.In) annotation( + Line(points = {{60, 22}, {66, 22}, {66, 22}, {66, 22}}, color = {0, 70, 70})); + connect(S05.Out, cooler1.In) annotation( + Line(points = {{32, 22}, {35, 22}, {35, 22}, {40, 22}, {40, 22}, {40, 22}, {40, 22}, {40, 22}}, color = {0, 70, 70})); + connect(conv_react1.Out, S05.In) annotation( + Line(points = {{0, 22}, {12, 22}}, color = {0, 70, 70})); + connect(S04.Out, conv_react1.In) annotation( + Line(points = {{-28, 22}, {-20, 22}}, color = {0, 70, 70})); + connect(heater1.Out, S04.In) annotation( + Line(points = {{-52, 18}, {-52, 23}, {-48, 23}, {-48, 22}}, color = {0, 70, 70})); + connect(S03.Out, heater1.In) annotation( + Line(points = {{-76, 26}, {-76, 21}, {-72, 21}, {-72, 18}}, color = {0, 70, 70})); + connect(mix1.Out, S03.In) annotation( + Line(points = {{-96, 26}, {-96, 26}}, color = {0, 70, 70})); + connect(S01.Out, mix1.In[1]) annotation( + Line(points = {{-130, 52}, {-116, 52}, {-116, 26}}, color = {0, 70, 70})); + connect(S02.Out, mix1.In[2]) annotation( + Line(points = {{-128, -4}, {-128, 26}, {-116, 26}}, color = {0, 70, 70})); + S01.F_p[1] = 5325.12; + S01.T = 298.15; + S01.x_pc[1, :] = {0.3333, 0.6667, 0}; + S01.P = 6000000; + S02.F_p[1] = 3555.31; + S02.T = 273.15; + S02.x_pc[1, :] = {0.33291, 0.666355, 0.000735}; + S02.P = 6000000; + heater1.Tout = 523.15; + cooler1.Tout = 273.15; + cs1.SepVal_c = {1183.1774, 2369.072, 2.3528}; + end Flowsheet; + + + + + + model conv_react + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end conv_react; +end methanol; diff --git a/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/Flowsheet_ProductionOfParaxylene.mo b/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/Flowsheet_ProductionOfParaxylene.mo new file mode 100755 index 0000000..ace41ab --- /dev/null +++ b/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/Flowsheet_ProductionOfParaxylene.mo @@ -0,0 +1,190 @@ +package pxylene1 + model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end ms; + + model pfr + extends Simulator.UnitOperations.PFR.PFR; + extends Simulator.Files.Models.ReactionManager.KineticReaction; + end pfr; + + model Condenser + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Condenser; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Reboiler; + + model DistColumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condenser condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumn; + + + + model flowsheet + import data = Simulator.Files.ChemsepDatabase; + parameter data.Toluene tol; + parameter data.Methanol meth; + parameter data.Pxylene pxy; + parameter data.Water wat; + parameter Integer Nc = 4; + parameter data.GeneralProperties C[Nc] = {tol, meth, pxy, wat}; + pxylene1.ms s1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-86, 86}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-84, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.CentrifugalPump pump1(Nc = Nc, C = C, Eff = 0.75) annotation( + Placement(visible = true, transformation(origin = {-50, 86}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.CentrifugalPump pump2(Nc = Nc, C = C, Eff = 0.75) annotation( + Placement(visible = true, transformation(origin = {-46, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s3(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-16, 96}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s4(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-18, 54}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e1 annotation( + Placement(visible = true, transformation(origin = {-78, 64}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e2 annotation( + Placement(visible = true, transformation(origin = {-76, 14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater heater1(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {16, 96}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e3 annotation( + Placement(visible = true, transformation(origin = {-6, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s5(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {56, 84}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Heater heater2(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {22, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e4 annotation( + Placement(visible = true, transformation(origin = {6, 6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s6(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {56, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mixer(C = C, NI = 2, Nc = Nc, outPress = "Inlet_Average") annotation( + Placement(visible = true, transformation(origin = {102, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s7(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {126, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.pfr pfr1(Af_r = {408}, Basis = "Molar Concentration", C = C, Coef_cr = {{-1}, {-1}, {1}, {1}}, DO_cr = {{1}, {1}, {0}, {0}}, Ef_r = {46.1}, Mode = "Isotharmal", Nc = Nc, Nr = 1, Phase = "Vapor") annotation( + Placement(visible = true, transformation(origin = {180, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s8(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {234, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e5 annotation( + Placement(visible = true, transformation(origin = {170, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s9(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {2, -44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Cooler cooler(C = C, Eff = 1, Nc = Nc, Pdel = 0) annotation( + Placement(visible = true, transformation(origin = {-44, -44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e6 annotation( + Placement(visible = true, transformation(origin = {-22, -80}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.DistColumn distColumn(C = C, Ctype = "Total", InT_s = {7}, Nc = Nc, Ni = 1, Nt = 14) annotation( + Placement(visible = true, transformation(origin = {71, -45}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); + pxylene1.ms s10(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {112, -32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s11(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {112, -80}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e7 annotation( + Placement(visible = true, transformation(origin = {116, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream e8 annotation( + Placement(visible = true, transformation(origin = {108, -104}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.CompoundSeparator compoundSeparator(C = C, Nc = Nc, SepFact_c = {"Molar_Flow", "Molar_Flow", "Molar_Flow", "Molar_Flow"}, SepStrm = 1) annotation( + Placement(visible = true, transformation(origin = {190, -32}, extent = {{-10, -20}, {10, 20}}, rotation = 0))); + Simulator.Streams.EnergyStream e9 annotation( + Placement(visible = true, transformation(origin = {180, -70}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s12(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {224, -24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + pxylene1.ms s13(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {222, -40}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + s1.P = 101325; + s1.T = 298.15; + s1.Fm_p[1] = 4.833E3; + s1.x_pc[1, :] = {1, 0, 0, 0}; + s2.P = 101325; + s2.T = 298.15; + s2.F_p[1] = 109.347; + s2.x_pc[1, :] = {0, 1, 0, 0}; + pump1.Pdel = 101325; + pump2.Pdel = 101325; + heater1.Tout = 673.15; + heater2.Tout = 673.15; + cooler.Tout = 323.15; + pfr1.X_r[1] = 0.999; + distColumn.condenser.P = 101325; + distColumn.reboiler.P = 101325; + distColumn.RR = 3.68303; + s11.F_p[1] = 106.509; + compoundSeparator.SepVal_c = {0, 0, 51.6219, 0}; +// s10.x_pc[1, 2] = 0.99; +// s11.x_pc[1, 4] = 0.487; + connect(s1.Out, pump1.In) annotation( + Line(points = {{-76, 86}, {-68, 86}, {-68, 88}, {-60, 88}}, color = {0, 70, 70})); + connect(s2.Out, pump2.In) annotation( + Line(points = {{-74, 46}, {-56, 46}}, color = {0, 70, 70})); + connect(pump2.Out, s4.In) annotation( + Line(points = {{-36, 54}, {-28, 54}}, color = {0, 70, 70})); + connect(pump1.Out, s3.In) annotation( + Line(points = {{-40, 96}, {-26, 96}}, color = {0, 70, 70})); + connect(pump1.En, e1.Out) annotation( + Line(points = {{-50, 79}, {-68, 79}, {-68, 64}}, color = {255, 0, 0})); + connect(pump2.En, e2.Out) annotation( + Line(points = {{-46, 37}, {-66, 37}, {-66, 14}}, color = {255, 0, 0})); + connect(s3.Out, heater1.In) annotation( + Line(points = {{-6, 96}, {6, 96}}, color = {0, 70, 70})); + connect(heater1.En, e3.Out) annotation( + Line(points = {{6, 86}, {6, 78}, {4, 78}, {4, 70}}, color = {255, 0, 0})); + connect(heater1.Out, s5.In) annotation( + Line(points = {{26, 96}, {46, 96}, {46, 84}}, color = {0, 70, 70})); + connect(s4.Out, heater2.In) annotation( + Line(points = {{-8, 54}, {12, 54}, {12, 40}}, color = {0, 70, 70})); + connect(heater2.En, e4.Out) annotation( + Line(points = {{12, 30}, {16, 30}, {16, 6}}, color = {255, 0, 0})); + connect(heater2.Out, s6.In) annotation( + Line(points = {{32, 40}, {46, 40}, {46, 38}}, color = {0, 70, 70})); + connect(s5.Out, mixer.In[1]) annotation( + Line(points = {{66, 84}, {92, 84}, {92, 46}}, color = {0, 70, 70})); + connect(s6.Out, mixer.In[2]) annotation( + Line(points = {{66, 38}, {92, 38}, {92, 46}}, color = {0, 70, 70})); + connect(mixer.Out, s7.In) annotation( + Line(points = {{112, 46}, {116, 46}}, color = {0, 70, 70})); + connect(s7.Out, pfr1.In) annotation( + Line(points = {{136, 46}, {145, 46}}, color = {0, 70, 70})); + connect(pfr1.Out, s8.In) annotation( + Line(points = {{215, 46}, {224, 46}}, color = {0, 70, 70})); + connect(pfr1.En, e5.Out) annotation( + Line(points = {{180, 46}, {180, 10}}, color = {255, 0, 0})); + connect(s8.Out, cooler.In) annotation( + Line(points = {{244, 46}, {254, 46}, {254, 0}, {-56, 0}, {-56, -44}, {-54, -44}}, color = {0, 70, 70})); + connect(cooler.Out, s9.In) annotation( + Line(points = {{-34, -44}, {-8, -44}}, color = {0, 70, 70})); + connect(cooler.En, e6.Out) annotation( + Line(points = {{-34, -54}, {-12, -54}, {-12, -80}}, color = {255, 0, 0})); + connect(s9.Out, distColumn.In_s[1]) annotation( + Line(points = {{12, -44}, {32, -44}, {32, -45}, {53.5, -45}}, color = {0, 70, 70})); + connect(distColumn.Cduty, e7.In) annotation( + Line(points = {{88.5, -3}, {101, -3}, {101, -8}, {106, -8}}, color = {255, 0, 0})); + connect(distColumn.Rduty, e8.In) annotation( + Line(points = {{88.5, -87}, {97, -87}, {97, -104}, {98, -104}}, color = {255, 0, 0})); + connect(distColumn.Dist, s10.In) annotation( + Line(points = {{88.5, -24}, {99, -24}, {99, -32}, {102, -32}}, color = {0, 70, 70})); + connect(distColumn.Bot, s11.In) annotation( + Line(points = {{89, -66}, {99, -66}, {99, -80}, {102, -80}}, color = {0, 70, 70})); + connect(compoundSeparator.En, e9.Out) annotation( + Line(points = {{190, -45}, {190, -70}}, color = {255, 0, 0})); + connect(compoundSeparator.Out1, s12.In) annotation( + Line(points = {{200, -24}, {214, -24}}, color = {0, 70, 70})); + connect(compoundSeparator.Out2, s13.In) annotation( + Line(points = {{200, -40}, {212, -40}}, color = {0, 70, 70})); + connect(s11.Out, compoundSeparator.In) annotation( + Line(points = {{122, -80}, {146, -80}, {146, -32}, {180, -32}, {180, -32}}, color = {0, 70, 70})); + annotation( + Diagram);end flowsheet; +end pxylene1; diff --git a/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/README.txt b/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/README.txt new file mode 100755 index 0000000..76be4d5 --- /dev/null +++ b/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of P-xylene +Proposar Name: Mr Malapati Sree Harsha +University: Sri Venkateswara University, Tirupati + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/abstract.pdf b/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/abstract.pdf new file mode 100755 index 0000000..c880496 Binary files /dev/null and b/Production_Of_P-Xylene_By_Mr_Malapati_Sree_Harsha/abstract.pdf differ diff --git a/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/README.txt b/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/README.txt new file mode 100755 index 0000000..002548d --- /dev/null +++ b/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Production of Vinyl Chloride monomer via Acetylene-HCl reaction +Proposar Name: Ms Ayushi Sinha +University: National Institute of Technology Warangal + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Abstract.pdf b/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Abstract.pdf new file mode 100755 index 0000000..075b5ea Binary files /dev/null and b/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Abstract.pdf differ diff --git a/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Flowsheet.mo b/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Flowsheet.mo new file mode 100755 index 0000000..41576c9 --- /dev/null +++ b/Production_Of_Vinyl_Chloride_Monomer_Via_Acetylene-Hcl_Reaction_By_Ms_Ayushi_Sinha/VinylChloride_Production_Flowsheet.mo @@ -0,0 +1,132 @@ +package Test2 + model vinylchloride + //Compound Separator + extends Modelica.Icons.Example; + import data = Simulator.Files.ChemsepDatabase; + parameter data.Acetylene acet; + parameter data.Hydrogenchloride hcl; + parameter data.Vinylchloride vin; + parameter Integer Nc = 3; + parameter data.GeneralProperties C[Nc] = {acet, hcl, vin}; + //Material Streams + Test2.ms S1(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-326, 46}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Test2.ms RC(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-332, 22}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Test2.ms S2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-334, -4}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); + Test2.ms S3(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-240, 38}, extent = {{-16, -16}, {16, 16}}, rotation = 0))); + Test2.ms S4(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-118, 32}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); + Test2.ms S5(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {-52, 18}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); + Test2.ms S6(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {62, 58}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); + Test2.ms S7(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {70, -2}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); + //conversion reactor + Test2.conv_react B1(BC_r = {1}, C = C, CalcMode = "Isothermal", Coef_cr = {{-1}, {-1}, {1}}, Nc = Nc, Nr = 1, X_r = {0.97}) annotation( + Placement(visible = true, transformation(origin = {-171, 37}, extent = {{-29, -29}, {29, 29}}, rotation = 0))); + //Energy Streams + Simulator.Streams.EnergyStream E1 annotation( + Placement(visible = true, transformation(origin = {-192, -80}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E2 annotation( + Placement(visible = true, transformation(origin = {-98, -20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E3 annotation( + Placement(visible = true, transformation(origin = {56, 88}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream E4 annotation( + Placement(visible = true, transformation(origin = {34, -52}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + //Mixer + Simulator.UnitOperations.Mixer mixer1(C = C, Nc = Nc, NI = 3, outPress = "Inlet_Average") annotation( + Placement(visible = true, transformation(origin = {-278, 38}, extent = {{-20, -20}, {20, 20}}, rotation = 0))); + //Heater + Simulator.UnitOperations.Heater heater1(Pdel = 0, Eff = 1, Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-82, 24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + //Distillation column + Simulator.Examples.Distillation.DistColumn distCol(Nc = Nc, C = C, Nt = 6, Ni = 1, InT_s = {3}, Ctype = "Total") annotation( + Placement(visible = true, transformation(origin = {6, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(heater1.Out, S5.In) annotation( + Line(points = {{-72, 24}, {-68, 24}, {-68, 18}, {-66, 18}}, color = {0, 70, 70})); + connect(S5.Out, distCol.In_s[1]) annotation( + Line(points = {{-38, 18}, {-27, 18}, {-27, 28}, {-18, 28}}, color = {0, 70, 70})); + connect(B1.Out, S4.In) annotation( + Line(points = {{-142, 38}, {-132, 38}, {-132, 32}}, color = {0, 70, 70})); + connect(S4.Out, heater1.In) annotation( + Line(points = {{-104, 32}, {-94, 32}, {-94, 24}, {-92, 24}}, color = {0, 70, 70})); + connect(S3.Out, B1.In) annotation( + Line(points = {{-224, 38}, {-200, 38}, {-200, 37}}, color = {0, 70, 70})); + connect(B1.energy, E1.Out) annotation( + Line(points = {{-171, -1}, {-171, -33}, {-182, -33}, {-182, -80}}, color = {255, 0, 0})); + connect(mixer1.Out, S3.In) annotation( + Line(points = {{-258, 38}, {-256, 38}}, color = {0, 70, 70})); + connect(S2.Out, mixer1.In[3]) annotation( + Line(points = {{-320, -4}, {-298, -4}, {-298, 38}}, color = {0, 70, 70})); + connect(RC.Out, mixer1.In[2]) annotation( + Line(points = {{-322, 22}, {-298, 22}, {-298, 38}}, color = {0, 70, 70})); + connect(S1.Out, mixer1.In[1]) annotation( + Line(points = {{-316, 46}, {-298, 46}, {-298, 38}}, color = {0, 70, 70})); + connect(E2.Out, heater1.En) annotation( + Line(points = {{-88, -20}, {-88, -2}, {-92, -2}, {-92, 14}}, color = {255, 0, 0})); + connect(distCol.Rduty, E4.Out) annotation( + Line(points = {{32, -32}, {47, -32}, {47, -52}, {44, -52}}, color = {255, 0, 0})); + connect(distCol.Cduty, E3.In) annotation( + Line(points = {{32, 88}, {46, 88}}, color = {255, 0, 0})); + connect(distCol.Bot, S7.In) annotation( + Line(points = {{32, -2}, {56, -2}, {56, -2}, {56, -2}}, color = {0, 70, 70})); + connect(distCol.Dist, S6.In) annotation( + Line(points = {{32, 58}, {48, 58}, {48, 58}, {48, 58}}, color = {0, 70, 70})); + S1.F_p[1] = 92.46; + S1.x_pc[1, :] = {1, 0, 0}; + S1.P = 101325; + S1.T = 433.15; + S2.F_p[1] = 92.6919; + S2.x_pc[1, :] = {0, 1, 0}; + S2.P = 101325; + S2.T = 433.15; + RC.T = 187.852; + RC.P = 101325; + RC.F_p[1] = 14750.667; + RC.x_pc[1, :] = {0.00018821077, 0.99412277, 0.0056890199}; + S5.T = 473.15; + distCol.condenser.P = 101325; + distCol.reboiler.P = 101325; + distCol.RR = 1.4; + S6.x_pc[1, 2] = 0.994; + end vinylchloride; + + + + model ms + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end ms; + + model conv_react + extends Simulator.UnitOperations.ConversionReactor; + extends Simulator.Files.Models.ReactionManager.ConversionReaction; + end conv_react; + + model Condenser + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condenser; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model DistColumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condenser condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end DistColumn; +end Test2; diff --git a/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/Abstract.pdf b/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/Abstract.pdf new file mode 100755 index 0000000..b5d1b9e Binary files /dev/null and b/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/Abstract.pdf differ diff --git a/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/MethanolTolueneExtractiveNew.mo b/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/MethanolTolueneExtractiveNew.mo new file mode 100755 index 0000000..497b9a4 --- /dev/null +++ b/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/MethanolTolueneExtractiveNew.mo @@ -0,0 +1,130 @@ +package Extractive_Dist_v1 + model matstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end matstream; + + model Condensor + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Condensor; + + model Tray + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Tray; + + model Reboiler + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.RaoultsLaw; + end Reboiler; + + model Discolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Condensor condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reboiler reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Discolumn; + + model flowsheet + // defining the number of components in the flowsheet + parameter Integer Nc = 3; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Toluene tou; + parameter data.Methanol meth; + parameter data.Chloroform chloro; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {tou, meth, chloro}; + // defination of the unit operations and streams used + Extractive_Dist_v1.Discolumn dis1(Nc = Nc, C = C, Nt = 24, Ni = 2, InT_s = {12, 20}) annotation( + Placement(visible = true, transformation(origin = {-6, 20}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-98, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream recycle(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-104, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {58, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {60, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd1 annotation( + Placement(visible = true, transformation(origin = {56, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd1 annotation( + Placement(visible = true, transformation(origin = {54, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.Discolumn dis2(Nc = Nc, C = C, Nt = 48, Ni = 1, InT_s = {16}) annotation( + Placement(visible = true, transformation(origin = {164, 4}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream b2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {226, -18}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream d2(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {228, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream cd2 annotation( + Placement(visible = true, transformation(origin = {230, 80}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream rbd2 annotation( + Placement(visible = true, transformation(origin = {230, -56}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.UnitOperations.Mixer mix1(Nc = Nc, C = C, NI = 2, outPress = "Inlet_Minimum") annotation( + Placement(visible = true, transformation(origin = {-146, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream recycle_direct(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-194, 72}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Extractive_Dist_v1.matstream chloromakeup(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-196, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(recycle_direct.Out, mix1.In[1]) annotation( + Line(points = {{-184, 72}, {-156, 72}, {-156, 34}}, color = {0, 70, 70})); + connect(chloromakeup.Out, mix1.In[2]) annotation( + Line(points = {{-186, 32}, {-173, 32}, {-173, 34}, {-156, 34}}, color = {0, 70, 70})); + connect(mix1.Out, recycle.In) annotation( + Line(points = {{-136, 34}, {-136, 7}, {-114, 7}, {-114, -2}}, color = {0, 70, 70})); + connect(dis2.Rduty, rbd2.In) annotation( + Line(points = {{189, -56}, {220, -56}}, color = {255, 0, 0})); + connect(dis2.Dist, d2.In) annotation( + Line(points = {{189, 34}, {186.5, 34}, {186.5, 44}, {218, 44}}, color = {0, 70, 70})); + connect(dis2.Bot, b2.In) annotation( + Line(points = {{189, -26}, {203.5, -26}, {203.5, -18}, {216, -18}}, color = {0, 70, 70})); + connect(dis2.Cduty, cd2.In) annotation( + Line(points = {{189, 64}, {187.5, 64}, {187.5, 80}, {220, 80}}, color = {255, 0, 0})); + connect(d1.Out, dis2.In_s[1]) annotation( + Line(points = {{68, 50}, {124, 50}, {124, 4}, {139, 4}}, color = {0, 70, 70})); + connect(dis1.Cduty, cd1.In) annotation( + Line(points = {{19, 80}, {31.5, 80}, {31.5, 78}, {44, 78}}, color = {255, 0, 0})); + connect(dis1.Dist, d1.In) annotation( + Line(points = {{19, 50}, {48, 50}}, color = {0, 70, 70})); + connect(dis1.Rduty, rbd1.In) annotation( + Line(points = {{19, -40}, {34.5, -40}, {34.5, -38}, {46, -38}}, color = {255, 0, 0})); + connect(dis1.Bot, b1.In) annotation( + Line(points = {{19, -10}, {36.5, -10}, {36.5, -6}, {50, -6}}, color = {0, 70, 70})); + connect(feed.Out, dis1.In_s[1]) annotation( + Line(points = {{-88, 34}, {-26, 34}, {-26, 20}, {-31, 20}}, color = {0, 70, 70})); + connect(recycle.Out, dis1.In_s[2]) annotation( + Line(points = {{-94, -2}, {-59.5, -2}, {-59.5, 20}, {-31, 20}}, color = {0, 70, 70})); + // connections and values + feed.P = 101325; + feed.T = 447.84; + feed.F_p[1] = 27.7778; + feed.x_pc[1, :] = {0.5, 0.5, 0}; + chloromakeup.P = 101325; + chloromakeup.T = 298.15; + chloromakeup.F_p[1] = 0.009166; + chloromakeup.x_pc[1, :] = {0, 0, 1}; + recycle_direct.P = 81060; + recycle_direct.T = 327.724; + recycle_direct.F_p[1] = 23.9003; + recycle_direct.x_pc[1, :] = {0, 0.3251, 0.6749}; + dis1.condenser.P = 1013250; + dis1.reboiler.P = 1013250; + dis1.RR = 5.09207; + d1.F_p[1] = 37.7985; + dis2.condenser.P = 81060; + dis2.reboiler.P = 81060; + d2.F_p[1] = 23.9; + dis2.RR = 17; + annotation( + Diagram(coordinateSystem(extent = {{-250, -100}, {300, 100}})), + Icon(coordinateSystem(extent = {{-250, -100}, {300, 100}})));end flowsheet; + + + + + + + + +end Extractive_Dist_v1; diff --git a/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/README.txt b/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/README.txt new file mode 100755 index 0000000..f75f7ca --- /dev/null +++ b/Psd_For_Methanol-Toluene_Separation_Using_Light_Entrainer_Chloroform_By_Mr_Neel_Pulin_Modi/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: PSD for Methanol-Toluene Separation using Light Entrainer Chloroform +Proposar Name: Mr Neel Pulin Modi +University: Indian Institute of Technology Madras + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD1.mo b/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD1.mo new file mode 100755 index 0000000..dd70309 --- /dev/null +++ b/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD1.mo @@ -0,0 +1,92 @@ +package PSD1 + model Materialstream + extends Simulator.Streams.MaterialStream; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Materialstream; + + model Conden + extends Simulator.UnitOperations.DistillationColumn.Cond; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Conden; + + model Tray1 + extends Simulator.UnitOperations.DistillationColumn.DistTray; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Tray1; + + model Reb + extends Simulator.UnitOperations.DistillationColumn.Reb; + extends Simulator.Files.ThermodynamicPackages.NRTL; + end Reb; + + model Distillationcolumn + extends Simulator.UnitOperations.DistillationColumn.DistCol; + Conden condenser(Nc = Nc, C = C, Ctype = Ctype, Bin = Bin_t[1]); + Reb reboiler(Nc = Nc, C = C, Bin = Bin_t[Nt]); + Tray1 tray[Nt - 2](each Nc = Nc, each C = C, Bin = Bin_t[2:Nt - 1]); + end Distillationcolumn; + + model Flowsheet + // defining the number of components in the flowsheet + parameter Integer Nc = 3; + import data = Simulator.Files.ChemsepDatabase; + // retrieving the properties of the required chemicals + parameter data.Ethylacetate ea; + parameter data.Ethanol eo; + parameter data.Water wat; + parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {ea, eo, wat}; + // defination of the unit operations and streams used + PSD1.Materialstream feed(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-222, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD1.Distillationcolumn discol1( C = C, Ctype = "Total", InT_s = {4},Nc = Nc, Ni = 1, Nt = 12) annotation( + Placement(visible = true, transformation(origin = {-136, 6}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD1.Materialstream d1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-76, 36}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD1.Materialstream b1(Nc = Nc, C = C) annotation( + Placement(visible = true, transformation(origin = {-76, -24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream1 annotation( + Placement(visible = true, transformation(origin = {-86, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Simulator.Streams.EnergyStream energyStream2 annotation( + Placement(visible = true, transformation(origin = {-90, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD1.Distillationcolumn LPC(C = C, Ctype = "Total", InT_s = {3}, Nc = Nc, Ni = 1, Nt = 4) annotation( + Placement(visible = true, transformation(origin = {44, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD1.Materialstream d2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {124, 62}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + PSD1.Materialstream b2(C = C, Nc = Nc) annotation( + Placement(visible = true, transformation(origin = {126, -24}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + equation + connect(LPC.Bot, b2.In) annotation( + Line(points = {{70, -14}, {78, -14}, {78, -24}, {116, -24}, {116, -24}}, color = {0, 70, 70})); + connect(LPC.Dist, d2.In) annotation( + Line(points = {{70, 46}, {82, 46}, {82, 62}, {114, 62}, {114, 62}}, color = {0, 70, 70})); + connect(d1.Out, LPC.In_s[1]) annotation( + Line(points = {{-66, 36}, {-16, 36}, {-16, 16}, {20, 16}, {20, 16}}, color = {0, 70, 70})); + connect(discol1.Rduty, energyStream2.In) annotation( + Line(points = {{-110, -54}, {-100, -54}, {-100, -58}, {-100, -58}}, color = {255, 0, 0})); + connect(discol1.Bot, b1.In) annotation( + Line(points = {{-110, -24}, {-86, -24}, {-86, -24}, {-86, -24}}, color = {0, 70, 70})); + connect(discol1.Cduty, energyStream1.In) annotation( + Line(points = {{-110, 66}, {-96, 66}, {-96, 68}, {-96, 68}}, color = {255, 0, 0})); + connect(discol1.Dist, d1.In) annotation( + Line(points = {{-110, 36}, {-88, 36}, {-88, 36}, {-86, 36}}, color = {0, 70, 70})); + connect(feed.Out, discol1.In_s[1]) annotation( + Line(points = {{-212, 10}, {-162, 10}, {-162, 6}, {-160, 6}}, color = {0, 70, 70})); + feed.P = 500000; + feed.T = 298; + feed.F_p[1] = 0.4354; + feed.x_pc[1, :] = {0.42389698, 0.57291582, 0.0031872071}; + discol1.condenser.P = 500000; + discol1.reboiler.P = 500000; + discol1.RR = 1.3; + b1.F_p[1]= 0.021053; +LPC.condenser.P = 101325; +LPC.reboiler.P = 101325; +d2.x_pc[1, 1] = 0.40026401; +b2.x_pc[1, 2] = 0.9991088; + end Flowsheet; + + + model pump + extends Simulator.UnitOperations.CentrifugalPump; + end pump; +end PSD1; diff --git a/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD_abstract.pdf b/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD_abstract.pdf new file mode 100755 index 0000000..5689570 Binary files /dev/null and b/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/PSD_abstract.pdf differ diff --git a/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/README.txt b/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/README.txt new file mode 100755 index 0000000..f5028ee --- /dev/null +++ b/Simulation_Of_Pressure_Swing_Distillation_For_Separation_Of_Ethyl_Acetate-Ethanol-Water_By_Mr_Sarthak_Vaidya/README.txt @@ -0,0 +1,8 @@ +About the flowsheet + +Title Of The Flowsheet Project: Simulation of Pressure Swing Distillation for Separation of Ethyl Acetate-Ethanol-Water +Proposar Name: Mr Sarthak Vaidya +University: Datta Meghe College of Engineering, Mumbai University + + +OpenModelica Flowsheet Project By FOSSEE, IIT Bombay diff --git a/Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/MethanolSynthesis.pdf b/Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/MethanolSynthesis.pdf new file mode 100755 index 0000000..6f37243 Binary files /dev/null and b/Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/MethanolSynthesis.pdf differ diff --git a/Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/Methanol_Production.mo b/Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/Methanol_Production.mo new file mode 100755 index 0000000..320d382 --- /dev/null +++ b/Synthesis_Of_Methanol_Using_Open_Modelica_By_Mr_Parimal_Patel/Methanol_Production.mo @@ -0,0 +1,60 @@ +package Methanol_Production + model InletSTRM + // //instantiation of chemsep database + import data = Simulator.Files.Chemsep_Database; + //instantiation of Methanol + parameter data.Methanol metl; + //instantiation of Methane + parameter data.Methane met; + //instantiation of water + parameter data.Water wat; + //instantiation of Carbonmonoxide + parameter data.Carbonmonoxide cmd; + //instantiation of Carbondioxide + parameter data.Carbondioxide cdd; + //instantiation of Hydrogen + parameter data.Hydrogen hgn; + extends Simulator.Streams.Material_Stream(NOC = 6, comp = {metl, met, wat, cmd, cdd, hgn}, totMolFlo(each start = 1), compMolFrac(each start = 0.33), T(start = sum(comp.Tb) / NOC)); + //material stream extended in which parameter NOC and comp are given values and other variables are given start values + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + //thermodynamic package Raoults law is extended + end InletSTRM; + + model Conversion_Reactor + extends Simulator.Unit_Operations.Conversion_Reactor; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + + end Conversion_Reactor; + + model Cooler + extends Simulator.Unit_Operations.Cooler; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + + end Cooler; + + model Gas_Liquid_separator + extends Simulator.Unit_Operations.Flash; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + + end Gas_Liquid_separator; + + + + model Compound_separator + extends Simulator.Unit_Operations.Compound_Separator; + extends Simulator.Files.Thermodynamic_Packages.Raoults_Law; + end Compound_separator; + + model Flowsheet + Methanol_Production.InletSTRM inletSTRM1 annotation( + Placement(visible = true, transformation(origin = {-138, 14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + Conversion_Reactor conversion_Reactor annotation( + Placement(visible = true, transformation(origin = {-86, 14}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); + end Flowsheet; + + + + + + +end Methanol_Production; -- cgit