Loading tests/test_ThermoGISDoublet_Benchmark.py +26 −17 Original line number Diff line number Diff line Loading @@ -19,39 +19,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") UTCPropertiesBuilder = JClass("thermogis.properties.builders.UTCPropertiesBuilder") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (UTCPropertiesBuilder() .setViscosityMode(ViscosityMode.KESTIN) .setDhReturnTemp(40) .build()) permeability = 175 thickness = 100 transmissivity = thickness * permeability 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 ) # 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() # 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(6.616096470753937, doublet.getUtcPeurctkWh(), 0.001)) self.assertTrue(np.isclose(1159.17968, doublet.getWellDistance(), 0.001)) self.assertTrue(np.isclose(8.636903762817383, doublet.getHeatPowerPerDoublet(), 0.001)) self.assertTrue(np.isclose(13.627557754516602, doublet.getCop(), 0.001)) self.assertTrue(np.isclose(227.2757568359375, results.flow(), 1)) self.assertTrue(np.isclose(60, results.pres(), 0.001)) self.assertTrue(np.isclose(6.616096470753937, results.utc(), 0.001)) self.assertTrue(np.isclose(1159.17968, results.welld(), 0.001)) self.assertTrue(np.isclose(8.636903762817383, results.power(), 0.001)) self.assertTrue(np.isclose(13.627557754516602, results.cop(), 0.001)) def test_calculateDoubletPerformance_directHeat(self): """ Loading Loading
tests/test_ThermoGISDoublet_Benchmark.py +26 −17 Original line number Diff line number Diff line Loading @@ -19,39 +19,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") UTCPropertiesBuilder = JClass("thermogis.properties.builders.UTCPropertiesBuilder") ViscosityMode = JClass("tno.geoenergy.ViscosityMode") # Instantiate the UTC properties class utc_properties = (UTCPropertiesBuilder() .setViscosityMode(ViscosityMode.KESTIN) .setDhReturnTemp(40) .build()) permeability = 175 thickness = 100 transmissivity = thickness * permeability 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 ) # 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() # 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(6.616096470753937, doublet.getUtcPeurctkWh(), 0.001)) self.assertTrue(np.isclose(1159.17968, doublet.getWellDistance(), 0.001)) self.assertTrue(np.isclose(8.636903762817383, doublet.getHeatPowerPerDoublet(), 0.001)) self.assertTrue(np.isclose(13.627557754516602, doublet.getCop(), 0.001)) self.assertTrue(np.isclose(227.2757568359375, results.flow(), 1)) self.assertTrue(np.isclose(60, results.pres(), 0.001)) self.assertTrue(np.isclose(6.616096470753937, results.utc(), 0.001)) self.assertTrue(np.isclose(1159.17968, results.welld(), 0.001)) self.assertTrue(np.isclose(8.636903762817383, results.power(), 0.001)) self.assertTrue(np.isclose(13.627557754516602, results.cop(), 0.001)) def test_calculateDoubletPerformance_directHeat(self): """ Loading