PHREEQC Reverse Osmosis Unit
Direct Calc Model
Side Calc Model
See Also PHREEQC SysCAD Project Workflow
New for Build 138. Currently in BETA - contact SysCAD for demonstrations or further information.
The PHREEQC solver is called to determine the state of a SysCAD stream. The composition, temperature and pressure of the 'Feed' stream are based on the feed to the unit. The unit will then determine the equilibrium conditions of the resulting stream. The results can be applied to the product stream or just performed as a side calculation (similar to use of the PHREEQC Side Calc Model).
- This model is designed to simulate a reverse osmosis membrane process, often used in water treatment, especially for desalination of sea water.
- The user may specify the yield and efficiency of the process, as well as the outlet pressure requirements.
- The unit expects the feed to be free of solids. If solids are fed to the unit, the user will receive a warning and any solids will be sent to the Brine stream.
- If a vent stream is connected, then all gases will exit via the Vent. If gases are present and there is no vent connection then the user will receive a warning and all gases will be sent to the Brine stream.
- The user MUST have added and configured a PHREEQC Model Configuration unit in the SysCAD project before this unit can function.
- The user MUST have installed a version of PHREEQC on their computer to make use of the PHREEQC functionality in SysCAD. Please see wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc for more information.
- The diagram shows default drawing of the Reverse Osmosis unit with connecting streams.
- The physical location of the streams connecting to the unit is unimportant. The user may connect the streams to any position on the unit.
- When inserting a Reverse Osmosis unit into a flowsheet, the user may choose a different symbol from the menu.
Inputs and Outputs
|Number of Connections||Description|
|Feed||Required||In||1||20||Inlet liquid feed stream to the unit, usually water with dissolved salts.|
|Product||Required||Out||1||1||Outlet product stream of the unit, usually purified water.|
|Brine||Required||Out||1||1||Outlet brine or waste stream of the unit.|
|Vent||Optional||Out||0||1||Optional gas outlet from the unit.|
Behaviour when Model is OFF
If the user disables the unit, by un-ticking the On tick box, then the following actions occur:
- All feed material will flow straight out of the Brine outlet;
- No material will flow out of the Product or Vent outlets;
- No sub-models will be called.
So basically, the unit will be 'bypassed' without the user having to change any connections.
The PHREEQC Reverse Osmosis uses the PHREEQC algorithms and data to determine the status of the aqueous solution.
The PHREEQC Reverse Osmosis can be incorporated into a SysCAD flowsheet, it can be connected with SysCAD inlet and outlet streams.
- User connects the PHREEQC Reverse Osmosis with SysCAD input streams,
- The SysCAD feed stream(s) using SysCAD species is converted into PHREEQC "Input" using PHREEQC Species. The species mapping is defined in the corresponding PHREEQC Model Configuration unit model.
- The PHREEQC Reactor calls the PHREEQC algorithms to determine the status of the mixture using the converted PHREEQC "input" data.
- The PHREEQC results are displayed in the "output" tab using PHREEQC species.
- The resulting mixture is then separated into vapour, Brine, product streams based on user specification of the model.
- The Input, Output and Diff tab pages are displayed using PHREEQC species, as defined in the PHREEQC database file (.dat) specified in the corresponding PHREEQC Model Configuration unit model.
- The species used in the SysCAD project are shown on the optional Sp pages, shown as part of the QFeed, QBypass, QUnmapped, QRxnBypass and QProd pages.
The suggested workflow for configuring the model is:
- Make sure the project contains at least one of the PHREEQC Model Configuration model, and the model is loaded with the correct PHREEQC database you would like to use for the PHREEQC Reverse Osmosis.
- On the PHREEQCReverseOsmosis Tab page, select the correct "ChemModel" (to match step 1)
- Select any sub-models
- Perform an equilibrium calculation by pressing Solve in SysCAD.
- The Results are displayed in the Results and Output tabs.
- Check and fix any species mapping issues. (PHREEQC resulting species may change if the operating conditions change, so it is likely a change of temperature or feed composition will result in different PHREEQC species.)
The default access window consists of several sections (The options are located on the first and second tab pages):
- PHREEQCReverseOsmosis - The first tab contains general information relating to the unit and allows the user to configure the unit
- PC - Optional tab, only visible if EB.Solubility.On and/or [email protected] is enabled in the Evaluation Block.
- RB - Optional tab, only visible if Reactions are enabled in the Evaluation Block.
- EHX - Optional tab, only visible if EnvironHX is enabled in the Evaluation Block.
- Evap - Optional tab, only visible if Evaporator is enabled in the Evaluation Block.
- MU - Optional tab, or multiple tabs if more than 1 Makeup is selected. Only visible if one of more Makeups are enabled in the Evaluation Block.
- DB - Optional tab, or multiple tabs if more than 1 Discard Block is selected. Only visible if one of more Discard Blocks are enabled in the Evaluation Block. Only available in Build 138 or later.
- PHREEQC - This tab contains general information relating to PHREEQC options and allows the user to configure the unit
- VLE - Optional tab, only visible if the UseSysCADVLE/VLE.On option is enabled on the first tab page.
- CFE - Optional tab, only visible if the UseCFE option is enabled on the first tab page.
- Bypass - Optional tab, only visible if the WithBypass option is enabled on the first tab page.
- Results tab - This tab displays the key results of the calculations.
- Input tab - This tab displays a summary of the mapped Input stream as PHREEQC species.
- Output tab - This tab displays the Output stream results including the amounts of each PHREEQC species present in the final mixture.
- Diff tab - This tab displays the amounts of each species which are formed or reacted as part of the calculations.
- ElemBal tab - This tab displays an elemental balance between the Input and Output streams.
- Deportment tab - This tab shows the mass movement of elements for the Solid, Liquid and Gas phases.
- ParamSweep tab - This tab allows the user to generate sets of data.
- SelectSpForPlot tab - Optional tab, only visible if the SelectSp option is enabled on the ParamSweep tab. This tab allows the user to select which species to be reported in the sets of data to be generated.
- QUnmapped - Optional tab, only visible if ShowQUnmapped is enabled on the first tab page.
- QBypass - Optional tab, only visible if ShowQBypass is enabled on the first tab page.
- QRxnBypass - Optional tab, only visible if ShowQRxnBypass is enabled on the first tab page.
- QFeed - Optional tab, only visible if ShowQFeed is enabled. This page shows the properties of the mixed stream as the feed to the unit. If user has specified a required pressure in the unit, the mixed feed will be set to this pressure. This may cause the temperature of the mixture to change if the delta P is significantly different.
- This is before any Evaluation Block sub-models are evaluated.
- Info tab - contains general settings for the unit and allows the user to include documentation about the unit and create Hyperlinks to external documents.
- Links tab, contains a summary table for all the input and output streams.
- Audit tab - contains summary information required for Mass and Energy balance. See Model Examples for enthalpy calculation Examples.
Unit Type: PHREEQCReverseOsmosis - The first tab page in the access window will have this name.
|Tag (Long/Short)||Input/ Calc||Description|
|Tag||Display||This name tag may be modified with the change tag option.|
|Condition||Display||OK if no errors/warnings, otherwise lists errors/warnings.|
|ConditionCount||Display||The current number of errors/warnings. If condition is OK, returns 0.|
|GeneralDescription / GenDesc||Display||This is an automatically generated description for the unit. If the user has entered text in the 'EqpDesc' field on the Info tab (see below), this will be displayed here. If this field is blank, then:
|On||Tickbox||This variable in used to turn the unit ON or OFF. If the unit is OFF, all feed will exit via the Brine outlet.|
|Model||Simple||User only needs to specify Yield and Overall efficiency. No setting of pressures. No sub-models can be used.|
|General||User can choose from several efficiency methods and specify the outlet pressures. Sub-models can be used.|
|Max Permeate Recovery||User specified the limit for maximum permissible permeate recovery, as well as the efficiency required and outlet pressure. Several efficiency methods are available. Sub-models can be used.|
|YieldReqd||Input||Only visible with Model set to Simple or General. Required fraction of pure water in the feed which is recovered to the product stream.|
|EffMethod||Only visible if Model selected is General or Max Permeate Recovery|
|Overall||User can specify a single efficiency of removal for all non-water liquid species.|
|Individual Phase||User can specify an efficiency of removal for each individual liquid phase.|
|Impurity Frac||User can specify the fraction of impurities in the product stream.|
|EfficiencyReqd||Input||Only available if "Model is set to Simple", or "Model to General or Max Permeate Recovery and EffMethod is set to Overall". Required fraction of liquid species other than water that are recovered to the brine stream.|
|EfficiencyReqd.x||Input||Only available if EffMethod is set to Individual Phase. Required fraction of species in individual phase x (other than water) that are recovered to the brine stream.|
|ImpurityFracReqd / ImpFracReqd||Input||Only available if EffMethod is set to Impurity Frac. Required fraction of liquid species other than water in the product stream.|
|SolidsTolInReject / SolidsTol||Input||Only visible if Model selected is Max Permeate Recovery. The maximum solids fraction in the reject stream.|
|MaximumPermissiblePremRecovery/ MaxPR||Input||Only visible if Model selected is Max Permeate Recovery. The maximum permissible permeate recovery.|
|Pressure Requirements (Only visible if Model selected is General or Max Permeate Recovery)|
|Prod.PressureReqd / P_Reqd||Input||Required pressure of the product stream.|
|Brine.PressDropReqd / PDropReqd||Input||Required pressure drop from the feed pressure to the brine stream.|
|Method||AutoDetect||If there are any liquids AND no gases present in the feed, the unit pressure will be the highest pressure of the feeds. Else if there are Gases in any of the feed streams, the unit pressure will be the lowest pressure of the feeds.|
|LowestFeed||The unit pressure will be the Lowest Feed pressure.|
|HighestFeed||The unit pressure will be the Highest Feed pressure.|
|Atmospheric||The unit will be at Atmospheric Pressure. The atmospheric pressure is calculated by SysCAD based on the user defined elevation (default elevation is at sea level = 101.325 kPa). The elevation can be changed on the Environment Tab page of the Plant Model.|
|RequiredP||The unit pressure is specified by the user.|
|IgnoreLowMassFlow / IgnoreLowQm||Tickbox||This option is only visible if the AutoDetect, LowestFeed or HighestFeed methods are chosen. When calculating the unit pressure, SysCAD will ignore the low flow feed streams should this option be selected. The low flow limit is set in the field below.|
|LowMassFlowFrac / LowQmFrac||Input||This field is only visible if the IgnoreLowQm option is selected. This is the amount any stream contributes to the total flow. For example, if the total feed to the unit is 10 kg/s, and this field is set to 1%. Then any feed streams with less than 0.1 kg/s will be ignored in the pressure calculations.|
|PressureReqd / P_Reqd||Input||This field is only visible if the RequiredP method is chosen. The user enters the required operating pressure.|
|Result||Calc||This field displays the operating pressure of the unit.|
|EB... (Flow Evaluation Block) (Only visible if Model selected is General)|
|Solubility.On||Tickbox||Only visible if Solubility has been defined for at least one species in the project. Allows the user to switch on any predefined solubility curve to adjust the composition of material in the unit.|
|[email protected]||Tickbox||Only visible if Phase Change at Temperature has been defined for at least one species in the project. Allows the user to switch on any predefined phase changes at temperature in the unit.|
|EvalSequence||Calc||The sequence in which the sub models (which are part of the evaluation blocks) will be calculated. The sequence is determined by the priority selection for the individual sub-models. |
Note: If the user chooses On-AutoSequence then SysCAD will determine the sequence of the sub-models. The sequence followed will be MU1, MU2, etc., RB, EHX, Evap, DB1, DB2, etc.
|Makeups||Input||The number of makeup blocks required. Extra dropdown options Makeup1, Makeup2, etc will be added to allow these to be switched on and off and prioritised in relation to the other sub-models.|
|MakeupX||List||This can be used to switch the Makeup Block (MU) on or off and prioritise it in relation to the other sub-models. If this is 'On' then the associated page, MUX becomes visible and may be configured. |
Note: This field is only visible if the entry for 'Makeups' is greater than 0. If there is one makeup then X=1. If there are two makeups, then X=1 and X=2, etc.
|Reactions||List||This can be used to switch on the Reaction Block (RB). If this is 'On' then the associated page, RB becomes visible and may be configured. |
Note: The user does not have to configure a reaction file, even if this block is checked.
|EnvironHX||List||This can be used to switch on the Environmental Heat Exchanger (EHX). If this is 'On' then the associated page, EHX becomes visible and may be configured. |
Note: The user does not have to configure an environmental heat exchange, even if this block is checked.
|Evaporation||List||This can be used to switch on the Evaporation Block (Evap). If this is 'On' then the associated page, Evap becomes visible and may be configured. |
Note: The user does not have to configure an evaporator, even if this block is checked.
|Discards||Input||Only available in Build 138 or later. The number of discard blocks required. Extra dropdown options Discard1, Discard2, etc will be added to allow these to be switched on.|
|DiscardX||List||Only available in Build 138 or later. This can be used to switch the Discard Block (DB) on or off and prioritise it in relation to the other sub-models. If this is 'On' then the associated page, DBX becomes visible and may be configured. |
Note: This field is only visible if the entry for 'Discards' is greater than 0. If there is one discard then X=1. If there are two discards, then X=1 and X=2, etc.
|Calc||Tickbox||Allows the user to specify the volume of the unit, from which a residence time can be calculated.|
|Volume||Input||Only visible if the Calc option has been enabled. The operating volume of the unit. This will be used to calculate the apparent residence time in the unit. This is based on the volumetric flow of all outlets from the unit.|
|MassFlow / Qm||Calc||Only visible if the Calc option has been enabled. The mass flow of material from the unit.|
|Temperature / T||Calc||Only visible if the Calc option has been enabled. The temperature of the material leaving the unit.|
|Slurry||Calc||Only visible if the Calc option has been enabled. The residence time of the slurry in the unit.|
|Total||Calc||Only visible if the Calc option has been enabled. The residence time for the slurry and the vapours in the unit. If there are any vapours leaving the unit, then this value will be smaller than the Slurry figure.|
|ShowQFeed||Tick Box||QFeed and associated tab pages (eg. Sp) will become visible, showing the properties of the combined feed stream. See Material Flow Section. This will be prior to any sub-model (eg reactions) actions.|
|TrackStatus||Tick Box||If this box is checked, the unit will flag warnings if gases are present but no vent connected, or if solids are present.|
|Yield||Calc||Fraction of pure water in the feed which is recovered to the product stream.|
|Efficiency||Calc||Fraction of liquid species other than water that are recovered to the brine stream.|
|Brine.PressDrop / PDrop||Calc||Pressure drop from the feed pressure to the brine stream.|
|Prod.MassFlow||Calc||Total mass flow of the product stream.|
|Prod.WaterMassFlow||Calc||Mass flow of pure water in the product stream.|
|Prod.AqueousMassFlow||Calc||Mass flow of aqueous species in the product stream.|
|Prod.ImpurityFrac||Calc||Fraction of liquid species other than water in the product stream.|
|Prod.ImpurityConc||Calc||Concentration of liquid species other than water in the product stream.|
|Prod.VolFlow||Calc||Total volume flow of the product stream.|
|Prod.SolidMassFlow||Calc||Mass flow of solids in the product stream.|
|Prod.LiquidMassFlow||Calc||Mass flow of liquids in the product stream.|
|Prod.SolidFrac||Calc||Mass fraction of solids in the product stream.|
|Prod.LiquidFrac||Calc||Mass fraction of liquids in the product stream.|
|Prod.Temperature||Calc||Temperature of the product stream.|
|Prod.Pressure||Calc||Pressure of the product stream.|
|Prod.Density||Calc||Density of the product stream.|
|Brine.MassFlow||Calc||Total mass flow of the brine stream.|
|Brine.WaterMassFlow||Calc||Mass flow of pure water in the brine stream.|
|Brine.AqueousMassFlow||Calc||Mass flow of aqueous species in the brine stream.|
|Brine.ImpurityFrac||Calc||Fraction of liquid species other than water in the brine stream.|
|Brine.ImpurityConc||Calc||Concentration of liquid species other than water in the brine stream.|
|Brine.VolFlow||Calc||Total volume flow of the brine stream.|
|Brine.SolidMassFlow||Calc||Mass flow of solids in the brine stream.|
|Brine.LiquidMassFlow||Calc||Mass flow of liquids in the brine stream.|
|Brine.SolidFrac||Calc||Mass fraction of solids in the brine stream.|
|Brine.LiquidFrac||Calc||Mass fraction of liquids in the brine stream.|
|Brine.Temperature||Calc||Temperature of the brine stream.|
|Brine.Pressure||Calc||Pressure of the brine stream.|
|Brine.Density||Calc||Density of the brine stream.|
|GridDisplay||Tickbox||Toggles between showing the product and brine stream results in a grid (table) format or in a list. This is a global selection that will affect the display of results in other access windows.|
PHREEQC tab page
|Tag (Long/Short)||Input / Calc||Description/Calculated Variables / Options|
|======== BETA VERSION ======== |
This program contains PHREEQC Copyright U.S. Geological Survey (USGS)
|On||Tickbox||This allows the user to disable the PHREEQC calculations, and the unit becomes a simple conduit with no calculations.|
|Model||None (Off)||No calculations will be performed and input=output.|
|Side Calc||The results from the PHREEQC calculation will be displayed but will not be applied to the output stream (input composition = output composition). This is similar to using the PHREEQC Side Calc Model.|
|Reactor||The results from the PHREEQC calculation will be applied to the output stream, potentially affecting the composition and temperature/enthalpy of the stream.|
|AllowUnmappedDuringSolve / Slv.AllowUnmapped||Tickbox||If enabled, unmapped species will be ignored with no warnings will be given.|
|UnitTag||List||The tag of the relevant PHREEQC Model Configuration unit model- this may be chosen from the drop down list of all PHREEQC Model Configuration unit models available in the project.|
|Check||If the user clicks on this button, SysCAD will check that the UnitTag is a valid PHREEQC Model Configuration unit model.|
|ConnOK||Tickbox||If SysCAD finds a valid PHREEQC Model Configuration unit model, then this field will be enabled.|
|Status||OK||The specified chemistry model (PHREEQC Model Configuration) has been initialised correctly and the database file has been found and loaded correctly.|
|ChemModel Tag not Specified||No tag has been specified for the Chemistry Model. Specify the desired Chemistry Model (PHREEQC Model Configuration) in the UnitTag field.|
|Valid ChemModel Tag Required||The tag specified for the Chemistry Model in the UnitTag field is invalid and needs to be corrected.|
|Init Required||The specified Chemistry Model (PHREEQC Model Configuration) needs to be initialised.|
|ChemModel Load Required||The database of the specified Chemistry Model ((PHREEQC Model Configuration) needs to be loaded.|
|DLL or Version Error||There is a problem with the PHREEQC DLL or version.|
|Init Failed||Initialisation of the specified Chemistry Model ((PHREEQC Model Configuration) has been attempted but failed.|
|UseSysCADVLE / VLE.On||Tickbox||This can be used to switch on the SysCAD Vapour Liquid Equilibrium (VLE) calculator. If this is 'On' then the associated page, VLE becomes visible and may be configured.|
|UseCFE||Tickbox||If this is ticked, then the CFE (Constrained Free Energy) tab page will appear.
|WithBypass||Tickbox||If this is ticked, then the Bypass tab page will appear.|
|PhaseElemDeportment||Tickbox||If this is ticked, then the Deportment tab page will appear. This tab shows the mass movement of elements for the Solid, Liquid and Gas phases.|
|ShowQUnmapped||Tickbox||Allows the user to view the QUnmapped and associated tab pages. See Material Flow Section. This is the SysCAD species flows which are not mapped to PHREEQC species, and therefore are not taken into account in the PHREEQC calculation.|
|ShowQBypass||Tickbox||Only visible when WithBypass is ticked. Allows the user to view the QBypass and associated tab pages. See Material Flow Section. This is the SysCAD species flows which bypass the PHREEQC calculation.|
|ShowQRxnBypass||Tickbox||Only visible when WithBypass is ticked. Allows the user to view the QRxnBypass and associated tab pages. See Material Flow Section.|
|ShowRxnDiff||Tickbox||Allows the user to view the Diff tab page. This shows the difference between the mapped input stream seen by PHREEQC and the PHREEQC calculation results.|
|ShowPlotter||Tickbox||Allows the user to perform a parameter sweep using the product stream of the reactor. If this is ticked, then the ParamSweep tab page will appear.|
|PHREEQCInput||If the user clicks on this button, SysCAD will create the files PHREEQC_outputIn.pqi and PHREEQC_outputOut.pqi in the CfgFiles folder of the project. These files contain information relating to the PHREEQC input and output streams used in the model and can be opened with the PHREEQC software.|
Adding this Model to a Project
Insert into Configuration file
Sort either by DLL or Group.
|DLL:||ScdPHREEQC.dll||→||Units/Links||→||PHREEQC: PHREEQC Reverse Osmosis|
|or||Group:||Energy Transfer||→||Units/Links||→||PHREEQC: PHREEQC Reverse Osmosis|
See Project Configuration for more information on adding models to the configuration file.
Insert into Project
|Insert Unit||→||PHREEQC||→||PHREEQC Reverse Osmosis|
See Insert Unit for general information on inserting units.