Loading tests/test_ThermoGISDoublet_Benchmark.py +32 −21 Original line number Diff line number Diff line Loading @@ -72,40 +72,48 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") 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) .setViscosityMode(ViscosityMode.KESTIN) .setUseStimulation(False) .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(76) doublet.setDepth(2000) doublet.setInjectionTemp(40) doublet.setNtg(1.0) doublet.setNoStimulation() temperature = 76 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(17500, transmissivity, 0.001)) self.assertTrue(np.isclose(227.2757568359375, doublet.getFlowrate(), 1)) self.assertTrue(np.isclose(60, doublet.getDrawdownPressure() / 1e5, 0.001)) self.assertTrue(np.isclose(1159.1796, doublet.getWellDistance(), 0.001)) self.assertTrue(np.isclose(13.623167037963867, doublet.getCop(), 0.001)) self.assertTrue(np.isclose(5.229816400909403, doublet.getUtcPeurctkWh(), 0.001)) self.assertTrue(np.isclose(16.439682499211536, doublet.getSumcapex(), 0.001)) self.assertTrue(np.isclose(8.624696731567383, doublet.getHeatPowerPerDoublet(), 0.001)) self.assertTrue(np.isclose(227.2757568359375, results.flow(), 1)) self.assertTrue(np.isclose(60, results.pres(), 0.001)) self.assertTrue(np.isclose(1159.1796, results.welld(), 0.001)) self.assertTrue(np.isclose(13.623167037963867, results.cop(), 0.001)) self.assertTrue(np.isclose(5.229816400909403, results.utc(), 0.001)) self.assertTrue(np.isclose(16.439682499211536, results.capex(), 0.001)) self.assertTrue(np.isclose(8.624696731567383, results.power(), 0.001)) def test_calculateDoubletPerformance_chiller(self): """ Loading @@ -117,7 +125,8 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class Loading Loading @@ -164,7 +173,8 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class Loading Loading @@ -214,7 +224,8 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class Loading Loading
tests/test_ThermoGISDoublet_Benchmark.py +32 −21 Original line number Diff line number Diff line Loading @@ -72,40 +72,48 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") 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) .setViscosityMode(ViscosityMode.KESTIN) .setUseStimulation(False) .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(76) doublet.setDepth(2000) doublet.setInjectionTemp(40) doublet.setNtg(1.0) doublet.setNoStimulation() temperature = 76 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(17500, transmissivity, 0.001)) self.assertTrue(np.isclose(227.2757568359375, doublet.getFlowrate(), 1)) self.assertTrue(np.isclose(60, doublet.getDrawdownPressure() / 1e5, 0.001)) self.assertTrue(np.isclose(1159.1796, doublet.getWellDistance(), 0.001)) self.assertTrue(np.isclose(13.623167037963867, doublet.getCop(), 0.001)) self.assertTrue(np.isclose(5.229816400909403, doublet.getUtcPeurctkWh(), 0.001)) self.assertTrue(np.isclose(16.439682499211536, doublet.getSumcapex(), 0.001)) self.assertTrue(np.isclose(8.624696731567383, doublet.getHeatPowerPerDoublet(), 0.001)) self.assertTrue(np.isclose(227.2757568359375, results.flow(), 1)) self.assertTrue(np.isclose(60, results.pres(), 0.001)) self.assertTrue(np.isclose(1159.1796, results.welld(), 0.001)) self.assertTrue(np.isclose(13.623167037963867, results.cop(), 0.001)) self.assertTrue(np.isclose(5.229816400909403, results.utc(), 0.001)) self.assertTrue(np.isclose(16.439682499211536, results.capex(), 0.001)) self.assertTrue(np.isclose(8.624696731567383, results.power(), 0.001)) def test_calculateDoubletPerformance_chiller(self): """ Loading @@ -117,7 +125,8 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class Loading Loading @@ -164,7 +173,8 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class Loading Loading @@ -214,7 +224,8 @@ class ThermoGISDoubletBenchmark(TestCase): Logger = JClass("logging.Logger") Mockito = JClass("org.mockito.Mockito") RNG = JClass("tno.geoenergy.stochastic.RandomNumberGenerator") ThermoGISDoublet = JClass("thermogis.calc.doublet.ThermoGisDoublet") ThermoGISDoublet = JClass("thermogis.calc.utc.doublet.ThermoGisDoublet") DoubletInput = JClass("thermogis.calc.utc.doublet.records.DoubletInput") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class Loading