diff --git a/CSharp/BasicInputs/Geology/CFormation.f90 b/CSharp/BasicInputs/Geology/CFormation.f90 index 24bdc3a..538b879 100644 --- a/CSharp/BasicInputs/Geology/CFormation.f90 +++ b/CSharp/BasicInputs/Geology/CFormation.f90 @@ -6,6 +6,41 @@ module CFormation contains + subroutine FormationFromJson(parent) + use json_module,IK =>json_ik + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p,pitem,pval + logical::is_found + integer::i,n_children + CHARACTER(KIND=JSON_CK, LEN=:), ALLOCATABLE :: val + + + call json%get(parent,'Formation',p) + + call json%info(p, n_children=n_children) + data%Configuration%Formation%Count = n_children + if (.not. allocated(data%Configuration%Formation%Formations) .or. size(data%Configuration%Formation%Formations)/=n_children) then + ALLOCATE(data%Configuration%Formation%Formations(n_children)) + endif + do i=1,n_children + call json%get_child(p, i, pitem, found=is_found) + + call json%get(pitem,'Top',pval) + call json%get(pval,data%Configuration%Formation%Formations(i)%Top) + call json%get(pitem,'Thickness',pval) + call json%get(pval,data%Configuration%Formation%Formations(i)%Thickness) + call json%get(pitem,'Drillablity',pval) + call json%get(pval,data%Configuration%Formation%Formations(i)%Drillablity) + call json%get(pitem,'Abrasiveness',pval) + call json%get(pval,data%Configuration%Formation%Formations(i)%Abrasiveness) + call json%get(pitem,'ThresholdWeight',pval) + call json%get(pval,data%Configuration%Formation%Formations(i)%ThresholdWeight) + call json%get(pitem,'PorePressureGradient',pval) + call json%get(pval,data%Configuration%Formation%Formations(i)%PorePressureGradient) + end do + end subroutine + subroutine FormationToJson(parent) type(json_value),pointer :: parent diff --git a/CSharp/BasicInputs/Geology/CReservoir.f90 b/CSharp/BasicInputs/Geology/CReservoir.f90 index 52b56d1..478713b 100644 --- a/CSharp/BasicInputs/Geology/CReservoir.f90 +++ b/CSharp/BasicInputs/Geology/CReservoir.f90 @@ -5,6 +5,44 @@ module CReservoir contains + subroutine ReservoirFromJson(parent) + use json_module,IK =>json_ik + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p,pitem,pval + logical::is_found + integer::i,n_children + CHARACTER(KIND=JSON_CK, LEN=:), ALLOCATABLE :: val + + + call json%get(parent,'Reservoir',p) + + call json%get(p,'FormationNo',pval) + call json%get(pval,data%Configuration%Reservoir%FormationNo) + call json%get(p,'FormationTop',pval) + call json%get(pval,data%Configuration%Reservoir%FormationTop) + call json%get(p,'PressureGradient',pval) + call json%get(pval,data%Configuration%Reservoir%PressureGradient) + call json%get(p,'FormationPermeability',pval) + call json%get(pval,data%Configuration%Reservoir%FormationPermeability) + call json%get(p,'GeothermalGradient',pval) + call json%get(pval,data%Configuration%Reservoir%GeothermalGradient) + call json%get(p,'FluidType',pval) + call json%get(pval,data%Configuration%Reservoir%FluidType) + call json%get(p,'FluidGradient',pval) + call json%get(pval,data%Configuration%Reservoir%FluidGradient) + call json%get(p,'FluidViscosity',pval) + call json%get(pval,data%Configuration%Reservoir%FluidViscosity) + call json%get(p,'InactiveInflux',pval) + call json%get(pval,data%Configuration%Reservoir%InactiveInflux) + call json%get(p,'IsAutoMigrationRateSelected',pval) + call json%get(pval,data%Configuration%Reservoir%IsAutoMigrationRateSelected) + call json%get(p,'AutoMigrationRate',pval) + call json%get(pval,data%Configuration%Reservoir%AutoMigrationRate) + call json%get(p,'MakeKickSinglePacket',pval) + call json%get(pval,data%Configuration%Reservoir%MakeKickSinglePacket) + end subroutine + subroutine ReservoirToJson(parent) type(json_value),pointer :: parent diff --git a/CSharp/BasicInputs/Geology/CShoe.f90 b/CSharp/BasicInputs/Geology/CShoe.f90 index 32b47f6..b49f5a0 100644 --- a/CSharp/BasicInputs/Geology/CShoe.f90 +++ b/CSharp/BasicInputs/Geology/CShoe.f90 @@ -6,6 +6,32 @@ module CShoe public contains + subroutine ShoeFromJson(parent) + use json_module,IK =>json_ik + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p,pitem,pval + logical::is_found + integer::i,n_children + CHARACTER(KIND=JSON_CK, LEN=:), ALLOCATABLE :: val + + + call json%get(parent,'Shoe',p) + + call json%get(p,'FormationNo',pval) + call json%get(pval,data%Configuration%Shoe%FormationNo) + call json%get(p,'ShoeDepth',pval) + call json%get(pval,data%Configuration%Shoe%ShoeDepth) + call json%get(p,'LeakOff',pval) + call json%get(pval,data%Configuration%Shoe%LeakOff) + call json%get(p,'Breakdown',pval) + call json%get(pval,data%Configuration%Shoe%Breakdown) + call json%get(p,'FracturePropagation',pval) + call json%get(pval,data%Configuration%Shoe%FracturePropagation) + call json%get(p,'InactiveFracture',pval) + call json%get(pval,data%Configuration%Shoe%InactiveFracture) + end subroutine + subroutine ShoeToJson(parent) type(json_value),pointer :: parent diff --git a/CSharp/BasicInputs/RigSpecifications/CAccumulator.f90 b/CSharp/BasicInputs/RigSpecifications/CAccumulator.f90 index 9838354..7b40d21 100644 --- a/CSharp/BasicInputs/RigSpecifications/CAccumulator.f90 +++ b/CSharp/BasicInputs/RigSpecifications/CAccumulator.f90 @@ -6,6 +6,43 @@ module CAccumulator public contains + subroutine AccumulatorFromJson(parent) + + use json_module,IK =>json_ik + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p,pitem,pval + logical::is_found + integer::i,n_children + CHARACTER(KIND=JSON_CK, LEN=:), ALLOCATABLE :: val + + + call json%get(parent,'Accumulator',p) + + call json%get(p,'NumberOfBottels',pval) + call json%get(pval,data%Configuration%Accumulator%NumberOfBottels) + call json%get(p,'AccumulatorSystemSize',pval) + call json%get(pval,data%Configuration%Accumulator%AccumulatorSystemSize) + call json%get(p,'OilTankVolume',pval) + call json%get(pval,data%Configuration%Accumulator%OilTankVolume) + call json%get(p,'PrechargePressure',pval) + call json%get(pval,data%Configuration%Accumulator%PrechargePressure) + call json%get(p,'AccumulatorMinimumOperatingPressure',pval) + call json%get(pval,data%Configuration%Accumulator%AccumulatorMinimumOperatingPressure) + call json%get(p,'ElectricPumpOutput',pval) + call json%get(pval,data%Configuration%Accumulator%ElectricPumpOutput) + call json%get(p,'StartPressure',pval) + call json%get(pval,data%Configuration%Accumulator%StartPressure) + call json%get(p,'StopPressure',pval) + call json%get(pval,data%Configuration%Accumulator%StopPressure) + call json%get(p,'AirPlungerPumpOutput',pval) + call json%get(pval,data%Configuration%Accumulator%AirPlungerPumpOutput) + call json%get(p,'StartPressure2',pval) + call json%get(pval,data%Configuration%Accumulator%StartPressure2) + call json%get(p,'StopPressure2',pval) + call json%get(pval,data%Configuration%Accumulator%StopPressure2) + end subroutine + subroutine AccumulatorToJson(parent) type(json_value),pointer :: parent type(json_core) :: json diff --git a/CSharp/BasicInputs/RigSpecifications/CBopStack.f90 b/CSharp/BasicInputs/RigSpecifications/CBopStack.f90 index 78099cf..c6a9d21 100644 --- a/CSharp/BasicInputs/RigSpecifications/CBopStack.f90 +++ b/CSharp/BasicInputs/RigSpecifications/CBopStack.f90 @@ -5,6 +5,67 @@ module CBopStack public contains + + subroutine BopStackFromJson(parent) + + use json_module,IK =>json_ik + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p,pitem,pval + logical::is_found + integer::i,n_children + CHARACTER(KIND=JSON_CK, LEN=:), ALLOCATABLE :: val + + + call json%get(parent,'BopStack',p) + call json%get(p,'AboveAnnularHeight',pval) + call json%get(pval,data%Configuration%BopStack%AboveAnnularHeight) + call json%get(p,'AnnularPreventerHeight',pval) + call json%get(pval,data%Configuration%BopStack%AnnularPreventerHeight) + call json%get(p,'UpperRamHeight',pval) + call json%get(pval,data%Configuration%BopStack%UpperRamHeight) + call json%get(p,'LowerRamHeight',pval) + call json%get(pval,data%Configuration%BopStack%LowerRamHeight) + call json%get(p,'BlindRamHeight',pval) + call json%get(pval,data%Configuration%BopStack%BlindRamHeight) + call json%get(p,'KillHeight',pval) + call json%get(pval,data%Configuration%BopStack%KillHeight) + call json%get(p,'KillOpen',pval) + call json%get(pval,data%Configuration%BopStack%KillOpen) + call json%get(p,'KillClose',pval) + call json%get(pval,data%Configuration%BopStack%KillClose) + call json%get(p,'GroundLevel',pval) + call json%get(pval,data%Configuration%BopStack%GroundLevel) + call json%get(p,'LowerRamOpen',pval) + call json%get(pval,data%Configuration%BopStack%LowerRamOpen) + call json%get(p,'LowerRamClose',pval) + call json%get(pval,data%Configuration%BopStack%LowerRamClose) + call json%get(p,'ChokeOpen',pval) + call json%get(pval,data%Configuration%BopStack%ChokeOpen) + call json%get(p,'ChokeClose',pval) + call json%get(pval,data%Configuration%BopStack%ChokeClose) + call json%get(p,'BlindRamOpen',pval) + call json%get(pval,data%Configuration%BopStack%BlindRamOpen) + call json%get(p,'BlindRamClose',pval) + call json%get(pval,data%Configuration%BopStack%BlindRamClose) + call json%get(p,'UpperRamOpen',pval) + call json%get(pval,data%Configuration%BopStack%UpperRamOpen) + call json%get(p,'UpperRamClose',pval) + call json%get(pval,data%Configuration%BopStack%UpperRamClose) + call json%get(p,'AnnularPreventerOpen',pval) + call json%get(pval,data%Configuration%BopStack%AnnularPreventerOpen) + call json%get(p,'AnnularPreventerClose',pval) + call json%get(pval,data%Configuration%BopStack%AnnularPreventerClose) + call json%get(p,'RamStringDrag',pval) + call json%get(pval,data%Configuration%BopStack%RamStringDrag) + call json%get(p,'AnnularStringDrag',pval) + call json%get(pval,data%Configuration%BopStack%AnnularStringDrag) + call json%get(p,'ChokeLineLength',pval) + call json%get(pval,data%Configuration%BopStack%ChokeLineLength) + call json%get(p,'ChokeLineId',pval) + call json%get(pval,data%Configuration%BopStack%ChokeLineId) + +end subroutine subroutine BopStackToJson(parent) type(json_value),pointer :: parent diff --git a/CSharp/BasicInputs/RigSpecifications/CHoisting.f90 b/CSharp/BasicInputs/RigSpecifications/CHoisting.f90 index 63b549b..25e242f 100644 --- a/CSharp/BasicInputs/RigSpecifications/CHoisting.f90 +++ b/CSharp/BasicInputs/RigSpecifications/CHoisting.f90 @@ -5,8 +5,32 @@ module CHoisting public contains - subroutine HoistingToJson(parent) + subroutine HoistingFromJson(parent) + + use json_module,IK =>json_ik + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p,pitem,pval + logical::is_found + integer::i,n_children + CHARACTER(KIND=JSON_CK, LEN=:), ALLOCATABLE :: val + call json%get(parent,'Hoisting',p) + call json%get(p,'DriveType',pval) + call json%get(pval,data%Configuration%Hoisting%DriveType) + call json%get(p,'TravelingBlockWeight',pval) + call json%get(pval,data%Configuration%Hoisting%TravelingBlockWeight) + call json%get(p,'TopDriveWeight',pval) + call json%get(pval,data%Configuration%Hoisting%TopDriveWeight) + call json%get(p,'KellyWeight',pval) + call json%get(pval,data%Configuration%Hoisting%KellyWeight) + call json%get(p,'NumberOfLine',pval) + call json%get(pval,data%Configuration%Hoisting%NumberOfLine) + call json%get(p,'DrillingLineBreakingLoad',pval) + call json%get(pval,data%Configuration%Hoisting%DrillingLineBreakingLoad) + end subroutine + + subroutine HoistingToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p diff --git a/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 b/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 index 44fe9dd..152e09a 100644 --- a/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 +++ b/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 @@ -56,8 +56,8 @@ module CPathGeneration call json%get(p,'Items',pitems) call json%info(pitems, n_children=n_children) - if (.not. allocated(data%Configuration%Path%Items) .or. size(data%Configuration%Configuration%Path%Items)/=n_children) then - ALLOCATE(data%Configuration%Configuration%Path%Items(n_children)) + if (.not. allocated(data%Configuration%Path%Items) .or. size(data%Configuration%Path%Items)/=n_children) then + ALLOCATE(data%Configuration%Path%Items(n_children)) endif do i=1,n_children call json%get_child(pitems, i, pitem, found=is_found) @@ -80,8 +80,8 @@ module CPathGeneration call json%get(p,'DataPoints',dpoints) call json%info(dpoints, n_children=n_children) - if (.not. allocated(data%Configuration%Path%DataPoints) .or. size(data%Configuration%Configuration%Path%DataPoints)/=n_children) then - ALLOCATE(data%Configuration%Configuration%Path%DataPoints(n_children)) + if (.not. allocated(data%Configuration%Path%DataPoints) .or. size(data%Configuration%Path%DataPoints)/=n_children) then + ALLOCATE(data%Configuration%Path%DataPoints(n_children)) endif do i=1,n_children call json%get_child(dpoints, i, dpoint, found=is_found) diff --git a/CSharp/OperationScenarios/Unity/CUnityOutputs.f90 b/CSharp/OperationScenarios/Unity/CUnityOutputs.f90 index 739cc35..9098fde 100644 --- a/CSharp/OperationScenarios/Unity/CUnityOutputs.f90 +++ b/CSharp/OperationScenarios/Unity/CUnityOutputs.f90 @@ -47,25 +47,7 @@ module CUnityOutputs logical function Get_BlowoutFromString() implicit none Get_BlowoutFromString = UnityOutputs%BlowoutFromString - end function - - subroutine Set_BlowoutFromString_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_BlowoutFromString_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_BlowoutFromString_WN' :: Set_BlowoutFromString_WN - implicit none - logical, intent (in) :: v - call Set_BlowoutFromString(v) - end subroutine - - logical function Get_BlowoutFromString_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: Get_BlowoutFromString_WN - !DEC$ ATTRIBUTES ALIAS: 'Get_BlowoutFromString_WN' :: Get_BlowoutFromString_WN - implicit none - Get_BlowoutFromString_WN = UnityOutputs%BlowoutFromString - !Get_BlowoutFromString = .TRUE. - end function - - + end function subroutine Set_BlowoutFromAnnular(v) implicit none @@ -81,21 +63,6 @@ module CUnityOutputs Get_BlowoutFromAnnular = UnityOutputs%BlowoutFromAnnular end function - subroutine Set_BlowoutFromAnnular_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_BlowoutFromAnnular_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_BlowoutFromAnnular_WN' :: Set_BlowoutFromAnnular_WN - implicit none - logical, intent (in) :: v - call Set_BlowoutFromAnnular(v) - end subroutine - - logical function Get_BlowoutFromAnnular_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: Get_BlowoutFromAnnular_WN - !DEC$ ATTRIBUTES ALIAS: 'Get_BlowoutFromAnnular_WN' :: Get_BlowoutFromAnnular_WN - implicit none - Get_BlowoutFromAnnular_WN = UnityOutputs%BlowoutFromAnnular - end function - @@ -115,23 +82,6 @@ module CUnityOutputs end function - subroutine Set_FlowFromReturnLine_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_FlowFromReturnLine_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_FlowFromReturnLine_WN' :: Set_FlowFromReturnLine_WN - implicit none - logical, intent (in) :: v - call Set_FlowFromReturnLine(v) - end subroutine - - logical function Get_FlowFromReturnLine_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: Get_FlowFromReturnLine_WN - !DEC$ ATTRIBUTES ALIAS: 'Get_FlowFromReturnLine_WN' :: Get_FlowFromReturnLine_WN - implicit none - Get_FlowFromReturnLine_WN = UnityOutputs%FlowFromReturnLine - !Get_FlowFromReturnLine_WN = .FALSE. - end function - - subroutine Set_FlowFromKelly(v) implicit none @@ -148,25 +98,6 @@ module CUnityOutputs end function - subroutine Set_FlowFromKelly_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_FlowFromKelly_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_FlowFromKelly_WN' :: Set_FlowFromKelly_WN - implicit none - real, intent (in) :: v - call Set_FlowFromKelly(v) - end subroutine - - real function Get_FlowFromKelly_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: Get_FlowFromKelly_WN - !DEC$ ATTRIBUTES ALIAS: 'Get_FlowFromKelly_WN' :: Get_FlowFromKelly_WN - implicit none -#ifdef deb - print*, 'FlowFromKellyR=', UnityOutputs%FlowFromKelly -#endif - Get_FlowFromKelly_WN = UnityOutputs%FlowFromKelly - !Get_FlowFromKelly = .FALSE. - end function - @@ -185,25 +116,6 @@ module CUnityOutputs end function - subroutine Set_FlowFromFillupHead_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_FlowFromFillupHead_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_FlowFromFillupHead_WN' :: Set_FlowFromFillupHead_WN - implicit none - real, intent (in) :: v - call Set_FlowFromFillupHead(v) - end subroutine - - real function Get_FlowFromFillupHead_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: Get_FlowFromFillupHead_WN - !DEC$ ATTRIBUTES ALIAS: 'Get_FlowFromFillupHead_WN' :: Get_FlowFromFillupHead_WN - implicit none -#ifdef deb - print*, 'FlowFromFillupHeadR=', UnityOutputs%FlowFromFillupHead -#endif - Get_FlowFromFillupHead_WN = UnityOutputs%FlowFromFillupHead - !Get_FlowFromFillupHead = .FALSE. - end function - @@ -223,23 +135,6 @@ module CUnityOutputs end function - subroutine Set_FlowKellyDisconnect_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_FlowKellyDisconnect_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_FlowKellyDisconnect_WN' :: Set_FlowKellyDisconnect_WN - implicit none - logical, intent (in) :: v - call Set_FlowKellyDisconnect(v) - end subroutine - - logical function Get_FlowKellyDisconnect_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: Get_FlowKellyDisconnect_WN - !DEC$ ATTRIBUTES ALIAS: 'Get_FlowKellyDisconnect_WN' :: Get_FlowKellyDisconnect_WN - implicit none - Get_FlowKellyDisconnect_WN = UnityOutputs%FlowKellyDisconnect - !Get_FlowKellyDisconnect_WN = .false. - end function - - subroutine Set_FlowPipeDisconnect(v) @@ -255,49 +150,6 @@ module CUnityOutputs implicit none Get_FlowPipeDisconnect = UnityOutputs%FlowPipeDisconnect end function - - - subroutine Set_FlowPipeDisconnect_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_FlowPipeDisconnect_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_FlowPipeDisconnect_WN' :: Set_FlowPipeDisconnect_WN - implicit none - logical, intent (in) :: v - call Set_FlowPipeDisconnect(v) - end subroutine - - logical function Get_FlowPipeDisconnect_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: Get_FlowPipeDisconnect_WN - !DEC$ ATTRIBUTES ALIAS: 'Get_FlowPipeDisconnect_WN' :: Get_FlowPipeDisconnect_WN - implicit none - Get_FlowPipeDisconnect_WN = UnityOutputs%FlowPipeDisconnect - !Get_FlowPipeDisconnect_WN = .false. - end function - - - - - - - - - - - - - - - - - - - - - - - - - - subroutine Set_BlowoutFromStringPercent(v) implicit none @@ -313,31 +165,6 @@ module CUnityOutputs GetBlowoutFromStringPercent = UnityOutputs%BlowoutFromStringPercent end function - - - subroutine Set_BlowoutFromStringPercent_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_BlowoutFromStringPercent_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_BlowoutFromStringPercent_WN' :: Set_BlowoutFromStringPercent_WN - implicit none - real(8), intent (in) :: v - call Set_BlowoutFromStringPercent(v) - end subroutine - - real(8) function GetBlowoutFromStringPercent_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: GetBlowoutFromStringPercent_WN - !DEC$ ATTRIBUTES ALIAS: 'GetBlowoutFromStringPercent_WN' :: GetBlowoutFromStringPercent_WN - implicit none - GetBlowoutFromStringPercent_WN = UnityOutputs%BlowoutFromStringPercent - !GetBlowoutFromStringPercent_WN = 0d0 - end function - - - - - - - - subroutine Calc_KellyHoseVibrationRate(spm1, spm2) use CScaleRange implicit none @@ -353,17 +180,7 @@ module CUnityOutputs real(8) function GetKellyHoseVibrationRate() implicit none GetKellyHoseVibrationRate = UnityOutputs%KellyHoseVibrationRate - end function - - real(8) function GetKellyHoseVibrationRate_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: GetKellyHoseVibrationRate_WN - !DEC$ ATTRIBUTES ALIAS: 'GetKellyHoseVibrationRate_WN' :: GetKellyHoseVibrationRate_WN - implicit none - GetKellyHoseVibrationRate_WN = UnityOutputs%KellyHoseVibrationRate - end function - - - + end function subroutine Set_Pedal(v) implicit none @@ -379,26 +196,6 @@ module CUnityOutputs GetPedal = UnityOutputs%Pedal end function - subroutine Set_Pedal_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_Pedal_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_Pedal_WN' :: Set_Pedal_WN - implicit none - real(8), intent (in) :: v - call Set_Pedal(v) - end subroutine - - real(8) function GetPedal_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: GetPedal_WN - !DEC$ ATTRIBUTES ALIAS: 'GetPedal_WN' :: GetPedal_WN - implicit none - GetPedal_WN = UnityOutputs%Pedal - !GetPedal = 50d0 - end function - - - - - subroutine Set_FlowRate(v) implicit none real(8), intent (in) :: v @@ -413,27 +210,6 @@ module CUnityOutputs implicit none GetFlowRate = UnityOutputs%FlowRate end function - - - subroutine Set_FlowRate_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_FlowRate_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_FlowRate_WN' :: Set_FlowRate_WN - implicit none - real(8), intent (in) :: v - call Set_FlowRate(v) - end subroutine - - real(8) function GetFlowRate_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: GetFlowRate_WN - !DEC$ ATTRIBUTES ALIAS: 'GetFlowRate_WN' :: GetFlowRate_WN - implicit none - GetFlowRate_WN = UnityOutputs%FlowRate - !GetFlowRate_WN = 50d0 - end function - - - - subroutine Set_RotaryRpm(v) implicit none real(8), intent (in) :: v @@ -447,148 +223,4 @@ module CUnityOutputs implicit none GetRotaryRpm = UnityOutputs%RotaryRpm end function - - - subroutine Set_RotaryRpm_WN(v) - !DEC$ ATTRIBUTES DLLEXPORT :: Set_RotaryRpm_WN - !DEC$ ATTRIBUTES ALIAS: 'Set_RotaryRpm_WN' :: Set_RotaryRpm_WN - implicit none - real(8), intent (in) :: v - call Set_RotaryRpm(v) - end subroutine - - real(8) function GetRotaryRpm_WN() - !DEC$ ATTRIBUTES DLLEXPORT :: GetRotaryRpm_WN - !DEC$ ATTRIBUTES ALIAS: 'GetRotaryRpm_WN' :: GetRotaryRpm_WN - implicit none - GetRotaryRpm_WN = UnityOutputs%RotaryRpm - end function - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - logical function GetSignal1() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal1 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal1' :: GetSignal1 - implicit none - !GetSignal1 = Signal1 - GetSignal1 = .false. - end function - - logical function GetSignal2() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal2 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal2' :: GetSignal2 - implicit none - !GetSignal2 = Signal2 - GetSignal2 = .false. - end function - - logical function GetSignal3() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal3 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal3' :: GetSignal3 - implicit none - !GetSignal3 = Signal3 - GetSignal3 = .false. - end function - - logical function GetSignal4() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal4 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal4' :: GetSignal4 - implicit none - !GetSignal4 = Signal4 - GetSignal4 = .false. - end function - - logical function GetSignal5() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal5 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal5' :: GetSignal5 - implicit none - !GetSignal5 = Signal5 - GetSignal5 = .false. - end function - - logical function GetSignal6() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal6 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal6' :: GetSignal6 - implicit none - !GetSignal6 = Signal6 - GetSignal6 = .false. - end function - - logical function GetSignal7() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal7 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal7' :: GetSignal7 - implicit none - !GetSignal7 = Signal7 - GetSignal7 = .false. - end function - - logical function GetSignal8() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal8 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal8' :: GetSignal8 - implicit none - !GetSignal8 = Signal8 - GetSignal8 = .false. - end function - - logical function GetSignal9() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal9 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal9' :: GetSignal9 - implicit none - !GetSignal9 = Signal9 - GetSignal9 = .false. - end function - - logical function GetSignal10() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSignal10 - !DEC$ ATTRIBUTES ALIAS: 'GetSignal10' :: GetSignal10 - implicit none - !GetSignal10 = Signal10 - GetSignal10 = .false. - end function - - - end module CUnityOutputs diff --git a/FluidFlow/Well_Pressure_Data_Transfer.f90 b/FluidFlow/Well_Pressure_Data_Transfer.f90 index a090df9..4729195 100644 --- a/FluidFlow/Well_Pressure_Data_Transfer.f90 +++ b/FluidFlow/Well_Pressure_Data_Transfer.f90 @@ -17,24 +17,20 @@ SUBROUTINE WellPressureDataTransfer USE FricPressDropVarsModule use MudSystemModule USE MudSystemVARIABLES -use SimulationVariables !@@@ + use SimulationVariables !@@@ USE GeoElements_FluidModule USE Fluid_Flow_Startup_Vars use KickVARIABLESModule - USE CMudPropertiesVariables - USE CBopStackVariables - USE sROP_Variables - USE CHOKEVARIABLES -use SimulationVariables !@, PI2 => PI - use CChokeManifoldVariables - use SimulationVariables - USE CBitProblemsVariables - USE CChokeProblemsVariables - USE CStringConfigurationVariables - use SimulationVariables !@ - use CDataDisplayConsole - use SimulationVariables - use SimulationVariables + ! USE CMudPropertiesVariables + ! USE CBopStackVariables + ! USE sROP_Variables + ! USE CHOKEVARIABLES + ! use CChokeManifoldVariables + ! use SimulationVariables + ! USE CBitProblemsVariables + ! USE CChokeProblemsVariables + ! USE CStringConfigurationVariables + ! use CDataDisplayConsole IMPLICIT NONE diff --git a/SimulationCore2 b/SimulationCore2 index 26a556e..570399a 100644 Binary files a/SimulationCore2 and b/SimulationCore2 differ diff --git a/Simulator.f90 b/Simulator.f90 index 79d1702..575c51f 100644 --- a/Simulator.f90 +++ b/Simulator.f90 @@ -500,18 +500,18 @@ module Simulator call jsonfile%get('Configuration',p,is_found) call StringConfigurationFromJson(p) - ! call FormationFromJson(p) - ! call ReservoirFromJson(p) - ! call ShoeFromJson(p) - ! call AccumulatorFromJson(p) - ! call BopStackFromJson(p) - ! call HoistingFromJson(p) - ! call PowerFromJson(p) - ! call PumpsFromJson(p) - ! call RigSizeFromJson(p) - ! call CasingLinerChokeFromJson(p) - ! call PathGenerationFromJson(p) - ! call MudPropertiesFromJson(p) + call FormationFromJson(p) + call ReservoirFromJson(p) + call ShoeFromJson(p) + call AccumulatorFromJson(p) + call BopStackFromJson(p) + call HoistingFromJson(p) + call PowerFromJson(p) + call PumpsFromJson(p) + call RigSizeFromJson(p) + call CasingLinerChokeFromJson(p) + call PathGenerationFromJson(p) + call MudPropertiesFromJson(p) ! 3. add new node to parent call json%add(parent,p) diff --git a/Text1.txt b/Text1.txt index ba03c73..f873bc5 100644 --- a/Text1.txt +++ b/Text1.txt @@ -1,10 +1,6 @@ - integer :: BitType - real(8) :: BitSize - integer :: BitCodeHundreds - integer :: BitCodeTens - integer :: BitCodeOnes - real(8) :: BitNozzleSize - real(8) :: BitLength - real(8) :: BitWeightPerLength - integer :: BitNozzleNo - logical :: FloatValve \ No newline at end of file + integer :: DriveType + real(8) :: TravelingBlockWeight + real(8) :: TopDriveWeight + real(8) :: KellyWeight + integer :: NumberOfLine + real(8) :: DrillingLineBreakingLoad \ No newline at end of file diff --git a/cbopcontrolpanelvariables.mod b/cbopcontrolpanelvariables.mod new file mode 100644 index 0000000..fb0946f Binary files /dev/null and b/cbopcontrolpanelvariables.mod differ diff --git a/cstringconfigurationvariables.mod b/cstringconfigurationvariables.mod new file mode 100644 index 0000000..6eb286d Binary files /dev/null and b/cstringconfigurationvariables.mod differ diff --git a/helper.ipynb b/helper.ipynb index 204f6c1..0779bcf 100644 --- a/helper.ipynb +++ b/helper.ipynb @@ -913,39 +913,41 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\t\tcall json%get(pbit,'BitType',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitType)\n", - "\t\tcall json%get(pbit,'BitSize',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitSize)\n", - "\t\tcall json%get(pbit,'BitCodeHundreds',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitCodeHundreds)\n", - "\t\tcall json%get(pbit,'BitCodeTens',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitCodeTens)\n", - "\t\tcall json%get(pbit,'BitCodeOnes',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitCodeOnes)\n", - "\t\tcall json%get(pbit,'BitNozzleSize',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitNozzleSize)\n", - "\t\tcall json%get(pbit,'BitLength',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitLength)\n", - "\t\tcall json%get(pbit,'BitWeightPerLength',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitWeightPerLength)\n", - "\t\tcall json%get(pbit,'BitNozzleNo',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitNozzleNo)\n", - "\t\tcall json%get(pbit,'FloatValve',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%FloatValve)\n" + "\t\tcall json%get(p,'NumberOfBottels',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%NumberOfBottels)\n", + "\t\tcall json%get(p,'AccumulatorSystemSize',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%AccumulatorSystemSize)\n", + "\t\tcall json%get(p,'OilTankVolume',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%OilTankVolume)\n", + "\t\tcall json%get(p,'PrechargePressure',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%PrechargePressure)\n", + "\t\tcall json%get(p,'AccumulatorMinimumOperatingPressure',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%AccumulatorMinimumOperatingPressure)\n", + "\t\tcall json%get(p,'ElectricPumpOutput',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%ElectricPumpOutput)\n", + "\t\tcall json%get(p,'StartPressure',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%StartPressure)\n", + "\t\tcall json%get(p,'StopPressure',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%StopPressure)\n", + "\t\tcall json%get(p,'AirPlungerPumpOutput',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%AirPlungerPumpOutput)\n", + "\t\tcall json%get(p,'StartPressure2',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%StartPressure2)\n", + "\t\tcall json%get(p,'StopPressure2',pval)\n", + "\t\tcall json%get(pval,data%Configuration%Accumulator%StopPressure2)\n" ] } ], "source": [ - "pattern=\"\"\"\t\tcall json%get(pbit,'@@@',pval)\n", - "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%@@@)\"\"\"\n", + "pattern=\"\"\"\t\tcall json%get(p,'@@@',pval)\n", + "\t\tcall json%get(pval,data%Configuration%BopStack%@@@)\"\"\"\n", "\n", "input = open(\"Text1.txt\")\n", "lines = input.readlines()\n", diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..fa4c688 --- /dev/null +++ b/test.sh @@ -0,0 +1 @@ +ifort -o SimulationCore2 -module ./mod -fpp ./obj/COperationScenariosVariables.o ./obj/TD_WellGeometry.o ./obj/TD_WellElements.o ./obj/TD_StringConnectionData.o ./obj/GeoElements_FluidModule.o ./obj/sROP_Variables.o ./obj/sROP_Other_Variables.o ./obj/Flow_Startup_VARIABLES.o ./obj/CDownHoleTypes.o ./obj/Drawworks_VARIABLES.o ./obj/CHOKE_VARIABLES.o ./obj/TopDrive_VARIABLES.o ./obj/RTable_VARIABLES.o ./obj/Pumps_VARIABLES.o ./obj/CWarningsVariables.o ./obj/CStudentStationVariables.o ./obj/SoftwareInputsVariables.o ./obj/UnitySignalsVariables.o ./obj/PermissionsVariables.o ./obj/NotificationVariables.o ./obj/CTanksVariables.o ./obj/CDrillWatchVariables.o ./obj/CTopDrivePanelVariables.o ./obj/CStandPipeManifoldVariables.o ./obj/CHookVariables.o ./obj/CDrillingConsoleVariables.o ./obj/CChokeManifoldVariables.o ./obj/CChokeControlPanelVariables.o ./obj/CBopControlPanelVariables.o ./obj/CWellSurveyDataVariables.o ./obj/CPathGenerationVariables.o ./obj/CCasingLinerChokeVariables.o ./obj/CRigSizeVariables.o ./obj/CIActionReference.o ./obj/CPowerVariables.o ./obj/CHoistingVariables.o ./obj/CBopStackVariables.o ./obj/CAccumulatorVariables.o ./obj/CShoeVariables.o ./obj/CReservoirVariables.o ./obj/CFormationVariables.o ./obj/CStringConfigurationVariables.o ./obj/Constants.o ./obj/CArrangement.o ./obj/CUnityInputs.o ./obj/CCommonVariables.o ./obj/DynamicIntegerArray.o ./obj/RopMain.o ./obj/CEquipmentsConstants.o ./obj/DynamicRealArray.o ./obj/DynamicDoubleArray.o ./obj/CPathChangeEvents.o ./obj/DynamicLogicalArray.o ./obj/CScaleRange.o ./obj/FluidFlowMain.o ./obj/TD_GeneralData.o ./obj/CWellSurveyData.o ./obj/CDataDisplayConsoleVariables.o ./obj/CLog4.o ./obj/CPumpsVariables.o ./obj/CLog1.o ./obj/CMudPropertiesVariables.o ./obj/CLog5.o ./obj/CError.o ./obj/CLog2.o ./obj/CLog3.o ./obj/CSounds.o ./obj/CCommon.o ./obj/Pressure_Display_VARIABLES.o ./obj/VARIABLES.o ./obj/Kick_VARIABLES.o ./obj/CUnityOutputs.o ./obj/CDownHoleVariables.o ./obj/GeoMain.o ./obj/CPath.o ./obj/CProblemDifinition.o ./obj/Pressure_Distribution_VARIABLES.o ./obj/MudSystem_Variables.o ./obj/TD_DrillStem.o ./obj/CStack.o ./obj/CDrillStemProblemsVariables.o ./obj/COtherProblemsVariables.o ./obj/CLostProblemsVariables.o ./obj/CGaugesProblemsVariables.o ./obj/CBitProblemsVariables.o ./obj/CKickProblemsVariables.o ./obj/CHoistingProblemsVariables.o ./obj/CChokeProblemsVariables.o ./obj/CPumpProblemsVariables.o ./obj/CRotaryProblemsVariables.o ./obj/CMudTreatmentProblemsVariables.o ./obj/CBopProblemsVariables.o ./obj/SimulationVariables.o ./obj/CChokeControlPanel.o ./obj/CDrillingConsole.o ./obj/CStandPipeManifold.o ./obj/CTopDrivePanel.o ./obj/DrillWatch.o ./obj/CMudTreatmentProblems.o ./obj/CChokeProblems.o ./obj/CHook.o ./obj/CRigSize.o ./obj/PipeRams1Main.o ./obj/COtherProblems.o ./obj/CAccumulator.o ./obj/CRotaryProblems.o ./obj/CDrillStemProblems.o ./obj/MudProperties.o ./obj/CPower.o ./obj/RotaryTableMain.o ./obj/CManifolds.o ./obj/CBopProblems.o ./obj/DownHole.o ./obj/CHoistingProblems.o ./obj/DrawworksMain.o ./obj/CLostProblems.o ./obj/CBitProblems.o ./obj/CBopStack.o ./obj/ChokeLineMain.o ./obj/PumpsMain.o ./obj/AnnularMain.o ./obj/CPathGeneration.o ./obj/CReservoir.o ./obj/CStringConfiguration.o ./obj/PipeRams2Main.o ./obj/BlindRamsMain.o ./obj/CKickProblems.o ./obj/Permissions.o ./obj/CFormation.o ./obj/KillLineMain.o ./obj/CGaugesProblems.o ./obj/CCasingLinerChoke.o ./obj/CShoe.o ./obj/CPumpProblems.o ./obj/CDataDisplayConsole.o ./obj/SoftwareInputs.o ./obj/TD_DrillStemReadData.o ./obj/Pump_OffMode_Solver.o ./obj/TD_ForceDownDRot.o ./obj/TD_ForceDownD.o ./obj/Formation_Information.o ./obj/TD_WellElementsConfiguration.o ./obj/Elements_Creation.o ./obj/Drawworks_StartUp.o ./obj/TD_PipePropertiesReadData.o ./obj/TD_CombinedMotionData.o ./obj/TVD_Calculator.o ./obj/TD_ForceUpSRot.o ./obj/Bit_Specification.o ./obj/Pump3_MainSolver.o ./obj/Kick_Expansion_and_Contraction.o ./obj/TD_ForceCalculation.o ./obj/TD_ForceDownB.o ./obj/Pumps_TotalSolver.o ./obj/TD_StrainCalculation.o ./obj/Flow_Startup.o ./obj/DrillingConsole_ScrLEDs.o ./obj/TD_ViscousDragForce.o ./obj/TD_ForceUpS.o ./obj/TD_ForceDownS.o ./obj/RTable_StartUp.o ./obj/Utube2_and_Trip_In.o ./obj/Kick_Migration.o ./obj/TD_ForceReadData.o ./obj/TD_StaticHookLoadCalculation.o ./obj/Pump_and_Trip_In.o ./obj/Deallocate_Normal_Circulation.o ./obj/RTable_OnModeSolver.o ./obj/Pump_OnMode_Solver.o ./obj/TD_WellElementsReadData.o ./obj/TD_MudPropertiesReadData.o ./obj/TD_ForceUpDRot.o ./obj/TopDrive_StartUp.o ./obj/FillingWell_By_BellNipple.o ./obj/TD_ForceUpBRot.o ./obj/TD_TorqueCalculation.o ./obj/TD_ForceDownBRot.o ./obj/Drawworks_MainSolver.o ./obj/TD_ForceUpD.o ./obj/TD_ForceUpB.o ./obj/RTable_OffModeSolver.o ./obj/TD_DrillStemStartUp.o ./obj/TD_ForceDownSRot.o ./obj/JetImpactForce.o ./obj/TD_WellReadData.o ./obj/TD_BouyancyFactor.o ./obj/Frictional_Press_Drop_Calc.o ./obj/TopDrive_Outputs.o ./obj/DWFixModeMotion.o ./obj/CBopControlPanel.o ./obj/UnitySignals.o ./obj/CPumps.o ./obj/CChokeManifold.o ./obj/CTanks.o ./obj/CWarnings.o ./obj/TD_BOPDiamCalculation.o ./obj/Drawworks_Direction.o ./obj/RTable_Outputs.o ./obj/DWMalfunction_MotorFailure.o ./obj/TD_WeightOnBitCalculation.o ./obj/String_Property_Calculator.o ./obj/Annulus_Property_Calculator.o ./obj/Trip_Out_andPump.o ./obj/Utube1_and_Trip_In.o ./obj/Pump2_MainSolver.o ./obj/Pump1_MainSolver.o ./obj/Utube.o ./obj/BOP.o ./obj/SHEAR_RAM.o ./obj/PIPE_RAM2.o ./obj/LOSS_INPUTS.o ./obj/ANNULAR.o ./obj/CHOKE_LINE.o ./obj/KILL_LINE.o ./obj/PIPE_RAM1.o ./obj/BOPstartup.o ./obj/TD_StartUp.o ./obj/TD_HookLoadCalculation.o ./obj/TopDrive_Inputs.o ./obj/TopDrive_Solver.o ./obj/Notifications.o ./obj/TorqueDragMain.o ./obj/MeshGeneration_FluidModule.o ./obj/Pumps_StartUp.o ./obj/CHOKE.o ./obj/AirPump_Choke_Subs.o ./obj/MudSystemStartup.o ./obj/TopDriveMain.o ./obj/MudSystem.o ./obj/ROP_MainCalculation.o ./obj/Drawworks_Outputs.o ./obj/RTable_Inputs.o ./obj/TopDrive_OffMode.o ./obj/TopDrive_MainSolver.o ./obj/OperationScenarios.o ./obj/ChokeControlMain.o ./obj/ChokeStartup.o ./obj/MudSystemMain.o ./obj/Pumps_Inputs.o ./obj/Pumps_Outputs.o ./obj/Annulus_and_Openhole_Pressure_Distribution.o ./obj/TD_WellGeoConfiguration.o ./obj/RTable_MainSolver.o ./obj/CSlipsEnum.o ./obj/CUnlatchLedNotification.o ./obj/CTdsTorqueWrenchLedNotification.o ./obj/CInstallMudBucketPermission.o ./obj/CFillupHeadPermission.o ./obj/COpenKellyCockLedNotification.o ./obj/CTdsPowerLedNotification.o ./obj/CSwingLedNotification.o ./obj/CTdsElevatorModesEnum.o ./obj/CTdsSpineEnum.o ./obj/CSwingTiltPermission.o ./obj/CIrSafetyValvePermission.o ./obj/CSwingOffPermission.o ./obj/CCloseSafetyValveLedNotification.o ./obj/CMouseHoleEnum.o ./obj/CFlowPipeDisconnectEnum.o ./obj/CCloseKellyCockLedNotification.o ./obj/CElevatorConnectionEnum.o ./obj/CIrSafetyValveLedNotification.o ./obj/CFlowKellyDisconnectEnum.o ./obj/COpenSafetyValveLedNotification.o ./obj/CTdsBackupClamp.o ./obj/CTdsTongEnum.o ./obj/CElevatorEnum.o ./obj/CTongNotification.o ./obj/CSafetyValveEnum.o ./obj/CRemoveMudBucketPermission.o ./obj/CInstallFillupHeadPermission.o ./obj/CSwingEnum.o ./obj/CKellyEnum.o ./obj/CSwingDrillPermission.o ./obj/CIrIbopPermission.o ./obj/CRemoveFillupHeadPermission.o ./obj/COperationScenariosSettings.o ./obj/CTdsSwingEnum.o ./obj/CIbopEnum.o ./obj/CFillMouseHoleLedNotification.o ./obj/CTongEnum.o ./obj/CIrIBopLedNotification.o ./obj/CTdsIbopLedNotification.o ./obj/CLatchLedNotification.o ./obj/CSlipsNotification.o ./obj/TD_DrillStemConfiguration.o ./obj/Kick_Influx.o ./obj/Disconnecting_Pipe.o ./obj/Drawworks_Solver_OffMode.o ./obj/TD_RemoveComponents.o ./obj/Horizontal_and_String_Pressure_Distribution.o ./obj/Drawworks_INPUTS.o ./obj/TD_AddComponents.o ./obj/Drawworks_Solver.o ./obj/Pumps_MainSolver.o ./obj/COperationScenariosMain.o ./obj/Circulation_Code_Select.o ./obj/TD_StringConnectionModes.o ./obj/Gas_Kick_Calculator.o ./obj/Simulator.o ./obj/TD_MainCalculations.o ./obj/Well_Pressure_Data_Transfer.o ./obj/Plot_Final_Mud_Elements.o ./obj/Fluid_Flow_Solver.o ./obj/Redis_Interface.o obj/redis_io.o lib/libjsonfortran.a lib/libhiredis.a SimulationCore2.f90 ./obj/CHoisting.o \ No newline at end of file