Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

54 lines
1.4 KiB

  1. module CStringConfigurationVariables
  2. implicit none
  3. public
  4. !constants
  5. integer :: Bit_ComponentType = 0
  6. integer :: Stabilizer_ComponentType = 1
  7. integer :: Collar_ComponentType = 2
  8. integer :: DrillPipe_ComponentType = 3
  9. integer :: Heavyweight_ComponentType = 4
  10. integer :: Cone_BitType = 0
  11. integer :: PDC_BitType = 1
  12. integer :: Rock_BitType = 2
  13. ! types
  14. ! Pipe Items in String Array
  15. type, bind(c), public :: CStringItem
  16. integer :: ComponentType
  17. real(8) :: NumberOfJoint
  18. real(8) :: LengthPerJoint
  19. real(8) :: NominalOd
  20. real(8) :: NominalId
  21. real(8) :: WeightPerLength
  22. real(8) :: ComponentLength
  23. real(8) :: NominalToolJointOd
  24. character(1) :: Grade
  25. end type CStringItem
  26. ! types
  27. ! Pipe Items in String Array
  28. type, bind(c), public :: CBitInfo
  29. integer :: BitType
  30. real(8) :: BitSize
  31. integer :: BitCodeHundreds
  32. integer :: BitCodeTens
  33. integer :: BitCodeOnes
  34. real(8) :: BitNozzleSize
  35. real(8) :: BitLength
  36. real(8) :: BitWeightPerLength
  37. integer :: BitNozzleNo
  38. logical :: FloatValve
  39. end type CBitInfo
  40. integer :: StringConfigurationCount = 0
  41. type(CStringItem), allocatable :: StringConfigurations(:)
  42. type(CBitInfo) :: BitDefinition
  43. contains
  44. end module CStringConfigurationVariables