def update_pressure_cap(self, cell_container): for k in range(1, Layer.N_z - 1): for i in range(1, Layer.N_x - 1): for j in range(1, Layer.N_y - 1): cell = cell_container.get_cell(k, i, j) s_water = cell.get_cell_state_n_plus().get_s_water() p_cap = Layer.count_pressure_cap(s_water) cell.get_cell_state_n_plus().set_pressure_cap(p_cap)
def initialize_cell(cell): for state in cell.get_cell_states(): state.set_s_water(Layer.s_water_init) state.set_s_oil(1.0 - Layer.s_water_init) if cell.is_n_plus_state(state): state.set_pressure_oil(Layer.pressure_oil_init + Layer.delta_0) else: state.set_pressure_oil(Layer.pressure_oil_init) state.set_pressure_cap(Layer.count_pressure_cap(state.get_s_water())) state.set_pressure_water(state.get_pressure_oil() - state.get_pressure_cap()) # Отнимается от каждого элемента матрицы for i in range(Layer.components_count): component = Layer.components[i] component_saturation = state.get_components_saturation()[i] component_pressure = state.get_components_pressure()[i] state.set_k_r(component.count_k_r(component_saturation), i) state.set_ro(component.count_ro(component_pressure), i)