Loading tests/test_ThermoGISDoublet_Benchmark.py +26 −27 Original line number Diff line number Diff line Loading @@ -14,7 +14,6 @@ class ThermoGISDoubletBenchmark(TestCase): returns the same values. """ # Arrange # Import Java Classes start_jvm() Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") Loading @@ -24,7 +23,6 @@ class ThermoGISDoubletBenchmark(TestCase): UTCPropertiesBuilder = JClass("thermogis.properties.builders.UTCPropertiesBuilder") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (UTCPropertiesBuilder() .setViscosityMode(ViscosityMode.KESTIN) .setDhReturnTemp(40) Loading @@ -46,7 +44,6 @@ class ThermoGISDoubletBenchmark(TestCase): None, # ates input ) # Create an instance of a ThermoGISDoublet doublet = ThermoGISDoublet(Mockito.mock(Logger), RNG(0), utc_properties) Loading Loading @@ -76,7 +73,6 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder() .setOpexBase(0) .setDhReturnTemp(40) Loading Loading @@ -129,7 +125,6 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder() .setCapexConst(0.5) .setCapexVariable(1100) Loading @@ -139,7 +134,6 @@ class ThermoGISDoubletBenchmark(TestCase): .setViscosityMode(ViscosityMode.KESTIN) .build()) # Create an instance of a ThermoGISDoublet thickness = 100 permeability = 175 transmissivity = thickness * permeability Loading Loading @@ -185,7 +179,6 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder() .setOpexPerPower(100) .setOpexBase(0) Loading @@ -194,7 +187,7 @@ class ThermoGISDoubletBenchmark(TestCase): .setDhReturnTemp(35) .setViscosityMode(ViscosityMode.KESTIN) .build()) # Create an instance of a ThermoGISDoublet thickness = 100 permeability = 175 transmissivity = thickness * permeability Loading Loading @@ -241,39 +234,45 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder().setCapexConst(0) utc_properties = (self.setup_template_utc_properties_builder() .setCapexConst(0) .setCapexVariable(2300) .setHeatExchangerEfficiency(0.6) .setUseORC(True) .setViscosityMode(ViscosityMode.KESTIN) .setDhReturnTemp(60) .setHeatExchangerBasetemp(20).build()) # Create an instance of a ThermoGISDoublet doublet = ThermoGISDoublet(Mockito.mock(Logger), RNG(0), utc_properties) # Setting input values thickness = 100 permeability = 175 transmissivity = thickness * permeability doublet.setReservoirTemp(100) doublet.setDepth(2000) doublet.setInjectionTemp(60) doublet.setNtg(1.0) doublet.setNoStimulation() temperature = 100 input = DoubletInput( -999.0, # unknowninput thickness, transmissivity, 0.0, # transmissivityWithNtg 1.0, # ntg 2000.0, # depth 0.0,# porosity temperature, None, # ates input ) doublet = ThermoGISDoublet(Mockito.mock(Logger), RNG(0), utc_properties) # Act doublet.calculateDoubletPerformance(-999, thickness, transmissivity, False) results = doublet.calculateDoubletPerformance(input) # Assert self.assertTrue(np.isclose(17499.99940, transmissivity, 0.001)) self.assertTrue(np.isclose(293.6246643066406, doublet.getFlowrate(), 1)) self.assertTrue(np.isclose(60, doublet.getDrawdownPressure() / 1e5, 0.001)) self.assertTrue(np.isclose(36.98296076530068, doublet.getUtcPeurctkWh(), 0.001)) self.assertTrue(np.isclose(0.05274631495788107, doublet.getHeatPowerPerDoublet(), 0.01)) self.assertTrue(np.isclose(1306.4453125, doublet.getWellDistance(), 0.001)) self.assertTrue(np.isclose(0.06459403120103477, doublet.getCop(), 0.001)) self.assertTrue(np.isclose(12.44409167482118, doublet.getSumcapex(), 0.001)) self.assertTrue(np.isclose(293.6246643066406, results.flow(), 1)) self.assertTrue(np.isclose(60, results.pres(), 0.001)) self.assertTrue(np.isclose(36.98296076530068, results.utc(), 0.001)) self.assertTrue(np.isclose(0.05274631495788107, results.power(), 0.01)) self.assertTrue(np.isclose(1306.4453125, results.welld(), 0.001)) self.assertTrue(np.isclose(0.06459403120103477, results.cop(), 0.001)) self.assertTrue(np.isclose(12.44409167482118, results.capex(), 0.001)) def setup_template_utc_properties_builder(self): return (instantiate_utc_properties_builder() Loading Loading
tests/test_ThermoGISDoublet_Benchmark.py +26 −27 Original line number Diff line number Diff line Loading @@ -14,7 +14,6 @@ class ThermoGISDoubletBenchmark(TestCase): returns the same values. """ # Arrange # Import Java Classes start_jvm() Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") Loading @@ -24,7 +23,6 @@ class ThermoGISDoubletBenchmark(TestCase): UTCPropertiesBuilder = JClass("thermogis.properties.builders.UTCPropertiesBuilder") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (UTCPropertiesBuilder() .setViscosityMode(ViscosityMode.KESTIN) .setDhReturnTemp(40) Loading @@ -46,7 +44,6 @@ class ThermoGISDoubletBenchmark(TestCase): None, # ates input ) # Create an instance of a ThermoGISDoublet doublet = ThermoGISDoublet(Mockito.mock(Logger), RNG(0), utc_properties) Loading Loading @@ -76,7 +73,6 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder() .setOpexBase(0) .setDhReturnTemp(40) Loading Loading @@ -129,7 +125,6 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder() .setCapexConst(0.5) .setCapexVariable(1100) Loading @@ -139,7 +134,6 @@ class ThermoGISDoubletBenchmark(TestCase): .setViscosityMode(ViscosityMode.KESTIN) .build()) # Create an instance of a ThermoGISDoublet thickness = 100 permeability = 175 transmissivity = thickness * permeability Loading Loading @@ -185,7 +179,6 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder() .setOpexPerPower(100) .setOpexBase(0) Loading @@ -194,7 +187,7 @@ class ThermoGISDoubletBenchmark(TestCase): .setDhReturnTemp(35) .setViscosityMode(ViscosityMode.KESTIN) .build()) # Create an instance of a ThermoGISDoublet thickness = 100 permeability = 175 transmissivity = thickness * permeability Loading Loading @@ -241,39 +234,45 @@ class ThermoGISDoubletBenchmark(TestCase): DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (self.setup_template_utc_properties_builder().setCapexConst(0) utc_properties = (self.setup_template_utc_properties_builder() .setCapexConst(0) .setCapexVariable(2300) .setHeatExchangerEfficiency(0.6) .setUseORC(True) .setViscosityMode(ViscosityMode.KESTIN) .setDhReturnTemp(60) .setHeatExchangerBasetemp(20).build()) # Create an instance of a ThermoGISDoublet doublet = ThermoGISDoublet(Mockito.mock(Logger), RNG(0), utc_properties) # Setting input values thickness = 100 permeability = 175 transmissivity = thickness * permeability doublet.setReservoirTemp(100) doublet.setDepth(2000) doublet.setInjectionTemp(60) doublet.setNtg(1.0) doublet.setNoStimulation() temperature = 100 input = DoubletInput( -999.0, # unknowninput thickness, transmissivity, 0.0, # transmissivityWithNtg 1.0, # ntg 2000.0, # depth 0.0,# porosity temperature, None, # ates input ) doublet = ThermoGISDoublet(Mockito.mock(Logger), RNG(0), utc_properties) # Act doublet.calculateDoubletPerformance(-999, thickness, transmissivity, False) results = doublet.calculateDoubletPerformance(input) # Assert self.assertTrue(np.isclose(17499.99940, transmissivity, 0.001)) self.assertTrue(np.isclose(293.6246643066406, doublet.getFlowrate(), 1)) self.assertTrue(np.isclose(60, doublet.getDrawdownPressure() / 1e5, 0.001)) self.assertTrue(np.isclose(36.98296076530068, doublet.getUtcPeurctkWh(), 0.001)) self.assertTrue(np.isclose(0.05274631495788107, doublet.getHeatPowerPerDoublet(), 0.01)) self.assertTrue(np.isclose(1306.4453125, doublet.getWellDistance(), 0.001)) self.assertTrue(np.isclose(0.06459403120103477, doublet.getCop(), 0.001)) self.assertTrue(np.isclose(12.44409167482118, doublet.getSumcapex(), 0.001)) self.assertTrue(np.isclose(293.6246643066406, results.flow(), 1)) self.assertTrue(np.isclose(60, results.pres(), 0.001)) self.assertTrue(np.isclose(36.98296076530068, results.utc(), 0.001)) self.assertTrue(np.isclose(0.05274631495788107, results.power(), 0.01)) self.assertTrue(np.isclose(1306.4453125, results.welld(), 0.001)) self.assertTrue(np.isclose(0.06459403120103477, results.cop(), 0.001)) self.assertTrue(np.isclose(12.44409167482118, results.capex(), 0.001)) def setup_template_utc_properties_builder(self): return (instantiate_utc_properties_builder() Loading