Initial commit: establish deterministic rod-string solver stack.

Set up the C solver core, Node API orchestration, TS GUI workflow, and engineering documentation with cleaned repo hygiene for private Git hosting.

Made-with: Cursor
This commit is contained in:
2026-04-16 21:59:42 -06:00
commit 725a72a773
83 changed files with 14687 additions and 0 deletions

170
data/cases/base-case.xml Normal file
View File

@@ -0,0 +1,170 @@
<?xml version="1.0"?>
<INPRoot>
<Case>
<ActualCounterbalance>0</ActualCounterbalance>
<AddMoldedGuideWeightChecked>1</AddMoldedGuideWeightChecked>
<AdjustedStroke>0</AdjustedStroke>
<Analyst>Conner </Analyst>
<AzimuthFromNorthArray>0:14.4:108.5:124.4:115.2:96.4:80.6:184.5:83.7:102.8:316:146.7:159.3:275.7:266.1:170.1:289.5:293.3:297.2:288.8:303.5:32.7:70.6:75.6:76.5:80.2:81.6:80.2:79.8:80.7:80.7:80.4:79.7:78.9:79.2:79.2:78.6:77.4:76.5:76.4:77.3:77.4:77.8:78.2:78:78.3:78.2:78.2:78.9:79.8:80.2:80.2:80.3:80.3:80.6:79.8:79.1:78.2:78.2:79:79.3:79.3:79.3:79.3:79.3:79.7:78.8:79.5:79.2:79:77.9:76.7:76.4:76.9:76:76.7:77.3:76.9:76.7:77.4:76.9:77.1:76.7:77.1:76.7:76.4:76:76.4:76.4:76.2:76:75.7:75:75.5:76.4:76.4:75.5:76.4:75.3:76:74.8:75.3:75.1:76.4:76.7:77.8:77.3:77.3:77.6:77.4:77.3:78.1:78.7:77.9:77.3:77.3:77.3:76.7:76:77.3:77.6:78.3:79.2:79.2:78.8:78.8:78.7:77.8:79:78.5:78.5:78.3:77.9:77.8:77.8:77.3:77.8:77.9:76.5:76.4:76.4:76.7:76.5:76.9:76.4:76:76.9:76.9:78.5:78.5:77.3:79:79.5:78.8:80.2:80.1:81.5:80.1:79.7:80.1:79.5:80.6:80.8:80.6:80.8:81.5:81.6:81.6:80.4:80.6:79.7:79.5:78.8:78.1:76.7:75:76.2:75.3:76.2:76.2:75.1:76.2:74.8:75.3:75.5:75.3:75.5:74.6:73.9:72.3</AzimuthFromNorthArray>
<BitWalkRateArr>0</BitWalkRateArr>
<BuildupRateArr>0</BuildupRateArr>
<BuildupRateForAutoDesign>0</BuildupRateForAutoDesign>
<BulkModulus>2</BulkModulus>
<BuoyantWeightAdjustment>0</BuoyantWeightAdjustment>
<CaseName BaseCaseName="Base Case">Base Case</CaseName>
<CasingHeadPressure>0</CasingHeadPressure>
<CBalOption>0</CBalOption>
<Comments />
<Company>Veren</Company>
<CounterWeight>0</CounterWeight>
<CounterWeightInertia>0</CounterWeightInertia>
<CrankHole>1 - 367.3 (cm)</CrankHole>
<CrankID />
<CycleKey>0</CycleKey>
<DateCreated>4/28/2025</DateCreated>
<DecimalDelimiter>.</DecimalDelimiter>
<DesignModeIndex>0</DesignModeIndex>
<DeviationDataCount>190</DeviationDataCount>
<DeviationDateSurvey>4/28/2025</DeviationDateSurvey>
<DownStrokeDampingFactor>0.15</DownStrokeDampingFactor>
<DropOffRateForAutoDesign>0</DropOffRateForAutoDesign>
<ElectricCost>10</ElectricCost>
<ExactFillage>0</ExactFillage>
<ExistingStructureUnbalance>8580</ExistingStructureUnbalance>
<FlowlineHeaderElevation>0</FlowlineHeaderElevation>
<FlowlineInternalDiameter>0</FlowlineInternalDiameter>
<FlowlineLength>0</FlowlineLength>
<FlowlinePressure>2275</FlowlinePressure>
<FluidLevelOilGravity>43</FluidLevelOilGravity>
<FluidPropertyOilGravity>0</FluidPropertyOilGravity>
<GasEngine>0</GasEngine>
<GasEngineHP>0</GasEngineHP>
<GasEngineSpeed>0</GasEngineSpeed>
<HydralicStroke>0</HydralicStroke>
<HydralicStructureRating>0</HydralicStructureRating>
<ImprovingChecked>1</ImprovingChecked>
<InclinationFromVerticalArray>0:0.3:0.7:0.7:0.7:0.8:1:0:0.1:0.8:0.4:1.4:0.5:1.1:0.8:0.7:0.2:0.5:0.8:0.8:0.8:1.1:3.3:5.8:8.1:10.5:12.8:15.6:17.9:21.5:25.2:29:31.9:33.7:35.1:36.4:37.8:40.7:43.6:46.8:48.9:50.4:51.7:53:56.1:60.2:62.6:62.8:64.8:68.1:71.6:73.1:74.7:75.4:77.4:80:82.5:84.5:85.2:87:87.9:88.6:89.52:89.8:89.8:90:90.3:90:90:89.5:89.9:90:89.7:89.4:89.9:90:90.1:90.6:90.6:90.4:90.5:90.4:90.4:90.2:90.2:90.5:90.6:90.1:89.8:89.7:90.3:90.3:90.2:90.7:91.6:91.9:91.6:90.4:90.4:89.6:89.9:89.4:89.3:89.5:89.4:89.9:90.1:90:90.6:90.3:90.1:90.9:91.5:91.6:91.4:90.8:90.7:90.1:90.1:90.1:90.2:90.8:91.1:91.3:91.2:91.1:91:90.8:90:89.8:89.4:89.3:88.9:89.2:89.4:90.4:90.2:90:90.8:91:90:90.1:91.2:90.8:90.5:90.7:90.2:90.2:90.4:90.6:90.1:89.8:90.4:90.5:90.3:90.5:91.4:91:90.9:90.6:90.9:91.1:91.6:91.9:90.7:89.8:89.5:89.6:89.2:88.3:88.8:88.8:89.6:91.1:91.8:92:91.5:91.1:90.6:90.6:90.8:90.1:89.9:89.2:88.9:89.9:89.7:90.7:90.8:90.8</InclinationFromVerticalArray>
<InitialInclinationAngle>0</InitialInclinationAngle>
<IncludeSinkerBar>0</IncludeSinkerBar>
<IncompleteFillageOption>2</IncompleteFillageOption>
<IsOnDaulSpeedVariation>0</IsOnDaulSpeedVariation>
<KickOffDepth>0</KickOffDepth>
<LeadDirection>0</LeadDirection>
<MaximumAirPressure>0</MaximumAirPressure>
<MaximumRodDiameter>0</MaximumRodDiameter>
<MaxMoldedGuide>10</MaxMoldedGuide>
<MaxSideLoadForBaseRod>50</MaxSideLoadForBaseRod>
<MaxSideLoadForMoldedGuide>40</MaxSideLoadForMoldedGuide>
<MaxSideLoadForWheeledGuide>200</MaxSideLoadForWheeledGuide>
<MeasuredDepthArray>0:211.25:302.71:347.65:439.95:533.59:629.78:658.7:754.99:851.37:880.27:976.66:1005.51:1034.41:1082.54:1178.69:1207.53:1303.89:1361.65:1390.31:1399.97:1409.6:1419.27:1428.93:1438.55:1448.17:1457.82:1467.46:1477.11:1486.74:1496.39:1506.08:1515.65:1525.27:1534.9:1544.5:1554.13:1563.77:1573.36:1582.99:1592.55:1602.16:1611.79:1621.4:1631.01:1640.63:1650.24:1659.87:1669.5:1679.14:1688.78:1698.45:1708.04:1717.66:1727.29:1736.93:1746.55:1756.16:1765.78:1775.44:1782:1789.92:1797:1799.16:1808.29:1817.68:1826.74:1835.79:1845.06:1854.32:1863.35:1872.6:1881.88:1890.82:1900.16:1909.46:1919.16:1928.51:1937.17:1946.58:1955.93:1965.54:1974.49:1983.44:1992.94:2002.25:2011.28:2020.31:2029.42:2038.8:2047.95:2057.18:2066.19:2075.62:2084.57:2093.47:2102.88:2112.2:2121.16:2130.42:2139.38:2148.68:2158.13:2167.47:2177.11:2186.72:2196.38:2206:2215.63:2225.21:2234.82:2244.44:2254.09:2263.69:2273.32:2282.94:2292.57:2302.14:2311.78:2321.39:2331.02:2340.63:2350.31:2359.99:2369.61:2379.29:2388.88:2398.49:2408.07:2417.68:2427.33:2437:2446.63:2456.33:2465.9:2475.6:2485.23:2494.81:2504.44:2514.07:2523.67:2533.29:2542.92:2552.6:2562.27:2571.92:2581.55:2591.16:2600.81:2610.45:2620.06:2629.69:2639.29:2648.89:2658.49:2668.16:2677.78:2687.37:2697.01:2706.66:2716.28:2725.91:2735.53:2745.15:2754.77:2764.46:2774.08:2783.64:2793.26:2802.88:2812.51:2822.01:2831.66:2841.39:2851.03:2860.66:2870.25:2879.84:2889.5:2899.12:2908.71:2918.34:2928:2937.63:2947.25:2956.81:2966.43:2976.06:2985.67:2995</MeasuredDepthArray>
<MeasuredDepthInterval>0</MeasuredDepthInterval>
<MinimalRodDiameter>0</MinimalRodDiameter>
<MinimumAirPressure>0</MinimumAirPressure>
<MinMoldedGuide>3</MinMoldedGuide>
<MoldedGuideFrictionRatio>1.5</MoldedGuideFrictionRatio>
<MoldedGuideType>Norris PPS-Standard</MoldedGuideType>
<MotorID />
<MotorKey>0</MotorKey>
<MotorSheaveDiameter>0</MotorSheaveDiameter>
<MotorSheaveInertia>0</MotorSheaveInertia>
<NominalBeltSlip>1</NominalBeltSlip>
<NonDimensionalFluidDamping>1.5</NonDimensionalFluidDamping>
<NumberOfGroove>0</NumberOfGroove>
<NumberOfSections>0</NumberOfSections>
<OtherGuideFrictionRatio>2</OtherGuideFrictionRatio>
<PercentPumpFillage>0</PercentPumpFillage>
<PercentageDownstrokeTime>50</PercentageDownstrokeTime>
<PercentageUpstrokeTime>50</PercentageUpstrokeTime>
<PerforationBottom>0</PerforationBottom>
<PerforationTop>0</PerforationTop>
<PolishedRodDiameter>0</PolishedRodDiameter>
<PowerLineFrequency>60</PowerLineFrequency>
<PumpCapacity>0</PumpCapacity>
<PumpCBubblePointPressure>0</PumpCBubblePointPressure>
<PumpCFluidViscosity>0</PumpCFluidViscosity>
<PumpCGasSpecGravity>0</PumpCGasSpecGravity>
<PumpCGasVentingEfficiency>0</PumpCGasVentingEfficiency>
<PumpCOilGravity>0</PumpCOilGravity>
<PumpCOilProductionRate>0</PumpCOilProductionRate>
<PumpCProducingGOR>0</PumpCProducingGOR>
<PumpCPumpMechEfficiency>0</PumpCPumpMechEfficiency>
<PumpCPumpPlungerClearance>0</PumpCPumpPlungerClearance>
<PumpCPumpPlungerLength>0</PumpCPumpPlungerLength>
<PumpCPumpTemperature>0</PumpCPumpTemperature>
<PumpCWaterProductionRate>0</PumpCWaterProductionRate>
<PumpCWaterSpecGravity>0</PumpCWaterSpecGravity>
<PumpDepth>1727</PumpDepth>
<PumpDiameter>31.75</PumpDiameter>
<PumpEfficiency>80</PumpEfficiency>
<PumpFillageOption>1</PumpFillageOption>
<PumpFriction>200</PumpFriction>
<PumpingSpeed>5</PumpingSpeed>
<PumpingSpeedOption>1</PumpingSpeedOption>
<PumpingUnitID>HG320-256-144</PumpingUnitID>
<PumpingUnitKey>1802</PumpingUnitKey>
<PumpIntakePressure>100</PumpIntakePressure>
<PumpLoadAdjustment>0</PumpLoadAdjustment>
<PumpLoadCoefficient>5</PumpLoadCoefficient>
<ReducerSheaveDiameter>0</ReducerSheaveDiameter>
<ReducerSheaveInertia>0</ReducerSheaveInertia>
<ReportOption>0</ReportOption>
<RodFrictionCoefficient>0.2</RodFrictionCoefficient>
<RodGuideTypeArray>M:M:M:N:M:::::</RodGuideTypeArray>
<RodGuideWeightArray>0:0:0:0:0:0:0:0:0:0</RodGuideWeightArray>
<RodLengthForFiberglass>11.43</RodLengthForFiberglass>
<RodLengthForSteel>7.62</RodLengthForSteel>
<RodLoading>0</RodLoading>
<RodTypeArray>3:3:2:3:3:0:0:0:0:0</RodTypeArray>
<RotationKey>-1</RotationKey>
<Runtime>24</Runtime>
<SelectHydralicUnit>0</SelectHydralicUnit>
<SeparatorPressure>275.79</SeparatorPressure>
<ServiceFactor>0.8</ServiceFactor>
<ShallowWell>0</ShallowWell>
<SheaveOption>0</SheaveOption>
<SinkerBarDiameter>0</SinkerBarDiameter>
<SinkerBarLength>0</SinkerBarLength>
<SinkerBarType />
<SpeedVariationKey>1</SpeedVariationKey>
<SRODRecommendNemaDMotor>1</SRODRecommendNemaDMotor>
<StuffingBoxFriction>100</StuffingBoxFriction>
<Taper />
<TaperCount>5</TaperCount>
<TaperDesignOption>1</TaperDesignOption>
<TaperDiameterArray>22.225:19.05:38.1:19.05:19.05:0:0:0:0:0</TaperDiameterArray>
<TaperGuidesCountArray>-1:-1:-1:-1:-1:-1:-1:-1:-1:-1:-1:-1:-1:-1:-1:-1</TaperGuidesCountArray>
<TaperLengthArray>86:86:10:36:9:0:0:0:0:0</TaperLengthArray>
<TaperLumpsArray>0:0:0:0:0:0:0:0:0:0</TaperLumpsArray>
<TaperModulusArray>30.5:30.5:30.5:30.5:30.5:0:0:0:0:0</TaperModulusArray>
<TaperMTSArray>792897.055:792897.055:620528.13:792897.055:792897.055:0:0:0:0:0</TaperMTSArray>
<TaperWeightArray>2.224:1.634:6:1.634:1.634:0:0:0:0:0:0:0:0:0:0:0</TaperWeightArray>
<TotalDepartureOfTarget>0</TotalDepartureOfTarget>
<TrueFluidDepth>0</TrueFluidDepth>
<TubingAnchorLocation>1361.3</TubingAnchorLocation>
<TubingGradient>9.989</TubingGradient>
<TubingSize>3</TubingSize>
<TVD>0</TVD>
<UnitsSelection>2</UnitsSelection>
<UpStrokeDampingFactor>0.05</UpStrokeDampingFactor>
<Version>9.0.0</Version>
<VerticalDepthArr>0</VerticalDepthArr>
<ViewOption>3</ViewOption>
<WaterCut>73</WaterCut>
<WaterSpecGravity>1.096</WaterSpecGravity>
<WellDeviationType>1</WellDeviationType>
<WellName>191/01-27-007-09W2/00</WellName>
<WheeledGuideFrictionRatio>0.1</WheeledGuideFrictionRatio>
<DesiredMaxSPM>1</DesiredMaxSPM>
<DesiredMinSPM>1</DesiredMinSPM>
<PumpingSpeedByVFD>0</PumpingSpeedByVFD>
<GradientBelowPump>0</GradientBelowPump>
<ReservoirDepth>0</ReservoirDepth>
<StaticReservoirPressure>0</StaticReservoirPressure>
<OilProductionRate>0</OilProductionRate>
<WaterProductionRate>0</WaterProductionRate>
<BubblePoint>0</BubblePoint>
<DesiredResProdPress>0</DesiredResProdPress>
<IPRInputMode>Vogel</IPRInputMode>
<VogalPointList>0:0:0</VogalPointList>
</Case>
</INPRoot>