generate_layer_distribution
Generate layered permeability distributions for reservoir simulation models using Lorenz coefficient to match specified heterogeneity levels. Creates detailed layer-by-layer properties essential for predicting waterflood performance and vertical sweep efficiency.
Instructions
Generate layered permeability distribution from Lorenz coefficient.
LAYER PROPERTY GENERATION - Creates detailed layer-by-layer permeability and thickness distribution matching specified heterogeneity. Essential for building reservoir simulation models and predicting waterflood performance.
Parameters:
lorenz (float, required): Lorenz coefficient (0-1). Must be 0 ≤ L ≤ 1. Typical: 0.2-0.7. Example: 0.6 for moderate heterogeneity.
nlay (int, required): Number of layers to generate. Must be > 0. Typical: 5-50. Example: 10 for 10-layer model.
k_avg (float, required): Average permeability in mD. Must be > 0. Typical: 10-1000 mD. Example: 100.0 mD.
h (float, optional, default=100.0): Total thickness in feet. Must be > 0. Typical: 50-500 ft. Example: 100.0 ft.
Method: Uses Dykstra-Parsons log-normal permeability distribution with correlation to Lorenz coefficient to generate realistic layer properties:
Convert Lorenz to beta parameter
Generate log-normal permeability distribution
Sort layers by permeability (ascending)
Assign equal thickness to each layer
Calculate layer statistics
Output Properties: For each layer:
Thickness (ft): Layer thickness (equal for all layers)
Permeability (mD): Layer permeability (log-normal distribution)
Thickness Fraction: Fraction of total thickness
kh Fraction: Fraction of total flow capacity (k × h)
Statistics Calculated:
k_min, k_max: Minimum and maximum permeability
k_avg, k_median: Average and median permeability
k_std: Standard deviation
Heterogeneity ratio: k_max / k_min
Critical for:
Reservoir Simulation: Generate layer properties for simulation models
Waterflood Prediction: Predict sweep efficiency and recovery
Vertical Sweep Efficiency: Analyze vertical conformance
Conformance Studies: Evaluate production allocation
Upscaling: Create coarse-scale models from fine-scale data
Sensitivity Analysis: Test impact of heterogeneity on performance
Usage Example: For 10-layer simulation model with Lorenz=0.6:
Result: 10 layers with permeabilities ranging from ~20 mD (low-k) to ~500 mD (high-k), each with 10 ft thickness. High-k layers have higher kh fractions.
Returns: Dictionary with:
layers (list): List of dicts with layer properties (thickness, permeability, fractions)
statistics (dict): Permeability statistics (min, max, avg, median, std, ratio)
total_thickness_ft (float): Total thickness
average_permeability_md (float): Average permeability
lorenz_coefficient (float): Input Lorenz coefficient
number_of_layers (int): Number of layers
method (str): "Dykstra-Parsons log-normal distribution"
note (str): Usage guidance
inputs (dict): Echo of input parameters
Common Mistakes:
Lorenz coefficient outside valid range (must be 0-1)
Too few layers (<5) causing poor resolution
Too many layers (>50) causing unnecessary complexity
Wrong average permeability (must match reservoir average)
Not understanding that layers are sorted by permeability
Confusing thickness fraction with absolute thickness
Example Usage:
Result: 10 layers with log-normal permeability distribution, each 10 ft thick. Permeability ranges from ~20 mD to ~500 mD, matching Lorenz=0.6 heterogeneity.
Note: This generates idealized layer properties assuming log-normal permeability distribution and equal layer thickness. For actual reservoirs, use measured core or log data when available. Layer properties are ready for direct use in reservoir simulation models.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |