Alph is no longer for sale.

I am afraid revenue generated from Alph has not proven to be sufficient to justify its continued sale. I greatly appreciate the support of the folks who have purchased Alph in the past and hope that it will continue to serve you well in the future.

This and related pages will be maintained for archival purposes only.

Craig


Alph Model Two Example

This example is similar to Model Example One, but replaces the refrigeration compressor with a model to illustrate that models can be nested. See the more detailed description.

Loading this case into Alph

Browse this page with the web browser on your iPhone. Tap and hold in the gray area below to select the whole region and and then tap the copy button that appears. Run Alph and use the Load Case command to load this case from the paste board.

{
 "SelectedFluidIndex" : 2147483647,
 "PropPkg" : "APRNGL",
 "Tools" : [
   {
     "Type" : "Hydrate",
     "HydrateVariable" : "P",
     "name" : "hydrate",
     "DiagramX" : 32.50925,
     "DiagramY" : 44.16441,
     "Feed" : "feed"
   },
   {
     "Source" : "feed.v",
     "QualityLineSpec" : "1. 0.75 0.5 .95",
     "name" : "envelope",
     "DiagramX" : 123.9468,
     "Type" : "Phase Envelope",
     "DiagramY" : 42.24328,
     "StartPressure" : "500 kPa"
   },
   {
     "minInnerStep" : 0.0001,
     "Pressures" : [
       {
         "Spec" : "700 kPa",
         "Stage" : 0
       },
       {
         "Spec" : "750 kPa",
         "Stage" : -1
       }
     ],
     "ovhdFormula" : "140 kgmole/h",
     "DiagramX" : 377.476,
     "Feeds" : [
       {
         "Stage" : 4,
         "Fluid" : "feed.l"
       },
       {
         "Stage" : 7,
         "Fluid" : "lts.l"
       }
     ],
     "maxOuterError" : 0.0001,
     "viewPage" : 2,
     "maxOuterLoops" : 20,
     "nStages" : 15,
     "refluxRatio" : "1.0",
     "attemptRestart" : false,
     "dampingFactor" : 1,
     "maxInnerLoops" : 50,
     "name" : "stab",
     "Description" : "liquid stabilizer",
     "Type" : "Tower",
     "Draws" : [],
     "Energies" : [
       {
         "Spec" : "(@vpcheck.t -{fromunit \"f\" \"t\" 100}) / 500",
         "Stage" : 0
       },
       {
         "Stage" : -1
       }
     ],
     "Temperatures" : [
       {
         "Spec" : "20 C",
         "Stage" : 0
       },
       {
         "Spec" : "150 C",
         "Stage" : -1
       }
     ],
     "DiagramY" : 214.8306,
     "maxInnerError" : 0.0001
   },
   {
     "Enabled" : "y",
     "name" : "solver",
     "DiagramX" : 258.593,
     "Type" : "Function Solver",
     "type0" : "T",
     "f1" : "(#refrig.power - $hpspec)/ $hpspec",
     "f0" : "@dewpt - $dewspec",
     "type1" : "Q",
     "DiagramY" : 265.7565
   },
   {
     "Tools" : [
       {
         "Source" : "@refrigerant",
         "name" : "X",
         "Description" : "refrigerant composition",
         "Notes" : "Refrigerant composition.",
         "DiagramX" : 10.97431,
         "Type" : "Model Input Tool",
         "DiagramY" : 13.89725
       },
       {
         "Source" : "@chillfeed",
         "name" : "HotIn",
         "Description" : "the fluid to be cooled",
         "Notes" : "The inlet fluid to be cooled.",
         "DiagramX" : 11.38291,
         "Type" : "Model Input Tool",
         "DiagramY" : 45.07595
       },
       {
         "Type" : "Model Input Tool",
         "Source" : "@chillout.t",
         "name" : "HotOutT",
         "Notes" : "The temperature that the fluid is to be cooled to.",
         "DiagramX" : 12.61392,
         "DiagramY" : 77.55106
       },
       {
         "Tools" : [
           {
             "Type" : "Model Input Tool",
             "Source" : "@c3comp",
             "name" : "feed",
             "DiagramX" : 2.999033,
             "DiagramY" : -69.63706
           },
           {
             "Enabled" : "y",
             "name" : "polysolver",
             "DiagramX" : 179.6189,
             "Type" : "Function Solver",
             "type0" : "Vf",
             "f0" : "$polyeff - #comp.poly",
             "DiagramY" : 19.78611
           },
           {
             "name" : "comp",
             "Notes" : "Note that the formula for efficiency is only design to work for adiabatic efficiencies between 0.5 and 1.",
             "Feed" : "feed",
             "DiagramX" : 180.619,
             "outP" : "$outletp",
             "Type" : "Compressor/Expander",
             "efficiency" : "{if @feed.s, (.5 + (10 + #polysolver.0) / 40), 1 }\n' the if statement ensures that the feed is calculated before the solver is invoked",
             "DiagramY" : -38.54722
           },
           {
             "Type" : "Model Input Tool",
             "Source" : "$cmpOutP",
             "name" : "OutletP",
             "Notes" : "Supply a source in the parent if the outlet pressure is to be calculated there.",
             "DiagramX" : 1.905813,
             "DiagramY" : -39.51533
           },
           {
             "Type" : "Model Input Tool",
             "Source" : "$compEff",
             "name" : "PolyEff",
             "Notes" : "Supply a source in the parent if the polytropic efficiency is to be calculated there.",
             "DiagramX" : -0.2690217,
             "DiagramY" : 20.43869
           }
         ],
         "name" : "c3comp",
         "Notes" : "This model represents a compressor or expander with a specified polytropic efficiency.  Essentially it is just pairs a normal compressor/expander tool with a solver.\n\nAll the other objects in the model are just for getting input and making output available, although the $OutletP and $PolyEff variables are interesting in that they use an \"if\" function to choose between a model input value and a directly specified variable.  If the model input has a source, it is used, otherwise the variable value is used.",
         "DiagramX" : 292.1754,
         "Variables" : [
           {
             "Type" : "V",
             "PropertyType" : "Vf",
             "name" : "PolyEff",
             "DiagramX" : 91.94737,
             "DiagramY" : -3.90169,
             "PropertyFormula" : "{if #polyEff, #polyEff, $PolyE} "
           },
           {
             "Type" : "V",
             "PropertyType" : "Vf",
             "name" : "e",
             "DiagramX" : 276.6189,
             "DiagramY" : 37.11945,
             "PropertyFormula" : "#comp.e"
           },
           {
             "Type" : "V",
             "PropertyType" : "Vf",
             "name" : "poly",
             "DiagramX" : 277.2856,
             "DiagramY" : 60.45277,
             "PropertyFormula" : "#comp.poly"
           },
           {
             "Type" : "V",
             "PropertyType" : "Q",
             "name" : "power",
             "DiagramX" : 277.619,
             "DiagramY" : 84.78612,
             "PropertyFormula" : "#comp.power"
           },
           {
             "Type" : "V",
             "PropertyType" : "H",
             "name" : "H",
             "DiagramX" : 278.2856,
             "DiagramY" : -57.21388,
             "PropertyFormula" : "#comp.h"
           },
           {
             "Type" : "V",
             "PropertyType" : "P",
             "name" : "P",
             "DiagramX" : 278.2856,
             "DiagramY" : -33.54721,
             "PropertyFormula" : "#comp.p"
           },
           {
             "Type" : "V",
             "PropertyType" : "X",
             "name" : "X",
             "DiagramX" : 278.2856,
             "DiagramY" : -12.21388,
             "PropertyFormula" : "#comp.x"
           },
           {
             "Type" : "V",
             "PropertyType" : "F",
             "name" : "F",
             "DiagramX" : 276.9523,
             "DiagramY" : 12.45279,
             "PropertyFormula" : "#comp.f"
           },
           {
             "PropertyFormula" : "",
             "name" : "POut",
             "Notes" : "Give this variable a value for the compressor outlet pressure if a parent value isn't being used.",
             "DiagramX" : 2.071657,
             "Type" : "V",
             "PropertyType" : "P",
             "DiagramY" : -13.34227
           },
           {
             "Type" : "V",
             "PropertyType" : "P",
             "name" : "OutletP",
             "DiagramX" : 92.34296,
             "DiagramY" : -34.85221,
             "PropertyFormula" : "{if #outletp, #outletp.p, $pout}"
           },
           {
             "PropertyFormula" : ".8",
             "name" : "PolyE",
             "Notes" : "Give this variable a value for the polytropic efficiency if a parent value isn't being used.",
             "DiagramX" : 0.9387722,
             "Type" : "V",
             "PropertyType" : "Vf",
             "DiagramY" : 55.03141
           }
         ],
         "diagramX" : 10.26902,
         "Type" : "Model Tool",
         "Fluids" : [
           {
             "FlowFormula" : "#feed",
             "SumCompForFlow" : false,
             "DiagramX" : 90.44435,
             "Retrograde" : false,
             "FirstPropType" : "P",
             "CompFormula" : "#feed",
             "SecondPropType" : "H",
             "FirstPropFormula" : "#feed",
             "TwoLiquids" : false,
             "SecondPropFormula" : "#feed",
             "name" : "feed",
             "Type" : "F",
             "DiagramY" : -63.86856
           },
           {
             "FlowFormula" : "#comp",
             "SumCompForFlow" : false,
             "DiagramX" : 278.9523,
             "Retrograde" : false,
             "FirstPropType" : "P",
             "CompFormula" : "#comp",
             "SecondPropType" : "H",
             "FirstPropFormula" : "#comp",
             "TwoLiquids" : false,
             "SecondPropFormula" : "#comp",
             "name" : "out",
             "Type" : "F",
             "DiagramY" : -80.21389
           }
         ],
         "diagramScale" : 2.841803,
         "DiagramY" : 158.0053,
         "diagramY" : 100.9169
       }
     ],
     "name" : "refrig",
     "Notes" : "(This is the same as the normal refrig model, except it uses the polytropic compressor model instead of the normal compressor tool)\n\nThis model represents a standard single stage refrigeration system.  The refrigerant composition is obtained from the parent by means of the #X model input tool, as is the hot inlet fluid (#HotIn) and the hot side outlet temperature (#HotOutT).\n\nSee the notes on left side variables for information about other inputs.",
     "DiagramX" : 175.6277,
     "Variables" : [
       {
         "PropertyFormula" : "50 Kpa",
         "name" : "dphot",
         "Notes" : "The pressure drop of the warm fluid in the chiller.",
         "DiagramX" : 14.15664,
         "Type" : "V",
         "PropertyType" : "DeltaP",
         "DiagramY" : 107.7188
       },
       {
         "PropertyFormula" : "10 Kpa",
         "name" : "dpcold",
         "Notes" : "The pressure drop of the refrigerant in the chiller.",
         "DiagramX" : 14.15664,
         "Type" : "V",
         "PropertyType" : "DeltaP",
         "DiagramY" : 144.6491
       },
       {
         "Type" : "V",
         "PropertyType" : "Reference",
         "name" : "HotOut",
         "DiagramX" : 418.8666,
         "DiagramY" : 37.03811,
         "PropertyFormula" : "@HotOut"
       },
       {
         "Type" : "V",
         "PropertyType" : "Q",
         "name" : "Q",
         "DiagramX" : 214.0569,
         "DiagramY" : 92.27057,
         "PropertyFormula" : "#HotIn - @HotOut"
       },
       {
         "name" : "CondT",
         "Description" : "refrigerant condensing temperature",
         "Notes" : "The temperature of the refrigerant leaving the condenser.  Often this is a function of the ambient air temperature.",
         "DiagramX" : 14.15662,
         "PropertyFormula" : "45 C",
         "Type" : "V",
         "PropertyType" : "T",
         "DiagramY" : 177.271
       },
       {
         "name" : "dt",
         "Description" : "hot end dt",
         "Notes" : "The difference in the temperature between the refrigerant and the warm fluid leaving the chiller.",
         "DiagramX" : 16.00317,
         "PropertyFormula" : "5 C",
         "Type" : "V",
         "PropertyType" : "DeltaT",
         "DiagramY" : 212.9703
       },
       {
         "name" : "dpCond",
         "Description" : "condensor pressure drop",
         "Notes" : "The pressure drop of the refrigerant in the condenser.",
         "DiagramX" : 15.67767,
         "PropertyFormula" : "75 Kpa",
         "Type" : "V",
         "PropertyType" : "DeltaP",
         "DiagramY" : 245.6903
       },
       {
         "PropertyFormula" : "#c3comp.power",
         "name" : "power",
         "Description" : "Compressor power",
         "DiagramX" : 417.5421,
         "Type" : "V",
         "PropertyType" : "Q",
         "DiagramY" : 149.8665
       },
       {
         "name" : "compEff",
         "Description" : "compressor efficiency",
         "Notes" : "The compressor efficiency.",
         "DiagramX" : 14.49111,
         "PropertyFormula" : ".75",
         "Type" : "V",
         "PropertyType" : "Vf",
         "DiagramY" : 277.622
       },
       {
         "Type" : "V",
         "PropertyType" : "Reference",
         "name" : "CondIn",
         "DiagramX" : 419.6184,
         "DiagramY" : 95.38553,
         "PropertyFormula" : "@condin"
       },
       {
         "Type" : "V",
         "PropertyType" : "Q",
         "name" : "CondQ",
         "DiagramX" : 418.9332,
         "DiagramY" : 200.7647,
         "PropertyFormula" : "@c3jt - @condIn"
       },
       {
         "PropertyFormula" : "@chillerIn",
         "name" : "ChillerIn.",
         "Description" : "refrigerant to chller",
         "DiagramX" : 417.0685,
         "Type" : "V",
         "PropertyType" : "Reference",
         "DiagramY" : 256.0838
       },
       {
         "Type" : "V",
         "PropertyType" : "P",
         "name" : "CmpOutP",
         "DiagramX" : 324.7387,
         "DiagramY" : 241.6794,
         "PropertyFormula" : "@c3jt + $dpCond"
       }
     ],
     "diagramX" : -4.377327,
     "Type" : "Model Tool",
     "Fluids" : [
       {
         "FlowFormula" : "#HotIn",
         "SumCompForFlow" : false,
         "DiagramX" : 174.1882,
         "Retrograde" : false,
         "FirstPropType" : "T",
         "CompFormula" : "#HotIn",
         "SecondPropType" : "P",
         "FirstPropFormula" : "#HotOutT",
         "TwoLiquids" : false,
         "SecondPropFormula" : "#HotIn - $dpHot",
         "name" : "HotOut",
         "Type" : "F",
         "DiagramY" : 38.16658
       },
       {
         "FlowFormula" : "$Q / (@c3comp.H - @c3jt.H)",
         "SumCompForFlow" : false,
         "DiagramX" : 235.0382,
         "FirstPropType" : "T",
         "SecondPropType" : "Vf",
         "CompFormula" : "@c3comp",
         "FirstPropFormula" : "$condT",
         "Retrograde" : false,
         "TwoLiquids" : false,
         "SecondPropFormula" : "0",
         "name" : "c3jt",
         "Description" : "Propane to JT Valve",
         "Type" : "F",
         "DiagramY" : 215.1048
       },
       {
         "FlowFormula" : "@c3jt",
         "SumCompForFlow" : false,
         "DiagramX" : 155.7231,
         "FirstPropType" : "T",
         "SecondPropType" : "Vf",
         "CompFormula" : "#X",
         "FirstPropFormula" : "#HotOutT - $dt",
         "Retrograde" : false,
         "TwoLiquids" : false,
         "SecondPropFormula" : "1",
         "name" : "c3comp",
         "Description" : "Propane from chiller to Compressor",
         "Type" : "F",
         "DiagramY" : 133.5701
       },
       {
         "FlowFormula" : "#c3comp",
         "SumCompForFlow" : false,
         "DiagramX" : 326.7156,
         "Retrograde" : false,
         "FirstPropType" : "P",
         "CompFormula" : "#c3comp",
         "SecondPropType" : "H",
         "FirstPropFormula" : "#c3comp",
         "TwoLiquids" : false,
         "SecondPropFormula" : "#c3comp",
         "name" : "CondIn",
         "Type" : "F",
         "DiagramY" : 95.07375
       },
       {
         "FlowFormula" : "@c3jt",
         "SumCompForFlow" : false,
         "DiagramX" : 187.179,
         "Retrograde" : false,
         "FirstPropType" : "P",
         "CompFormula" : "@c3jt",
         "SecondPropType" : "H",
         "FirstPropFormula" : "@c3comp + $dpcold",
         "TwoLiquids" : false,
         "SecondPropFormula" : "@c3jt",
         "name" : "ChillerIn",
         "Type" : "F",
         "DiagramY" : 273.6158
       }
     ],
     "diagramScale" : 2.056998,
     "DiagramY" : 216.5758,
     "diagramY" : -0.4942327
   },
   {
     "Tools" : [
       {
         "Type" : "Model Input Tool",
         "Source" : "feed.v",
         "name" : "side1in",
         "DiagramX" : 11.85318,
         "DiagramY" : 19.55223
       },
       {
         "Type" : "Model Input Tool",
         "Source" : "lts.v",
         "name" : "side2in",
         "DiagramX" : 9.666661,
         "DiagramY" : 108.1964
       }
     ],
     "name" : "gasgas",
     "Notes" : "Models the heat balance of a simple two sided exchanger.\n\nThe inlet fluids are obtained from the parent and the pressure drops are specified in the $side1dp and $side2dp variables.\n\nThe side2out temperature is set as a difference from the side1in temperature by variable $dt, but of course the model can be altered for other circumstances.",
     "DiagramX" : 216.3017,
     "Variables" : [
       {
         "PropertyFormula" : "-5 C",
         "name" : "dt",
         "Description" : "delta T between side1in and side2out",
         "DiagramX" : 7.000001,
         "Type" : "V",
         "PropertyType" : "DeltaT",
         "DiagramY" : 160.1964
       },
       {
         "Type" : "V",
         "PropertyType" : "DeltaP",
         "name" : "side1dp",
         "DiagramX" : 11.66667,
         "DiagramY" : 46.1964,
         "PropertyFormula" : "50 Kpa"
       },
       {
         "Type" : "V",
         "PropertyType" : "DeltaP",
         "name" : "side2dp",
         "DiagramX" : 8.333344,
         "DiagramY" : 132.8631,
         "PropertyFormula" : "50 Kpa"
       },
       {
         "Type" : "V",
         "PropertyType" : "Reference",
         "name" : "side1out",
         "DiagramX" : 322.7667,
         "DiagramY" : 23.02135,
         "PropertyFormula" : "@side1out"
       },
       {
         "Type" : "V",
         "PropertyType" : "Reference",
         "name" : "side2out",
         "DiagramX" : 333.9115,
         "DiagramY" : 160.9684,
         "PropertyFormula" : "@side2out"
       },
       {
         "Type" : "V",
         "PropertyType" : "Q",
         "name" : "duty",
         "DiagramX" : 325.2804,
         "DiagramY" : 76.29341,
         "PropertyFormula" : "@side1out - #side1in"
       },
       {
         "Type" : "V",
         "PropertyType" : "DeltaT",
         "name" : "dta",
         "DiagramX" : 247.7463,
         "DiagramY" : 93.10149,
         "PropertyFormula" : "#side1in.t - @side2out.t"
       },
       {
         "Type" : "V",
         "PropertyType" : "DeltaT",
         "name" : "dtb",
         "DiagramX" : 248.2448,
         "DiagramY" : 127.8955,
         "PropertyFormula" : "@side1out.t - #side2in.t"
       },
       {
         "PropertyFormula" : "($dta - $dtb) /\n{ln ($dta/$dtb)}",
         "name" : "lmtd",
         "Notes" : "Assumes a simple single shell, single tube bundle exchanger with an f factor of 1.  Adding F factor calculations for other configurations would be relatively straight forward.",
         "DiagramX" : 332.219,
         "Type" : "V",
         "PropertyType" : "Vf",
         "DiagramY" : 109.9919
       }
     ],
     "diagramX" : 2.999999,
     "Type" : "Model Tool",
     "Fluids" : [
       {
         "FlowFormula" : "#side1in",
         "SumCompForFlow" : false,
         "DiagramX" : 164.5857,
         "Retrograde" : false,
         "FirstPropType" : "P",
         "CompFormula" : "#side1in",
         "SecondPropType" : "H",
         "FirstPropFormula" : "#side1in - $side1dp",
         "TwoLiquids" : false,
         "SecondPropFormula" : "(#side1in.q + #side2in.q - @side2out.q ) / @side1out.f ",
         "name" : "side1out",
         "Type" : "F",
         "DiagramY" : 21.8401
       },
       {
         "FlowFormula" : "#side2in",
         "SumCompForFlow" : false,
         "DiagramX" : 123.3361,
         "Retrograde" : false,
         "FirstPropType" : "T",
         "CompFormula" : "#side2in",
         "SecondPropType" : "P",
         "FirstPropFormula" : "#side1in + $dt",
         "TwoLiquids" : false,
         "SecondPropFormula" : "#side2in - $side2dp",
         "name" : "side2out",
         "Type" : "F",
         "DiagramY" : 161.5551
       }
     ],
     "diagramScale" : 2.491526,
     "DiagramY" : 42.13112,
     "diagramY" : -9.552231
   },
   {
     "Tools" : [
       {
         "Type" : "Model Input Tool",
         "Source" : "salesgas",
         "name" : "feed",
         "DiagramX" : 2.999033,
         "DiagramY" : -69.63706
       },
       {
         "Enabled" : "y",
         "name" : "polysolver",
         "DiagramX" : 179.6189,
         "Type" : "Function Solver",
         "type0" : "Vf",
         "f0" : "$polyeff - #comp.poly",
         "DiagramY" : 19.78611
       },
       {
         "name" : "comp",
         "Notes" : "Note that the formula for efficiency is only design to work for adiabatic efficiencies between 0.5 and 1.",
         "Feed" : "feed",
         "DiagramX" : 180.619,
         "outP" : "$outletp",
         "Type" : "Compressor/Expander",
         "efficiency" : "{if @feed.s, (.5 + (10 + #polysolver.0) / 40), 1 }\n' the if statement ensures that the feed is calculated before the solver is invoked",
         "DiagramY" : -38.54722
       },
       {
         "Type" : "Model Input Tool",
         "Source" : "",
         "name" : "OutletP",
         "Notes" : "Supply a source in the parent if the outlet pressure is to be calculated there.",
         "DiagramX" : 1.905813,
         "DiagramY" : -39.51533
       },
       {
         "Type" : "Model Input Tool",
         "Source" : "",
         "name" : "PolyEff",
         "Notes" : "Supply a source in the parent if the polytropic efficiency is to be calculated there.",
         "DiagramX" : -0.2690217,
         "DiagramY" : 20.43869
       }
     ],
     "name" : "polycomp",
     "Notes" : "This model represents a compressor or expander with a specified polytropic efficiency.  Essentially it is just pairs a normal compressor/expander tool with a solver.\n\nAll the other objects in the model are just for getting input and making output available, although the $OutletP and $PolyEff variables are interesting in that they use an \"if\" function to choose between a model input value and a directly specified variable.  If the model input has a source, it is used, otherwise the variable value is used.",
     "DiagramX" : 435.3698,
     "Variables" : [
       {
         "Type" : "V",
         "PropertyType" : "Vf",
         "name" : "PolyEff",
         "DiagramX" : 91.94737,
         "DiagramY" : -3.90169,
         "PropertyFormula" : "{if #polyEff, #polyEff, $PolyE} "
       },
       {
         "Type" : "V",
         "PropertyType" : "Vf",
         "name" : "e",
         "DiagramX" : 276.6189,
         "DiagramY" : 37.11945,
         "PropertyFormula" : "#comp.e"
       },
       {
         "Type" : "V",
         "PropertyType" : "Vf",
         "name" : "poly",
         "DiagramX" : 277.2856,
         "DiagramY" : 60.45277,
         "PropertyFormula" : "#comp.poly"
       },
       {
         "Type" : "V",
         "PropertyType" : "Q",
         "name" : "power",
         "DiagramX" : 277.619,
         "DiagramY" : 84.78612,
         "PropertyFormula" : "#comp.power"
       },
       {
         "Type" : "V",
         "PropertyType" : "H",
         "name" : "H",
         "DiagramX" : 278.2856,
         "DiagramY" : -57.21388,
         "PropertyFormula" : "#comp.h"
       },
       {
         "Type" : "V",
         "PropertyType" : "P",
         "name" : "P",
         "DiagramX" : 278.2856,
         "DiagramY" : -33.54721,
         "PropertyFormula" : "#comp.p"
       },
       {
         "Type" : "V",
         "PropertyType" : "X",
         "name" : "X",
         "DiagramX" : 278.2856,
         "DiagramY" : -12.21388,
         "PropertyFormula" : "#comp.x"
       },
       {
         "Type" : "V",
         "PropertyType" : "F",
         "name" : "F",
         "DiagramX" : 276.9523,
         "DiagramY" : 12.45279,
         "PropertyFormula" : "#comp.f"
       },
       {
         "PropertyFormula" : "7000 kPa",
         "name" : "POut",
         "Notes" : "Give this variable a value for the compressor outlet pressure if a parent value isn't being used.",
         "DiagramX" : 2.071657,
         "Type" : "V",
         "PropertyType" : "P",
         "DiagramY" : -13.34227
       },
       {
         "Type" : "V",
         "PropertyType" : "P",
         "name" : "OutletP",
         "DiagramX" : 92.34296,
         "DiagramY" : -34.85221,
         "PropertyFormula" : "{if #outletp, #outletp.p, $pout}"
       },
       {
         "PropertyFormula" : ".8",
         "name" : "PolyE",
         "Notes" : "Give this variable a value for the polytropic efficiency if a parent value isn't being used.",
         "DiagramX" : 0.9387722,
         "Type" : "V",
         "PropertyType" : "Vf",
         "DiagramY" : 55.03141
       }
     ],
     "diagramX" : 10.26902,
     "Type" : "Model Tool",
     "Fluids" : [
       {
         "FlowFormula" : "#feed",
         "SumCompForFlow" : false,
         "DiagramX" : 90.44435,
         "Retrograde" : false,
         "FirstPropType" : "P",
         "CompFormula" : "#feed",
         "SecondPropType" : "H",
         "FirstPropFormula" : "#feed",
         "TwoLiquids" : false,
         "SecondPropFormula" : "#feed",
         "name" : "feed",
         "Type" : "F",
         "DiagramY" : -63.86856
       },
       {
         "FlowFormula" : "#comp",
         "SumCompForFlow" : false,
         "DiagramX" : 278.9523,
         "Retrograde" : false,
         "FirstPropType" : "P",
         "CompFormula" : "#comp",
         "SecondPropType" : "H",
         "FirstPropFormula" : "#comp",
         "TwoLiquids" : false,
         "SecondPropFormula" : "#comp",
         "name" : "out",
         "Type" : "F",
         "DiagramY" : -80.21389
       }
     ],
     "diagramScale" : 2.841803,
     "DiagramY" : 41.08794,
     "diagramY" : 100.9169
   }
 ],
 "diagramX" : -7.665431,
 "SelectedToolIndex" : 6,
 "Program" : "Alph",
 "NextFluidNumber" : 1,
 "Fluids" : [
   {
     "FlowFormula" : "10 mmscfd",
     "SumCompForFlow" : false,
     "DiagramX" : 18.01971,
     "Retrograde" : false,
     "FirstPropType" : "T",
     "CompFormula" : "[ 70,20,10,9,8,7,6,5 ]",
     "SecondPropType" : "P",
     "FirstPropFormula" : "10 C",
     "TwoLiquids" : false,
     "SecondPropFormula" : "4000 kPa",
     "name" : "feed",
     "Type" : "F",
     "DiagramY" : 131.4554
   },
   {
     "FlowFormula" : "@chillout",
     "SumCompForFlow" : false,
     "DiagramX" : 341.1003,
     "Retrograde" : false,
     "FirstPropType" : "P",
     "CompFormula" : "@chillout",
     "SecondPropType" : "H",
     "FirstPropFormula" : "@chillout * (1 + #solver.1)",
     "TwoLiquids" : false,
     "SecondPropFormula" : "@chillout",
     "name" : "lts",
     "Type" : "F",
     "DiagramY" : 91.61353
   },
   {
     "FlowFormula" : "@lts.v",
     "SumCompForFlow" : false,
     "DiagramX" : 432.2426,
     "Retrograde" : false,
     "FirstPropType" : "P",
     "CompFormula" : "@lts.v",
     "SecondPropType" : "Vf",
     "FirstPropFormula" : "800 psig",
     "TwoLiquids" : false,
     "SecondPropFormula" : "1",
     "name" : "dewpt",
     "Type" : "F",
     "DiagramY" : 92.14008
   },
   {
     "FlowFormula" : "#gasgas.side2out",
     "SumCompForFlow" : false,
     "DiagramX" : 342.521,
     "Retrograde" : false,
     "FirstPropType" : "T",
     "CompFormula" : "#gasgas.side2out",
     "SecondPropType" : "P",
     "FirstPropFormula" : "#gasgas.side2out",
     "TwoLiquids" : false,
     "SecondPropFormula" : "#gasgas.side2out",
     "name" : "salesgas",
     "Type" : "F",
     "DiagramY" : 41.35933
   },
   {
     "FlowFormula" : "#gasgas.side1out",
     "SumCompForFlow" : false,
     "DiagramX" : 163.6544,
     "FirstPropType" : "P",
     "SecondPropType" : "H",
     "CompFormula" : "#gasgas.side1out",
     "FirstPropFormula" : "#gasgas.side1out",
     "Retrograde" : false,
     "TwoLiquids" : false,
     "SecondPropFormula" : "#gasgas.side1out",
     "name" : "chillfeed",
     "Description" : "Chiller Feed",
     "Type" : "F",
     "DiagramY" : 93.15614
   },
   {
     "FlowFormula" : "#stab.0.v.f",
     "SumCompForFlow" : false,
     "DiagramX" : 459.4357,
     "FirstPropType" : "P",
     "SecondPropType" : "Vf",
     "CompFormula" : "#stab.0.v.x",
     "FirstPropFormula" : "#stab.0.p",
     "Retrograde" : false,
     "TwoLiquids" : true,
     "SecondPropFormula" : "1",
     "name" : "stabovhd",
     "Description" : "Stabilizer Overhead",
     "Type" : "F",
     "DiagramY" : 193.0953
   },
   {
     "FlowFormula" : "#stab._1.l.f",
     "SumCompForFlow" : false,
     "DiagramX" : 457.601,
     "FirstPropType" : "P",
     "SecondPropType" : "Vf",
     "CompFormula" : "#stab._1.l.x",
     "FirstPropFormula" : "#stab._1.p",
     "Retrograde" : false,
     "TwoLiquids" : false,
     "SecondPropFormula" : "0",
     "name" : "stabbtms",
     "Description" : "Stabilizer Bottoms",
     "Type" : "F",
     "DiagramY" : 255.7651
   },
   {
     "FlowFormula" : "@stabbtms",
     "SumCompForFlow" : false,
     "DiagramX" : 386.6325,
     "FirstPropType" : "P",
     "SecondPropType" : "Vf",
     "CompFormula" : "@stabbtms",
     "FirstPropFormula" : "1 atm",
     "Retrograde" : false,
     "TwoLiquids" : false,
     "SecondPropFormula" : "0",
     "name" : "vpcheck",
     "Description" : "Checl vapour pressure of stab liquids",
     "Type" : "F",
     "DiagramY" : 292.9718
   },
   {
     "Retrograde" : false,
     "TwoLiquids" : false,
     "SumCompForFlow" : false,
     "name" : "refrigerant",
     "DiagramX" : 16.8409,
     "Type" : "F",
     "SecondPropType" : "P",
     "FirstPropType" : "T",
     "DiagramY" : 195.9946,
     "CompFormula" : "[ 0,0,1,0,0,0,0,0 ]"
   },
   {
     "FlowFormula" : "@chillfeed",
     "SumCompForFlow" : false,
     "DiagramX" : 257.3419,
     "Retrograde" : false,
     "FirstPropType" : "T",
     "CompFormula" : "@chillfeed",
     "SecondPropType" : "P",
     "FirstPropFormula" : "$dewspec + #solver.0",
     "TwoLiquids" : false,
     "SecondPropFormula" : "@chillFeed - 50",
     "name" : "ChillOut",
     "Type" : "F",
     "DiagramY" : 100.1711
   }
 ],
 "Hypotheticals" : [],
 "diagramY" : -13.96522,
 "CompoundNames" : [
   "METHANE",
   "ETHANE",
   "PROPANE",
   "n-BUTANE",
   "n-PENTANE",
   "n-HEXANE",
   "n-HEPTANE",
   "n-OCTANE"
 ],
 "SelectedVariableIndex" : 2147483647,
 "Notes" : "This case is a modification of the \"Model Example 1\" case, which illustrates that models can be nested by using a copy of the polycomp model instead of a plain compressor tool in the refrig model.\n\nSee the notes of the models for more information.",
 "Variables" : [
   {
     "Type" : "V",
     "PropertyType" : "T",
     "name" : "dewspec",
     "DiagramX" : 16.62225,
     "DiagramY" : 231.0432,
     "PropertyFormula" : "-10 C"
   },
   {
     "Type" : "V",
     "PropertyType" : "Q",
     "name" : "hpspec",
     "DiagramX" : 17.90663,
     "DiagramY" : 269.5976,
     "PropertyFormula" : "10000 W"
   }
 ],
 "CaseName" : "Model Example 2",
 "CurrentUnitSet" : 1,
 "NextVariableNumber" : 1,
 "Version" : 1.4,
 "diagramScale" : 1.917212,
 "DisplayedProperties" : {
   "-4" : "y",
   "8" : "y",
   "-2" : "y",
   "-1" : "y",
   "10001" : "y",
   "-6" : "y",
   "9" : "y"
 }
}