|
- module MudPropertiesModule
- use SimulationVariables
- use json_module
- implicit none
-
- contains
-
- subroutine MudPropertiesToJson(parent)
-
- type(json_value),pointer :: parent
- type(json_core) :: json
- type(json_value),pointer :: p
-
- ! 1. create new node
- call json%create_object(p,'Mud')
-
- ! 2. add member of data type to new node
- call json%add(p,"ActiveMudType",data%Configuration%Mud%ActiveMudType)
- call json%add(p,"ActiveRheologyModel",data%Configuration%Mud%ActiveRheologyModel)
- call json%add(p,"ActiveMudVolume",data%Configuration%Mud%ActiveMudVolume)
- call json%add(p,"ActiveMudVolumeGal",data%Configuration%Mud%ActiveMudVolumeGal)
- call json%add(p,"ActiveDensity",data%Configuration%Mud%ActiveDensity)
- call json%add(p,"ActivePlasticViscosity",data%Configuration%Mud%ActivePlasticViscosity)
- call json%add(p,"ActiveYieldPoint",data%Configuration%Mud%ActiveYieldPoint)
- call json%add(p,"ActiveThetaThreeHundred",data%Configuration%Mud%ActiveThetaThreeHundred)
- call json%add(p,"ActiveThetaSixHundred",data%Configuration%Mud%ActiveThetaSixHundred)
- call json%add(p,"ReserveMudType",data%Configuration%Mud%ReserveMudType)
- call json%add(p,"ReserveMudVolume",data%Configuration%Mud%ReserveMudVolume)
- call json%add(p,"ReserveMudVolumeGal",data%Configuration%Mud%ReserveMudVolumeGal)
- call json%add(p,"ReserveDensity",data%Configuration%Mud%ReserveDensity)
- call json%add(p,"ReservePlasticViscosity",data%Configuration%Mud%ReservePlasticViscosity)
- call json%add(p,"ReserveYieldPoint",data%Configuration%Mud%ReserveYieldPoint)
- call json%add(p,"ReserveThetaThreeHundred",data%Configuration%Mud%ReserveThetaThreeHundred)
- call json%add(p,"ReserveThetaSixHundred",data%Configuration%Mud%ReserveThetaSixHundred)
- call json%add(p,"ActiveTotalTankCapacity",data%Configuration%Mud%ActiveTotalTankCapacity)
- call json%add(p,"ActiveTotalTankCapacityGal",data%Configuration%Mud%ActiveTotalTankCapacityGal)
- call json%add(p,"ActiveSettledContents",data%Configuration%Mud%ActiveSettledContents)
- call json%add(p,"ActiveSettledContentsGal",data%Configuration%Mud%ActiveSettledContentsGal)
- call json%add(p,"ActiveTotalContents",data%Configuration%Mud%ActiveTotalContents)
- call json%add(p,"ActiveTotalContentsGal",data%Configuration%Mud%ActiveTotalContentsGal)
- call json%add(p,"ActiveAutoDensity",data%Configuration%Mud%ActiveAutoDensity)
- call json%add(p,"InitialTripTankMudVolume",data%Configuration%Mud%InitialTripTankMudVolume)
- call json%add(p,"InitialTripTankMudVolumeGal",data%Configuration%Mud%InitialTripTankMudVolumeGal)
- call json%add(p,"PedalFlowMeter",data%Configuration%Mud%PedalFlowMeter)
-
- ! 3. add new node to parent
- call json%add(parent,p)
- end subroutine
-
- subroutine MudPropertiesFromJson(parent)
- use json_module,IK =>json_ik
- type(json_value),pointer :: parent
- type(json_core) :: json
- type(json_value),pointer :: p,pitems,pitem,pval,pbit
-
- call json%get(parent,'Mud',p)
-
- call json%get(p,"ActiveMudType",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveMudType)
- call json%get(p,"ActiveRheologyModel",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveRheologyModel)
- call json%get(p,"ActiveMudVolume",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveMudVolume)
- call json%get(p,"ActiveMudVolumeGal",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveMudVolumeGal)
- call json%get(p,"ActiveDensity",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveDensity)
- call json%get(p,"ActivePlasticViscosity",pitem)
- call json%get(pitem,data%Configuration%Mud%ActivePlasticViscosity)
- call json%get(p,"ActiveYieldPoint",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveYieldPoint)
- call json%get(p,"ActiveThetaThreeHundred",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveThetaThreeHundred)
- call json%get(p,"ActiveThetaSixHundred",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveThetaSixHundred)
- call json%get(p,"ReserveMudType",pitem)
- call json%get(pitem,data%Configuration%Mud%ReserveMudType)
- call json%get(p,"ReserveMudVolume",pitem)
- call json%get(pitem,data%Configuration%Mud%ReserveMudVolume)
- call json%get(p,"ReserveMudVolumeGal",pitem)
- call json%get(pitem,data%Configuration%Mud%ReserveMudVolumeGal)
- call json%get(p,"ReserveDensity",pitem)
- call json%get(pitem,data%Configuration%Mud%ReserveDensity)
- call json%get(p,"ReservePlasticViscosity",pitem)
- call json%get(pitem,data%Configuration%Mud%ReservePlasticViscosity)
- call json%get(p,"ReserveYieldPoint",pitem)
- call json%get(pitem,data%Configuration%Mud%ReserveYieldPoint)
- call json%get(p,"ReserveThetaThreeHundred",pitem)
- call json%get(pitem,data%Configuration%Mud%ReserveThetaThreeHundred)
- call json%get(p,"ReserveThetaSixHundred",pitem)
- call json%get(pitem,data%Configuration%Mud%ReserveThetaSixHundred)
- call json%get(p,"ActiveTotalTankCapacity",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveTotalTankCapacity)
- call json%get(p,"ActiveTotalTankCapacityGal",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveTotalTankCapacityGal)
- call json%get(p,"ActiveSettledContents",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveSettledContents)
- call json%get(p,"ActiveSettledContentsGal",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveSettledContentsGal)
- call json%get(p,"ActiveTotalContents",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveTotalContents)
- call json%get(p,"ActiveTotalContentsGal",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveTotalContentsGal)
- call json%get(p,"ActiveAutoDensity",pitem)
- call json%get(pitem,data%Configuration%Mud%ActiveAutoDensity)
- call json%get(p,"InitialTripTankMudVolume",pitem)
- call json%get(pitem,data%Configuration%Mud%InitialTripTankMudVolume)
- call json%get(p,"InitialTripTankMudVolumeGal",pitem)
- call json%get(pitem,data%Configuration%Mud%InitialTripTankMudVolumeGal)
- call json%get(p,"PedalFlowMeter",pitem)
- call json%get(pitem,data%Configuration%Mud%PedalFlowMeter)
-
- end subroutine
-
- subroutine Set_ActiveMudVolume_StudentStation(v)
- implicit none
- real*8, intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(data%Configuration%Mud%ActiveMudVolume == v) return
- #endif
- data%Configuration%Mud%ActiveMudVolume = v
- ! if(associated(ActiveMudVolumePtr)) call ActiveMudVolumePtr(data%Configuration%Mud%ActiveMudVolume)
- end subroutine
-
- subroutine Set_ActiveDensity_StudentStation(v)
- implicit none
- real*8, intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(data%Configuration%Mud%ActiveDensity == v) return
- #endif
- data%Configuration%Mud%ActiveDensity = v
- ! if(associated(ActiveDensityPtr)) call ActiveDensityPtr(data%Configuration%Mud%ActiveDensity)
- end subroutine
-
- subroutine Set_ReserveMudVolume_StudentStation(v)
- implicit none
- real*8, intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(data%Configuration%Mud%ReserveMudVolume == v) return
- #endif
- data%Configuration%Mud%ReserveMudVolume = v
- ! if(associated(ReserveMudVolumePtr)) call ReserveMudVolumePtr(data%Configuration%Mud%ReserveMudVolume)
- end subroutine
-
- subroutine Set_ReserveDensity_StudentStation(v)
- implicit none
- real*8, intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(data%Configuration%Mud%ReserveDensity == v) return
- #endif
- data%Configuration%Mud%ReserveDensity = v
- ! if(associated(ReserveDensityPtr)) call ReserveDensityPtr(data%Configuration%Mud%ReserveDensity)
- end subroutine
-
- end module MudPropertiesModule
|