flownet.parameters._porv_poro_trans module
- class flownet.parameters._porv_poro_trans.PorvPoroTrans(distribution_values: pandas.core.frame.DataFrame, regional_distribution_values: pandas.core.frame.DataFrame, ti2ci: pandas.core.frame.DataFrame, ci2ri: pandas.core.frame.DataFrame, network: flownet.network_model._network_model.NetworkModel, min_permeability: Optional[float] = None)
Bases:
flownet.parameters._base_parameter.Parameter
Parameter type which takes care of stochastically drawn pore volume, porosity and permeability. Also makes consistent NNC transmissibilities.
- This is done by the following process:
Porosity is drawn as random variables and inserted into the GRID section.
For each cell in the network, there is assigned an “initial bulk volume” which is calculated by distributing the total convex hull bulk volume to each cell based on cell lengths.
Random variables corresponding to volume multiplieres are drawn for each tube. The length-distributed bulk-volumes are then multiplied by this multiplier, and finally the random porosity in order to get the modified pore volume (which is added to the EDIT section).
To account for the cross sectional area that should change when the pore volume changes, the transmissibility TRANX’ between cells will be multiplied with a correction factor f,
TRANX = (BULKVOLUME / (A * L)) * TRANX’ = f * TRANX’
- where,
A is the cross-sectional area between two cells in a flow tube, L is the the length of a single grid cell in a flow tube, TRANX’ is the simulator pre-calculated transmissibility, BULKVOLUME is the, via the history matching process, assigned bulk volume of a single cell.
After BULKVOLUME and PORO(SITY) have been drawn, PORV is calculated using PORV = BULKVOLUME * PORO. Both the PORV and the new transmissibility mutiplier f will be written to the EDIT section, while PORO is written to the grid section.
- Parameters
distribution_values – A dataframe with index equal to tube model index, and with eighteen columns specifiying min, max, mean, mode, stddev and distribution for three different parameters (bulkvolume_mult, porosity and permeability).
regional_distribution_valuels – A dataframe with index equal to region model index, with 6 columns specifying min, max, mean, mode, stddev and distribution, for the regional multipliers requested for the FlowNet model (bulkvolume_mult, porosity and permeability can also have regional multipliers).
ti2ci – A dataframe with index equal to tube model index, and one column which equals cell indices.
ci2ri – A dataframe with index equal to cell model index, and one column with region model index for each of the regional multipliers requested for the FlowNet model
network – The FlowNet NetworkModel instance.
min_permeability – The minimum permeability threshold for which tube volumes are set to zero and thus made inactive.
- _abc_impl = <_abc_data object>
- render_output() Dict
Creates PORO, PORV, PERMX, PERMY, PERMZ and NNC include content - which are given to the GRID and EDIT section respectively.
- Returns
PORO, PORV, PERMX, PERMY, PERMZ and NNC include content.
- flownet.parameters._porv_poro_trans._transmissibility(area: float, dx_i: float, dx_j: float, z_i: float, z_j: float, k_i: float, k_j: float, multx_i: float) float
The equations here for calculating transmissibilities are taken from the simulation manual. The simulator will calculate transmissibilities automatically for everything except for NNC definitions.
- Parameters
area – The (constant) Flownet tube cross section area
dx_i – Length cell i
dx_j – Length cell j
z_i – Depth cell i
z_j – Depth cell j
k_i – Permeability cell i
k_j – Permeability cell j
multx_i – Transmissibility multiplier for cell i