Class MultiphaseChokeFlowFactory
java.lang.Object
neqsim.process.mechanicaldesign.valve.choke.MultiphaseChokeFlowFactory
Factory class for creating multiphase choke flow models.
This factory provides a convenient way to instantiate different choke flow correlations based on the application requirements.
Model Selection Guidelines:
- Sachdeva: Best for general two-phase flow, subcritical and critical, mechanistic basis
- Gilbert: Quick estimates, field applications, critical flow only
- Achong: High GLR conditions (gas-dominated two-phase)
- Baxendell: General purpose empirical correlation
- Ros: Alternative empirical correlation
- Version:
- 1.0
- Author:
- esol
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumAvailable choke flow model types. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePrivate constructor to prevent instantiation. -
Method Summary
Modifier and TypeMethodDescriptionstatic MultiphaseChokeFlowCreates the default choke flow model (Sachdeva).static MultiphaseChokeFlowcreateModel(String modelName) Creates a choke flow model from a string name.static MultiphaseChokeFlowcreateModel(MultiphaseChokeFlowFactory.ModelType modelType) Creates a choke flow model of the specified type.static MultiphaseChokeFlowcreateModel(MultiphaseChokeFlowFactory.ModelType modelType, double chokeDiameter) Creates a choke flow model of the specified type with choke diameter.recommendModel(double gasLiquidRatio, boolean isCriticalFlow) Selects the best model based on operating conditions.
-
Constructor Details
-
MultiphaseChokeFlowFactory
private MultiphaseChokeFlowFactory()Private constructor to prevent instantiation.
-
-
Method Details
-
createModel
Creates a choke flow model of the specified type.- Parameters:
modelType- the type of model to create- Returns:
- a new MultiphaseChokeFlow instance
-
createModel
public static MultiphaseChokeFlow createModel(MultiphaseChokeFlowFactory.ModelType modelType, double chokeDiameter) Creates a choke flow model of the specified type with choke diameter.- Parameters:
modelType- the type of model to createchokeDiameter- choke throat diameter in meters- Returns:
- a new MultiphaseChokeFlow instance
-
createModel
Creates a choke flow model from a string name.Accepted names (case-insensitive):
- "sachdeva", "sachdeva1986" - Sachdeva model
- "gilbert", "gilbert1954" - Gilbert correlation
- "baxendell", "baxendell1958" - Baxendell correlation
- "ros", "ros1960" - Ros correlation
- "achong", "achong1961" - Achong correlation
- Parameters:
modelName- name of the model- Returns:
- a new MultiphaseChokeFlow instance
-
createDefaultModel
Creates the default choke flow model (Sachdeva).Sachdeva is recommended as the default because:
- Handles both critical and subcritical flow
- Well-validated across wide operating range
- Mechanistic basis provides better extrapolation
- Industry standard for production operations
- Returns:
- a new SachdevaChokeFlow instance
-
recommendModel
public static MultiphaseChokeFlowFactory.ModelType recommendModel(double gasLiquidRatio, boolean isCriticalFlow) Selects the best model based on operating conditions.- Parameters:
gasLiquidRatio- gas-liquid ratio (Sm3/Sm3)isCriticalFlow- true if flow is expected to be critical- Returns:
- recommended model type
-