Skip to the content.

HIPPS Implementation Summary for NeqSim

Executive Summary

A complete HIPPS (High Integrity Pressure Protection System) implementation has been added to NeqSim for safety simulation and analysis. HIPPS is a Safety Instrumented System (SIS) that prevents overpressure by shutting down the source of pressure before it reaches unsafe levels, providing an alternative or complement to traditional pressure relief devices (PSVs/rupture disks).

Files Created

1. Core Implementation

File: src/main/java/neqsim/process/equipment/valve/HIPPSValve.java

Key Features:

2. Test Suite

File: src/test/java/neqsim/process/equipment/valve/HIPPSValveTest.java

Test Coverage:

3. Documentation

File: docs/hipps_implementation.md

Documentation Includes:

4. Example Code

File: src/main/java/neqsim/process/util/example/HIPPSExample.java

Example Features:

Implementation Architecture

Class Hierarchy

ThrottlingValve (base)
    └── HIPPSValve (new)

Integration Points

HIPPSValve
    ├── MeasurementDeviceInterface (pressure transmitters)
    ├── AlarmState (HIHI alarm monitoring)
    ├── ProcessEquipmentBaseClass (standard equipment interface)
    └── Serializable (state persistence)

Voting Logic Enum

public enum VotingLogic {
    ONE_OUT_OF_ONE("1oo1"),
    ONE_OUT_OF_TWO("1oo2"),
    TWO_OUT_OF_TWO("2oo2"),
    TWO_OUT_OF_THREE("2oo3"),  // Recommended for SIL 2/3
    TWO_OUT_OF_FOUR("2oo4")
}

Key Capabilities for Safety Simulations

1. Redundancy and Voting

2. Transient Behavior

3. Safety Validation

4. Failure Mode Analysis

5. Industry Compliance

Usage Example (Simple)

// Create HIPPS valve
HIPPSValve hipps = new HIPPSValve("HIPPS-XV-001", feedStream);

// Add redundant transmitters
hipps.addPressureTransmitter(PT1);
hipps.addPressureTransmitter(PT2);
hipps.addPressureTransmitter(PT3);

// Configure for SIL 3
hipps.setVotingLogic(HIPPSValve.VotingLogic.TWO_OUT_OF_THREE);
hipps.setSILRating(3);
hipps.setClosureTime(3.0); // 3 seconds

// In transient simulation
PT1.evaluateAlarm(pressure, dt, time);
PT2.evaluateAlarm(pressure, dt, time);
PT3.evaluateAlarm(pressure, dt, time);
hipps.runTransient(dt, UUID.randomUUID());

if (hipps.hasTripped()) {
    System.out.println("HIPPS activated - overpressure prevented");
}

HIPPS vs PSV Comparison

Aspect HIPPS PSV
Action Stops flow (isolation) Relieves pressure (venting)
Trip Point Below MAWP (e.g., 90%) At/above MAWP
Emissions Prevents flaring Releases to flare
SIL Rating SIL 2 or SIL 3 Mechanical (non-SIL)
Response 2-5 seconds Instantaneous
Redundancy Multiple transmitters Single device
Testing Partial stroke, proof tests Periodic inspection

Safety Simulation Benefits

1. Overpressure Prevention Modeling

2. Emissions Reduction

3. Reliability Analysis

4. Defense-in-Depth

5. Economic Analysis

Running the Examples

Run Test Suite

# Windows (cmd)
.\mvnw test -Dtest=HIPPSValveTest

# Windows (PowerShell)
.\mvnw.cmd test -Dtest=HIPPSValveTest

# Linux/Mac
./mvnw test -Dtest=HIPPSValveTest

Run Example

# Compile and run
.\mvnw exec:java -Dexec.mainClass="neqsim.process.util.example.HIPPSExample"

Integration with Existing NeqSim Components

Compatible Equipment

Alarm System Integration

// HIPPS uses existing alarm infrastructure
AlarmConfig hippsAlarm = AlarmConfig.builder()
    .highHighLimit(90.0)
    .deadband(2.0)
    .delay(0.5)
    .unit("bara")
    .build();

PT.setAlarmConfig(hippsAlarm);

Transient Simulation Integration

// HIPPS participates in transient calculations
hipps.runTransient(dt, UUID.randomUUID());

How to Implement HIPPS for Safety Simulations

Step 1: Identify Protection Requirements

Step 2: Configure HIPPS Components

// Create redundant transmitters
PressureTransmitter PT1 = new PressureTransmitter("PT-A", stream);
PressureTransmitter PT2 = new PressureTransmitter("PT-B", stream);
PressureTransmitter PT3 = new PressureTransmitter("PT-C", stream);

// Configure alarms at trip point
AlarmConfig alarm = AlarmConfig.builder()
    .highHighLimit(tripPoint)
    .deadband(2.0)
    .delay(0.5)
    .unit("bara")
    .build();

// Create HIPPS with voting
HIPPSValve hipps = new HIPPSValve("HIPPS-XV-001", stream);
hipps.addPressureTransmitter(PT1);
hipps.addPressureTransmitter(PT2);
hipps.addPressureTransmitter(PT3);
hipps.setVotingLogic(HIPPSValve.VotingLogic.TWO_OUT_OF_THREE);
hipps.setSILRating(3);

Step 3: Add PSV Backup

// PSV provides backup protection
SafetyValve psv = new SafetyValve("PSV-001", stream);
psv.setPressureSpec(mawp); // Set at MAWP

Step 4: Run Transient Simulation

for (double time = 0; time < totalTime; time += dt) {
    // Update process conditions
    // ...
    
    // Evaluate alarms
    PT1.evaluateAlarm(pressure, dt, time);
    PT2.evaluateAlarm(pressure, dt, time);
    PT3.evaluateAlarm(pressure, dt, time);
    
    // Run HIPPS
    hipps.runTransient(dt, UUID.randomUUID());
    
    // Check protection status
    if (hipps.hasTripped()) {
        // HIPPS activated - analyze response
    }
}

Step 5: Analyze Results

// Get comprehensive diagnostics
System.out.println(hipps.getDiagnostics());

// Verify safety objectives
boolean preventedPsvLift = !psv.getPercentValveOpening() > 0;
boolean belowMAWP = maxPressure < mawp;
boolean trippedCorrectly = hipps.hasTripped();

Standards Compliance

IEC 61508/61511

API RP 14C

API RP 521

Best Practices

1. Set Point Selection

2. Voting Logic Selection

| Application | Recommended Voting | SIL Level | |————-|——————-|———–| | Low risk, simple | 1oo1 | SIL 1 | | Medium risk | 1oo2 or 2oo3 | SIL 2 | | High risk, critical | 2oo3 | SIL 3 |

3. Response Time

4. Testing and Validation

5. Integration with PSV

Conclusion

The HIPPS implementation in NeqSim provides comprehensive capabilities for safety simulation and analysis:

Complete SIS modeling with voting logic and redundancy ✅ Realistic transient behavior including closure dynamics ✅ SIL-rated configuration (SIL 1, 2, 3) per industry standards ✅ Comprehensive testing support (partial stroke, proof tests) ✅ Integration with existing safety systems (PSV, PSD, alarms) ✅ Extensive documentation and working examples ✅ Production-ready code with full test coverage

Key Advantage: HIPPS prevents overpressure before it occurs, eliminating flaring and protecting equipment, while PSVs relieve pressure after it exceeds safe limits. For safety-critical applications, HIPPS + PSV provides robust defense-in-depth protection.

Author

Implementation follows NeqSim architecture patterns and coding standards for process safety simulation, consistent with existing ESD, PSD, and safety valve implementations.