def testFluidSystemCO2Mdot100(self): params = SimulationParameters(working_fluid='co2', capacity_factor=0.9) params.m_dot_IP = 100 params.depth = 2400. params.permeability = 1e-8 / 100. output = FullSystemCPG.getDefaultCPGSystem(params).solve() self.assertTrue(*testAssert(output.fluid_system_solver.pp.dP_surface, 5.0019e6, 'test_dP_surface')) self.assertTrue( *testAssert(output.fluid_system_solver.production_well.state.T_C, 55.3144, 'test_T_prod_surface_C')) self.assertTrue(*testAssert(output.fluid_system_solver.pp.dP_pump, -1.0756e6, 'test_dP_pump')) self.assertTrue( *testAssert(output.energy_results.W_net, 8.2656e5, 'test_W_net')) self.assertTrue(*testAssert(output.capital_cost_model.C_brownfield, 2.6182e7, 'test_C_brownfield_N')) self.assertTrue(*testAssert(output.capital_cost_model.C_greenfield, 4.8021e7, 'test_C_greenfield_N')) self.assertTrue( *testAssert(output.capital_cost_model.LCOE_brownfield.LCOE, 1.5247e-4, 'test_LCOE_brownfield'))
output_file = open(os.path.join(output_folder, 'data_CO2.csv'), 'w') # initialize parameters params = SimulationParameters(working_fluid='co2', capacity_factor=0.9) # generate the full system full_system = FullSystemCPG.getDefaultCPGSystem(params) full_system_solver = FullSystemSolver(full_system) # iterate over all depths and permeabilities and solve the system for depth in depths: for permeability in permeabilities: print('Depth: ', depth) print('Permeability: ', permeability) params.depth = depth params.permeability = permeability / 100. try: output = full_system_solver.solve() lcoe_b = output.capital_cost_model.LCOE_brownfield.LCOE * 1e6 lcoe_g = output.capital_cost_model.LCOE_greefield.LCOE * 1e6 power = output.energy_results.W_net / 1e6 optMdot = output.optMdot except Exception as error: error_str = str(error).replace("\n", "").replace(",", " - ") lcoe_b = 0. lcoe_g = 0. power = 0. optMdot = 0.