Class FacilityBuilder
java.lang.Object
neqsim.process.fielddevelopment.facility.FacilityBuilder
- All Implemented Interfaces:
Serializable
Fluent builder for assembling facility configurations from modular blocks.
This builder enables rapid, concept-level facility configuration using pre-validated process blocks. Blocks are assembled in sequence and can later be instantiated into actual process equipment via a facility instantiator.
Example usage:
FacilityConfig config =
FacilityBuilder.forConcept(myConcept).addBlock(BlockConfig.inletSeparation(80, 25))
.addBlock(BlockConfig.compression(2, 180)).addBlock(BlockConfig.tegDehydration(50))
.addBlock(BlockConfig.co2Membrane(2.5)).withRedundancy("compression", 1).build();
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<BlockConfig> private final FieldConceptprivate doubleprivate booleanprivate booleanprivate Stringprivate static final long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddBlock(BlockConfig block) Adds a block to the facility.Adds a block with default parameters.addCo2Amine(double co2SpecPercent) Adds CO2 removal via amine.addCo2Membrane(double co2SpecPercent) Adds CO2 removal via membrane.addCompression(int stages) Adds compression with specified number of stages.addCompression(int stages, double outletPressure) Adds compression with specified stages and outlet pressure.addTegDehydration(double waterSpecPpm) Adds TEG dehydration with specified water spec.static FacilityBuilderautoGenerate(FieldConcept concept) Creates a builder and auto-generates blocks based on concept requirements.build()Builds the facility configuration.designMargin(double margin) Sets the design margin factor (default: 1.15 = 15% margin).static FacilityBuilderforConcept(FieldConcept concept) Creates a new facility builder for the given concept.includeFlare(boolean include) Sets whether to include a flare system (default: true).includePowerGeneration(boolean include) Sets whether to include power generation on-site.Sets a custom name for the facility.withRedundancy(String blockName, int spareCount) Specifies that a block type should have redundancy (n+x).
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
concept
-
blocks
-
redundancyRequirements
-
name
-
includeFlare
private boolean includeFlare -
includePowerGen
private boolean includePowerGen -
designMargin
private double designMargin
-
-
Constructor Details
-
FacilityBuilder
-
-
Method Details
-
forConcept
Creates a new facility builder for the given concept.- Parameters:
concept- field concept- Returns:
- new builder instance
-
autoGenerate
Creates a builder and auto-generates blocks based on concept requirements.Automatically adds:
- Inlet separation (always)
- Compression if inlet pressure < export pressure
- TEG dehydration if gas export
- CO2 removal if CO2 > 2%
- H2S removal if H2S > 50 ppm
- Oil stabilization if oil export
- Parameters:
concept- field concept- Returns:
- builder with auto-generated blocks
-
name
Sets a custom name for the facility.- Parameters:
name- facility name- Returns:
- this builder
-
addBlock
Adds a block to the facility.- Parameters:
block- block configuration- Returns:
- this builder
-
addBlock
Adds a block with default parameters.- Parameters:
type- block type- Returns:
- this builder
-
addCompression
Adds compression with specified number of stages.- Parameters:
stages- compression stages- Returns:
- this builder
-
addCompression
Adds compression with specified stages and outlet pressure.- Parameters:
stages- compression stagesoutletPressure- target outlet pressure in bara- Returns:
- this builder
-
addTegDehydration
Adds TEG dehydration with specified water spec.- Parameters:
waterSpecPpm- target water content in ppm- Returns:
- this builder
-
addCo2Membrane
Adds CO2 removal via membrane.- Parameters:
co2SpecPercent- target CO2 percent- Returns:
- this builder
-
addCo2Amine
Adds CO2 removal via amine.- Parameters:
co2SpecPercent- target CO2 percent- Returns:
- this builder
-
withRedundancy
Specifies that a block type should have redundancy (n+x).- Parameters:
blockName- name of block requiring redundancyspareCount- number of spare units (e.g., 1 for n+1)- Returns:
- this builder
-
includeFlare
Sets whether to include a flare system (default: true).- Parameters:
include- true to include flare- Returns:
- this builder
-
includePowerGeneration
Sets whether to include power generation on-site.- Parameters:
include- true to include power generation- Returns:
- this builder
-
designMargin
Sets the design margin factor (default: 1.15 = 15% margin).- Parameters:
margin- design margin factor- Returns:
- this builder
-
build
Builds the facility configuration.- Returns:
- immutable facility configuration
-