diff --git a/Simulator.f90 b/Simulator.f90 index 82b94f8..1a81976 100644 --- a/Simulator.f90 +++ b/Simulator.f90 @@ -33,7 +33,7 @@ module Simulator use CCasingLinerChoke use CPathGeneration use CWellSurveyData - ! use CMudProperties + use MudPropertiesModule use :: json_module, rk => json_rk @@ -217,8 +217,6 @@ contains ! 1. create new node call json%create_object(p,'Configuration') - ! call AccumulatorToJsonToJson(p) - ! 2. add member of data type to new node call StringConfigurationToJson(p) call FormationToJson(p) @@ -233,7 +231,7 @@ contains call CasingLinerChokeToJson(p) call PathGenerationToJson(p) ! call WellSurveyDataToJson(p) - ! call MudPropertiesToJson(p) + call MudPropertiesToJson(p) ! 3. add new node to parent call json%add(parent,p) @@ -250,7 +248,6 @@ contains call json%create_object(p,'Configuration') ! 2. add member of data type to new node - ! call StringConfigurationToJson(p) ! call FormationToJson(p) ! call json%add(p,"",data%Configuration%Formation%Formations(i)%Abrasiveness) diff --git a/data.json b/data.json new file mode 100644 index 0000000..fb551a6 --- /dev/null +++ b/data.json @@ -0,0 +1,252 @@ +{ + "Configuration": { + "StringConfiguration": { + "StringConfigurationItems": [ + {"BitType":0, + "BitSize":0, + "BitCodeHundreds":0, + "BitCodeTens":0, + "BitCodeOnes":0, + "BitNozzleSize":0, + "BitLength":0, + "BitWeightPerLength":0, + "BitNozzleNo":0, + "FloatValve":0 + } + , + {"BitType":0, + "BitSize":0, + "BitCodeHundreds":0, + "BitCodeTens":0, + "BitCodeOnes":0, + "BitNozzleSize":0, + "BitLength":0, + "BitWeightPerLength":0, + "BitNozzleNo":0, + "FloatValve":0 + } + ], + "BitDefenition": { + "BitCodeHundreds": 0, + "BitCodeOnes": 0, + "BitCodeTens": 0, + "BitLength": 0.0E+0, + "BitNozzleNo": 0, + "BitNozzleSize": 0.0E+0, + "BitSize": 0.0E+0, + "BitType": 0, + "BitWeightPerLength": 0.0E+0, + "FloatValve": false + } + }, + "Fromations": [ + {"Top":0, + "Thickness":0, + "Drillablity":0, + "Abrasiveness":0, + "ThresholdWeight":0, + "PorePressureGradient":0 + }, + {"Top":0, + "Thickness":0, + "Drillablity":0, + "Abrasiveness":0, + "ThresholdWeight":0, + "PorePressureGradient":0 + } + ], + "Reservoir": { + "AutoMigrationRate": 0.0E+0, + "FluidGradient": 0.0E+0, + "FluidType": 0, + "FluidViscosity": 0.0E+0, + "FormationNo": 0, + "FormationPermeability": 0.0E+0, + "FormationTop": 0.0E+0, + "GeothermalGradient": 0.0E+0, + "InactiveInflux": false, + "IsAutoMigrationRateSelected": false, + "MakeKickSinglePacket": false, + "PressureGradient": 0.0E+0 + }, + "Shoe": { + "Breakdown": 0.0E+0, + "FormationNo": 0, + "FracturePropagation": 0.0E+0, + "InactiveFracture": false, + "LeakOff": 0.0E+0, + "ShoeDepth": 0.0E+0 + }, + "Accumulator": { + "AccumulatorMinimumOperatingPressure": 0.0E+0, + "AccumulatorSystemSize": 0.0E+0, + "AirPlungerPumpOutput": 0.0E+0, + "ElectricPumpOutput": 0.0E+0, + "NumberOfBottels": 0, + "OilTankVolume": 0.0E+0, + "PrechargePressure": 0.0E+0, + "StartPressure": 0.0E+0, + "StartPressure2": 0.0E+0, + "StopPressure": 0.0E+0, + "StopPressure2": 0.0E+0 + }, + "BopStack": { + "AboveAnnularHeight": 0.1E+2, + "AnnularPreventerClose": 0.0E+0, + "AnnularPreventerHeight": 0.10199999999999999E+2, + "AnnularPreventerOpen": 0.0E+0, + "AnnularStringDrag": 0.0E+0, + "BlindRamClose": 0.0E+0, + "BlindRamHeight": 0.16239999999999998E+2, + "BlindRamOpen": 0.0E+0, + "ChokeClose": 0.0E+0, + "ChokeLineId": 0.0E+0, + "ChokeLineLength": 0.0E+0, + "ChokeOpen": 0.0E+0, + "GroundLevel": 0.3E+2, + "KillClose": 0.15E+1, + "KillHeight": 0.18800000000000001E+2, + "KillOpen": 0.15E+1, + "LowerRamClose": 0.0E+0, + "LowerRamHeight": 0.21350000000000001E+2, + "LowerRamOpen": 0.0E+0, + "RamStringDrag": 0.0E+0, + "UpperRamClose": 0.0E+0, + "UpperRamHeight": 0.14632E+2, + "UpperRamOpen": 0.0E+0 + }, + "Hoisting": { + "DrillingLineBreakingLoadAbrasiveness": 0.0E+0, + "DriveTypeAbrasiveness": 0, + "KellyWeightAbrasiveness": 0.0E+0, + "NumberOfLineAbrasiveness": 0, + "TopDriveWeightAbrasiveness": 0.0E+0, + "TravelingBlockWeightAbrasiveness": 0.0E+0 + }, + "Power": { + "CementPump": 0.0E+0, + "Drawworks": 0.0E+0, + "GeneratorPowerRating": 0.0E+0, + "MudPump1": 0.0E+0, + "MudPump2": 0.0E+0, + "NumberOfgenerators": 0, + "RotaryTable": 0.0E+0, + "TopDrive": 0.0E+0 + }, + "Pumps": { + "MudPump1LinerDiameter": 0.0E+0, + "MudPump1Stroke": 0.0E+0, + "MudPump1MechanicalEfficiency": 0.0E+0, + "MudPump1VolumetricEfficiency": 0.0E+0, + "MudPump1Output": 0.0E+0, + "MudPump1OutputBblStroke": 0.0E+0, + "MudPump1Maximum": 0.0E+0, + "MudPump1ReliefValvePressure": 0.0E+0, + "MudPump2LinerDiameter": 0.0E+0, + "MudPump2Stroke": 0.0E+0, + "MudPump2MechanicalEfficiency": 0.0E+0, + "MudPump2VolumetricEfficiency": 0.0E+0, + "MudPump2Output": 0.0E+0, + "MudPump2OutputBblStroke": 0.0E+0, + "MudPump2Maximum": 0.0E+0, + "MudPump2ReliefValvePressure": 0.0E+0, + "CementPumpLinerDiameter": 0.0E+0, + "CementPumpStroke": 0.0E+0, + "CementPumpMechanicalEfficiency": 0.0E+0, + "CementPumpVolumetricEfficiency": 0.0E+0, + "CementPumpOutput": 0.0E+0, + "CementPumpOutputBblStroke": 0.0E+0, + "CementPumpMaximum": 0.0E+0, + "CementPumpReliefValvePressure": 0.0E+0, + "MudPump1ReliefValveIsSet": false, + "MudPump2ReliefValveIsSet": false, + "CementPumpReliefValveIsSet": false, + "ManualPumpPower": false, + "Valve1": false, + "Valve2": false, + "Valve3": false, + "Valve4": false, + "Valve5": false + }, + "RigSize": { + "RigType": 0, + "CrownHeight": 0.0E+0, + "MonkeyBoandHeight": 0.0E+0, + "RigFloorHeight": 0.0E+0 + }, + "CasingLinerChoke": { + "CasingDepth": 0.0E+0, + "CasingId": 0.0E+0, + "CasingOd": 0.0E+0, + "CasingWeight": 0.0E+0, + "CasingCollapsePressure": 0.0E+0, + "CasingTensileStrength": 0.0E+0, + "LinerTopDepth": 0.0E+0, + "LinerLength": 0.0E+0, + "LinerId": 0.0E+0, + "LinerOd": 0.0E+0, + "LinerWeight": 0.0E+0, + "LinerCollapsePressure": 0.0E+0, + "LinerTensileStrength": 0.0E+0, + "OpenHoleId": 0.0E+0, + "OpenHoleLength": 0.0E+0 + }, + "Path": { + "Items": [ + {"HoleType":0, + "Angle":0, + "Length":0, + "FinalAngle":0, + "TotalLength":0, + "MeasuredDepth":0, + "TotalVerticalDepth":0 + }, + {"HoleType":0, + "Angle":0, + "Length":0, + "FinalAngle":0, + "TotalLength":0, + "MeasuredDepth":0, + "TotalVerticalDepth":0 + } + ], + "DataPoints": [ + {"X":0, + "Y":0 + }, + {"X":0, + "Y":0 + } + ] + }, + "Mud": { + "ActiveMudType": 0, + "ActiveRheologyModel": 0, + "ActiveMudVolume": 0.0E+0, + "ActiveMudVolumeGal": 0.0E+0, + "ActiveDensity": 0.0E+0, + "ActivePlasticViscosity": 0.0E+0, + "ActiveYieldPoint": 0.0E+0, + "ActiveThetaThreeHundred": 0.0E+0, + "ActiveThetaSixHundred": 0.0E+0, + "ReserveMudType": 0, + "ReserveMudVolume": 0.0E+0, + "ReserveMudVolumeGal": 0.0E+0, + "ReserveDensity": 0.0E+0, + "ReservePlasticViscosity": 0.0E+0, + "ReserveYieldPoint": 0.0E+0, + "ReserveThetaThreeHundred": 0.0E+0, + "ReserveThetaSixHundred": 0.0E+0, + "ActiveTotalTankCapacity": 0.0E+0, + "ActiveTotalTankCapacityGal": 0.0E+0, + "ActiveSettledContents": 0.0E+0, + "ActiveSettledContentsGal": 0.0E+0, + "ActiveTotalContents": 0.0E+0, + "ActiveTotalContentsGal": 0.0E+0, + "ActiveAutoDensity": false, + "InitialTripTankMudVolume": 0.0E+0, + "InitialTripTankMudVolumeGal": 0.0E+0, + "PedalFlowMeter": 0.0E+0 + } + } +} diff --git a/test.json b/test.json index b76e4f4..fb551a6 100644 --- a/test.json +++ b/test.json @@ -218,6 +218,35 @@ "Y":0 } ] + }, + "Mud": { + "ActiveMudType": 0, + "ActiveRheologyModel": 0, + "ActiveMudVolume": 0.0E+0, + "ActiveMudVolumeGal": 0.0E+0, + "ActiveDensity": 0.0E+0, + "ActivePlasticViscosity": 0.0E+0, + "ActiveYieldPoint": 0.0E+0, + "ActiveThetaThreeHundred": 0.0E+0, + "ActiveThetaSixHundred": 0.0E+0, + "ReserveMudType": 0, + "ReserveMudVolume": 0.0E+0, + "ReserveMudVolumeGal": 0.0E+0, + "ReserveDensity": 0.0E+0, + "ReservePlasticViscosity": 0.0E+0, + "ReserveYieldPoint": 0.0E+0, + "ReserveThetaThreeHundred": 0.0E+0, + "ReserveThetaSixHundred": 0.0E+0, + "ActiveTotalTankCapacity": 0.0E+0, + "ActiveTotalTankCapacityGal": 0.0E+0, + "ActiveSettledContents": 0.0E+0, + "ActiveSettledContentsGal": 0.0E+0, + "ActiveTotalContents": 0.0E+0, + "ActiveTotalContentsGal": 0.0E+0, + "ActiveAutoDensity": false, + "InitialTripTankMudVolume": 0.0E+0, + "InitialTripTankMudVolumeGal": 0.0E+0, + "PedalFlowMeter": 0.0E+0 } } }