TNO Intern

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

fixed first test

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