Class FluidClassifier
java.lang.Object
neqsim.thermo.util.FluidClassifier
Utility class for classifying reservoir fluids based on phase behavior characteristics.
Classification follows the Whitson methodology as described in:
- https://wiki.whitson.com/phase_behavior/classification/reservoir_fluid_type/
- SPE Monograph "Phase Behavior" by Whitson and Brulé
Classification Criteria:
| Fluid Type | GOR (scf/STB) | C7+ (mol%) | API Gravity |
|---|---|---|---|
| Dry Gas | > 100,000 | < 0.7 | N/A |
| Wet Gas | 15,000 - 100,000 | 0.7 - 4 | 40-60° |
| Gas Condensate | 3,300 - 15,000 | 4 - 12.5 | 40-60° |
| Volatile Oil | 1,000 - 3,300 | 12.5 - 20 | 40-50° |
| Black Oil | < 1,000 | > 20 | 15-40° |
| Heavy Oil | < 200 | > 30 | 10-15° |
Usage Example:
SystemInterface fluid = new SystemSrkEos(373.15, 100.0);
fluid.addComponent("methane", 0.70);
fluid.addComponent("ethane", 0.10);
fluid.addComponent("n-heptane", 0.20);
fluid.createDatabase(true);
fluid.setMixingRule("classic");
ReservoirFluidType type = FluidClassifier.classify(fluid);
System.out.println("Fluid type: " + type.getDisplayName());
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleC7+ threshold for dry gas (mol%).private static final doubleC7+ threshold for gas condensate upper bound (mol%).private static final doubleC7+ threshold for heavy oil (mol%).private static final doubleC7+ threshold for volatile oil upper bound (mol%).private static final doubleC7+ threshold for wet gas upper bound (mol%).private static final doubleGOR threshold for dry gas (scf/STB).private static final doubleGOR threshold for gas condensate lower bound (scf/STB).private static final doubleGOR threshold for heavy oil upper bound (scf/STB).private static final doubleGOR threshold for volatile oil lower bound (scf/STB).private static final doubleGOR threshold for wet gas lower bound (scf/STB).private static final org.apache.logging.log4j.LoggerLogger object for class.private static final doubleConversion factor from Sm³/Sm³ to scf/STB. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePrivate constructor to prevent instantiation. -
Method Summary
Modifier and TypeMethodDescriptionstatic doubleCalculate C7+ content in mol%.static ReservoirFluidTypeclassify(SystemInterface fluid) Classify a reservoir fluid based on its composition.static ReservoirFluidTypeclassifyByC7Plus(double c7PlusMolPercent) Classify a reservoir fluid based on C7+ content.static ReservoirFluidTypeclassifyByGOR(double gorScfStb) Classify a reservoir fluid based on GOR (gas-oil ratio).static ReservoirFluidTypeclassifyWithPhaseEnvelope(SystemInterface fluid, double reservoirTemperatureK) Classify a reservoir fluid using both composition and phase envelope analysis.static doubleEstimate API gravity from fluid density at standard conditions.static StringGenerate a fluid classification report.
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger loggerLogger object for class. -
SM3_SM3_TO_SCF_STB
private static final double SM3_SM3_TO_SCF_STBConversion factor from Sm³/Sm³ to scf/STB.- See Also:
-
GOR_DRY_GAS
private static final double GOR_DRY_GASGOR threshold for dry gas (scf/STB).- See Also:
-
GOR_WET_GAS_LOWER
private static final double GOR_WET_GAS_LOWERGOR threshold for wet gas lower bound (scf/STB).- See Also:
-
GOR_GAS_CONDENSATE_LOWER
private static final double GOR_GAS_CONDENSATE_LOWERGOR threshold for gas condensate lower bound (scf/STB).- See Also:
-
GOR_VOLATILE_OIL_LOWER
private static final double GOR_VOLATILE_OIL_LOWERGOR threshold for volatile oil lower bound (scf/STB).- See Also:
-
GOR_HEAVY_OIL
private static final double GOR_HEAVY_OILGOR threshold for heavy oil upper bound (scf/STB).- See Also:
-
C7PLUS_DRY_GAS
private static final double C7PLUS_DRY_GASC7+ threshold for dry gas (mol%).- See Also:
-
C7PLUS_WET_GAS
private static final double C7PLUS_WET_GASC7+ threshold for wet gas upper bound (mol%).- See Also:
-
C7PLUS_GAS_CONDENSATE
private static final double C7PLUS_GAS_CONDENSATEC7+ threshold for gas condensate upper bound (mol%).- See Also:
-
C7PLUS_VOLATILE_OIL
private static final double C7PLUS_VOLATILE_OILC7+ threshold for volatile oil upper bound (mol%).- See Also:
-
C7PLUS_HEAVY_OIL
private static final double C7PLUS_HEAVY_OILC7+ threshold for heavy oil (mol%).- See Also:
-
-
Constructor Details
-
FluidClassifier
private FluidClassifier()Private constructor to prevent instantiation.
-
-
Method Details
-
classify
Classify a reservoir fluid based on its composition.This method uses C7+ content as the primary classification criterion.
- Parameters:
fluid- the fluid system to classify- Returns:
- the reservoir fluid type
-
classifyByC7Plus
Classify a reservoir fluid based on C7+ content.- Parameters:
c7PlusMolPercent- C7+ content in mol%- Returns:
- the reservoir fluid type
-
classifyByGOR
Classify a reservoir fluid based on GOR (gas-oil ratio).- Parameters:
gorScfStb- gas-oil ratio in scf/STB- Returns:
- the reservoir fluid type
-
classifyWithPhaseEnvelope
public static ReservoirFluidType classifyWithPhaseEnvelope(SystemInterface fluid, double reservoirTemperatureK) Classify a reservoir fluid using both composition and phase envelope analysis.This is the most comprehensive classification method, considering:
- C7+ content
- Critical point location
- Cricondenbar and cricondentherm
- Reservoir temperature relative to phase envelope
- Parameters:
fluid- the fluid system to classifyreservoirTemperatureK- reservoir temperature in Kelvin- Returns:
- the reservoir fluid type
-
calculateC7PlusContent
Calculate C7+ content in mol%.- Parameters:
fluid- the fluid system- Returns:
- C7+ content in mol%
-
estimateAPIGravity
Estimate API gravity from fluid density at standard conditions.API = 141.5 / SG - 131.5, where SG is specific gravity relative to water at 60°F
- Parameters:
fluid- the fluid system- Returns:
- estimated API gravity, or NaN if not applicable
-
generateClassificationReport
Generate a fluid classification report.- Parameters:
fluid- the fluid system to analyze- Returns:
- formatted classification report
-