TNO Intern

Commit b0d74286 authored by Florian Knappers's avatar Florian Knappers
Browse files

fixed another test

parent e09e2cc4
Loading
Loading
Loading
Loading
+26 −27
Original line number Diff line number Diff line
@@ -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")
@@ -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)
@@ -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)


@@ -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)
@@ -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)
@@ -139,7 +134,6 @@ class ThermoGISDoubletBenchmark(TestCase):
                          .setViscosityMode(ViscosityMode.KESTIN)
                          .build())

        # Create an instance of a ThermoGISDoublet
        thickness = 100
        permeability = 175
        transmissivity = thickness * permeability
@@ -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)
@@ -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
@@ -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()