Corrosion Inhibitor Injection Rate Calculation

Corrosion Inhibitor Injection Rate Calculator :root { –primary-color: #0056b3; –secondary-color: #f8f9fa; –text-color: #333; –border-radius: 8px; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: var(–text-color); max-width: 800px; margin: 0 auto; padding: 20px; } .calculator-container { background: #ffffff; padding: 30px; border-radius: var(–border-radius); box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 40px; border: 1px solid #e1e4e8; } .calc-title { text-align: center; color: var(–primary-color); margin-bottom: 25px; font-size: 24px; font-weight: 700; } .form-group { margin-bottom: 20px; } .form-row { display: flex; gap: 15px; flex-wrap: wrap; } .col { flex: 1; min-width: 200px; } label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 14px; } input, select { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } input:focus, select:focus { border-color: var(–primary-color); outline: none; box-shadow: 0 0 0 2px rgba(0,86,179,0.2); } .calc-btn { width: 100%; padding: 15px; background-color: var(–primary-color); color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.2s; margin-top: 10px; } .calc-btn:hover { background-color: #004494; } .results-box { background-color: #eef7ff; border: 1px solid #b8daff; padding: 20px; border-radius: var(–border-radius); margin-top: 25px; display: none; } .result-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #d6d8db; } .result-item:last-child { border-bottom: none; } .result-label { font-weight: 600; color: #495057; } .result-value { font-size: 20px; font-weight: 700; color: var(–primary-color); } .article-content { background: #fff; padding: 30px; border-radius: var(–border-radius); box-shadow: 0 2px 10px rgba(0,0,0,0.05); } h2 { color: #2c3e50; margin-top: 30px; } h3 { color: #34495e; margin-top: 20px; } p { margin-bottom: 15px; } ul { margin-bottom: 20px; } li { margin-bottom: 8px; } .info-box { background-color: #f8f9fa; border-left: 4px solid var(–primary-color); padding: 15px; margin: 20px 0; }

Corrosion Inhibitor Injection Rate Calculator

Barrels Per Day (BPD) Cubic Meters Per Day (m³/d)
Percentage of water in total fluid.
Total Fluid Volume (Oil + Water) Produced Water Volume Only Choose whether to dose the entire stream or just the water phase.
Required Chemical Volume: 0.00 Gal/day
Metric Equivalent: 0.00 L/day
Pump Setting (Approx): 0.00 Quarts/day
Treated Volume: 0 BPD

Optimizing Chemical Dosage in Oil & Gas Production

Calculating the correct injection rate for corrosion inhibitors is critical for maintaining the integrity of pipelines and vessels in upstream and midstream operations. Under-dosing can lead to catastrophic asset failure due to MIC (Microbiologically Influenced Corrosion) or acid gas attack, while over-dosing results in unnecessary operational expenditure (OPEX) and potential emulsion issues downstream.

How to Calculate Injection Rates

The calculation relies on the relationship between the volume of fluid passing through the system and the desired concentration of the chemical, usually expressed in parts per million (PPM).

The General Formula:
Injection Rate (GPD) = Treated Volume (BPD) × 42 × (PPM / 1,000,000)

Where:

  • BPD: Barrels Per Day of the fluid being treated.
  • 42: The conversion factor from barrels to US gallons.
  • PPM: Parts Per Million of inhibitor required.

Water Cut Considerations

One of the most important variables in this calculation is the Water Cut. Corrosion typically occurs in the water phase of the production fluid. Consequently, many chemical programs utilize water-soluble inhibitors.

  • Water-Soluble Inhibitors: Should generally be calculated based on the Produced Water Volume only.
  • Oil-Soluble / Dispersible Inhibitors: May need to be calculated based on Total Fluid Volume to ensure the chemical is adequately distributed to reach the water phase.

Our calculator allows you to toggle between "Total Fluid Volume" and "Produced Water Volume Only" to accommodate different chemical types and treatment strategies.

Monitoring and Verification

Calculating the theoretical rate is step one. In the field, operators must verify the actual injection rate using a calibration cylinder (drawdown test) on the chemical pump. Factors such as pump efficiency, backpressure, and fluid viscosity can cause the actual delivered volume to differ from the pump setting.

function calculateInjectionRate() { // 1. Get Input Values var flowRateInput = document.getElementById('flowRate').value; var waterCutInput = document.getElementById('waterCut').value; var targetPPMInput = document.getElementById('targetPPM').value; // 2. Validate Inputs if (flowRateInput === "" || waterCutInput === "" || targetPPMInput === "") { alert("Please fill in all fields (Flow Rate, Water Cut, and Target PPM)."); return; } var flowRate = parseFloat(flowRateInput); var waterCut = parseFloat(waterCutInput); var targetPPM = parseFloat(targetPPMInput); var flowUnit = document.getElementById('flowUnit').value; var basis = document.getElementById('calcBasis').value; // 3. Logic: Normalize Flow to Barrels Per Day (BPD) var flowBPD = 0; if (flowUnit === "M3") { // 1 m3 approx 6.2898 barrels flowBPD = flowRate * 6.28981; } else { flowBPD = flowRate; } // 4. Logic: Determine Treated Volume based on Water Cut var treatedBPD = 0; // Sanity check on water cut if (waterCut > 100) waterCut = 100; if (waterCut < 0) waterCut = 0; if (basis === "water") { // Calculate volume of water only treatedBPD = flowBPD * (waterCut / 100); } else { // Calculate total volume treatedBPD = flowBPD; } // 5. Calculate Injection Rate (Gallons Per Day) // Formula: Volume (BPD) * 42 (gal/bbl) * (ppm / 1,000,000) var gallonsPerDay = treatedBPD * 42 * (targetPPM / 1000000); // 6. Conversions for Output var litersPerDay = gallonsPerDay * 3.78541; var quartsPerDay = gallonsPerDay * 4; // 7. Display Results document.getElementById('resGPD').innerHTML = gallonsPerDay.toFixed(2) + " Gal/day"; document.getElementById('resLPD').innerHTML = litersPerDay.toFixed(2) + " L/day"; document.getElementById('resQPD').innerHTML = quartsPerDay.toFixed(2) + " Quarts/day"; document.getElementById('resTreated').innerHTML = treatedBPD.toFixed(1) + " BPD (" + basis + ")"; // Show result box document.getElementById('results').style.display = "block"; }

Leave a Comment