Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 16 additions & 13 deletions src/main/java/neqsim/process/equipment/separator/GasScrubber.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,25 @@
* </p>
*
* <p>
* A gas scrubber is a vertical separator designed primarily for removing liquid
* droplets from gas
* streams. Unlike standard separators, the key performance metric is the
* K-value (Souders-Brown
* A gas scrubber is a vertical separator designed primarily for removing liquid droplets from gas
* streams. Unlike standard separators, the key performance metric is the K-value (Souders-Brown
* factor) rather than liquid retention time.
* </p>
*
* <h2>Capacity Utilization Setup</h2>
*
* <p>
* To get meaningful capacity utilization from
* {@link #getCapacityUtilization()}, set:
* To get meaningful capacity utilization from {@link #getCapacityUtilization()}, set:
* </p>
* <ol>
* <li>{@link #setInternalDiameter(double)} — scrubber inner diameter [m]</li>
* <li>{@link #setDesignGasLoadFactor(double)} — design K-factor [m/s],
* typically 0.04–0.10 for
* <li>{@link #setDesignGasLoadFactor(double)} — design K-factor [m/s], typically 0.04–0.10 for
* vertical scrubbers</li>
* </ol>
*
* <p>
* The orientation is automatically set to "vertical" and the design liquid
* level fraction defaults
* to 0.1 (10%), reflecting that scrubbers hold very little liquid. For dry gas
* (no liquid phase), a
* The orientation is automatically set to "vertical" and the design liquid level fraction defaults
* to 0.1 (10%), reflecting that scrubbers hold very little liquid. For dry gas (no liquid phase), a
* default liquid density of 1000 kg/m³ is used.
* </p>
*
Expand Down Expand Up @@ -80,7 +74,7 @@ public GasScrubber(String name) {
* Constructor for GasScrubber.
* </p>
*
* @param name a {@link java.lang.String} object
* @param name a {@link java.lang.String} object
* @param inletStream a {@link neqsim.process.equipment.stream.Stream} object
*/
public GasScrubber(String name, StreamInterface inletStream) {
Expand All @@ -94,7 +88,16 @@ public GasScrubber(String name, StreamInterface inletStream) {
/** {@inheritDoc} */
@Override
public void initMechanicalDesign() {
// Preserve existing geometry when re-initializing
double prevDiameter = getInternalDiameter();
double prevLength = getSeparatorLength();
separatorMechanicalDesign = new GasScrubberMechanicalDesign(this);
if (prevDiameter > 0) {
separatorMechanicalDesign.setInnerDiameter(prevDiameter);
}
if (prevLength > 0) {
separatorMechanicalDesign.setTantanLength(prevLength);
}
}

/** {@inheritDoc} */
Expand Down
Loading
Loading