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.
 
 
 
 
 
 

53 lines
1.6 KiB

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