RS3Scripting 4.42.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. rs3/ApplicationManager.py +77 -0
  2. rs3/ColorPicker.py +123 -0
  3. rs3/CommonEnums.py +16 -0
  4. rs3/Compute.py +105 -0
  5. rs3/ExternalVolume.py +48 -0
  6. rs3/Geometry.py +74 -0
  7. rs3/Model.py +795 -0
  8. rs3/ModelEnums.py +9 -0
  9. rs3/RS3Modeler.py +109 -0
  10. rs3/Restraints.py +91 -0
  11. rs3/Selection.py +123 -0
  12. rs3/__init__.py +18 -0
  13. rs3/_client.py +57 -0
  14. rs3/_proxyObject.py +5 -0
  15. rs3/generatedFiles/BFPCommonMessage_pb2.py +38 -0
  16. rs3/generatedFiles/BFPCommonMessage_pb2.pyi +47 -0
  17. rs3/generatedFiles/BFPCommonMessage_pb2_grpc.py +24 -0
  18. rs3/generatedFiles/BeamDataService_pb2.py +37 -0
  19. rs3/generatedFiles/BeamDataService_pb2.pyi +5 -0
  20. rs3/generatedFiles/BeamDataService_pb2_grpc.py +226 -0
  21. rs3/generatedFiles/BeamService_pb2.py +37 -0
  22. rs3/generatedFiles/BeamService_pb2.pyi +5 -0
  23. rs3/generatedFiles/BeamService_pb2_grpc.py +140 -0
  24. rs3/generatedFiles/BeamStageFactorService_pb2.py +37 -0
  25. rs3/generatedFiles/BeamStageFactorService_pb2.pyi +5 -0
  26. rs3/generatedFiles/BeamStageFactorService_pb2_grpc.py +140 -0
  27. rs3/generatedFiles/BeamsResultsQueryService_pb2.py +50 -0
  28. rs3/generatedFiles/BeamsResultsQueryService_pb2.pyi +48 -0
  29. rs3/generatedFiles/BeamsResultsQueryService_pb2_grpc.py +141 -0
  30. rs3/generatedFiles/BoltDataService_pb2.py +37 -0
  31. rs3/generatedFiles/BoltDataService_pb2.pyi +5 -0
  32. rs3/generatedFiles/BoltDataService_pb2_grpc.py +226 -0
  33. rs3/generatedFiles/BoltService_pb2.py +37 -0
  34. rs3/generatedFiles/BoltService_pb2.pyi +5 -0
  35. rs3/generatedFiles/BoltService_pb2_grpc.py +140 -0
  36. rs3/generatedFiles/BoltsResultsQueryService_pb2.py +51 -0
  37. rs3/generatedFiles/BoltsResultsQueryService_pb2.pyi +75 -0
  38. rs3/generatedFiles/BoltsResultsQueryService_pb2_grpc.py +141 -0
  39. rs3/generatedFiles/ClientService_pb2.py +40 -0
  40. rs3/generatedFiles/ClientService_pb2.pyi +15 -0
  41. rs3/generatedFiles/ClientService_pb2_grpc.py +97 -0
  42. rs3/generatedFiles/CommonGeometryMessages_pb2.py +52 -0
  43. rs3/generatedFiles/CommonGeometryMessages_pb2.pyi +92 -0
  44. rs3/generatedFiles/CommonGeometryMessages_pb2_grpc.py +24 -0
  45. rs3/generatedFiles/CommonMessages_pb2.py +66 -0
  46. rs3/generatedFiles/CommonMessages_pb2.pyi +145 -0
  47. rs3/generatedFiles/CommonMessages_pb2_grpc.py +24 -0
  48. rs3/generatedFiles/CompositeLinerDataService_pb2.py +47 -0
  49. rs3/generatedFiles/CompositeLinerDataService_pb2.pyi +51 -0
  50. rs3/generatedFiles/CompositeLinerDataService_pb2_grpc.py +227 -0
  51. rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.py +63 -0
  52. rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.pyi +139 -0
  53. rs3/generatedFiles/CompositeLinerResultsQueryService_pb2_grpc.py +314 -0
  54. rs3/generatedFiles/CompositeLinerService_pb2.py +37 -0
  55. rs3/generatedFiles/CompositeLinerService_pb2.pyi +5 -0
  56. rs3/generatedFiles/CompositeLinerService_pb2_grpc.py +140 -0
  57. rs3/generatedFiles/ComputeService_pb2.py +48 -0
  58. rs3/generatedFiles/ComputeService_pb2.pyi +56 -0
  59. rs3/generatedFiles/ComputeService_pb2_grpc.py +147 -0
  60. rs3/generatedFiles/ExternalVolumesService_pb2.py +45 -0
  61. rs3/generatedFiles/ExternalVolumesService_pb2.pyi +34 -0
  62. rs3/generatedFiles/ExternalVolumesService_pb2_grpc.py +270 -0
  63. rs3/generatedFiles/FieldStressService_pb2.py +37 -0
  64. rs3/generatedFiles/FieldStressService_pb2.pyi +5 -0
  65. rs3/generatedFiles/FieldStressService_pb2_grpc.py +140 -0
  66. rs3/generatedFiles/FieldStressSourceService_pb2.py +85 -0
  67. rs3/generatedFiles/FieldStressSourceService_pb2.pyi +182 -0
  68. rs3/generatedFiles/FieldStressSourceService_pb2_grpc.py +657 -0
  69. rs3/generatedFiles/GaussPointFailureMessage_pb2.py +37 -0
  70. rs3/generatedFiles/GaussPointFailureMessage_pb2.pyi +14 -0
  71. rs3/generatedFiles/GaussPointFailureMessage_pb2_grpc.py +24 -0
  72. rs3/generatedFiles/HydraulicStageFactorService_pb2.py +45 -0
  73. rs3/generatedFiles/HydraulicStageFactorService_pb2.pyi +36 -0
  74. rs3/generatedFiles/HydraulicStageFactorService_pb2_grpc.py +227 -0
  75. rs3/generatedFiles/JointDataService_pb2.py +45 -0
  76. rs3/generatedFiles/JointDataService_pb2.pyi +30 -0
  77. rs3/generatedFiles/JointDataService_pb2_grpc.py +313 -0
  78. rs3/generatedFiles/JointResultsQueryService_pb2.py +54 -0
  79. rs3/generatedFiles/JointResultsQueryService_pb2.pyi +92 -0
  80. rs3/generatedFiles/JointResultsQueryService_pb2_grpc.py +141 -0
  81. rs3/generatedFiles/JointService_pb2.py +45 -0
  82. rs3/generatedFiles/JointService_pb2.pyi +30 -0
  83. rs3/generatedFiles/JointService_pb2_grpc.py +227 -0
  84. rs3/generatedFiles/JointStageFactorService_pb2.py +37 -0
  85. rs3/generatedFiles/JointStageFactorService_pb2.pyi +5 -0
  86. rs3/generatedFiles/JointStageFactorService_pb2_grpc.py +140 -0
  87. rs3/generatedFiles/LinerDataService_pb2.py +37 -0
  88. rs3/generatedFiles/LinerDataService_pb2.pyi +5 -0
  89. rs3/generatedFiles/LinerDataService_pb2_grpc.py +226 -0
  90. rs3/generatedFiles/LinerService_pb2.py +37 -0
  91. rs3/generatedFiles/LinerService_pb2.pyi +5 -0
  92. rs3/generatedFiles/LinerService_pb2_grpc.py +140 -0
  93. rs3/generatedFiles/LinerStageFactorService_pb2.py +37 -0
  94. rs3/generatedFiles/LinerStageFactorService_pb2.pyi +5 -0
  95. rs3/generatedFiles/LinerStageFactorService_pb2_grpc.py +140 -0
  96. rs3/generatedFiles/MaterialDataService_pb2.py +37 -0
  97. rs3/generatedFiles/MaterialDataService_pb2.pyi +5 -0
  98. rs3/generatedFiles/MaterialDataService_pb2_grpc.py +226 -0
  99. rs3/generatedFiles/MaterialDatumService_pb2.py +45 -0
  100. rs3/generatedFiles/MaterialDatumService_pb2.pyi +38 -0
  101. rs3/generatedFiles/MaterialDatumService_pb2_grpc.py +140 -0
  102. rs3/generatedFiles/MaterialHydraulicDataService_pb2.py +93 -0
  103. rs3/generatedFiles/MaterialHydraulicDataService_pb2.pyi +193 -0
  104. rs3/generatedFiles/MaterialHydraulicDataService_pb2_grpc.py +829 -0
  105. rs3/generatedFiles/MaterialHydraulicModelService_pb2.py +55 -0
  106. rs3/generatedFiles/MaterialHydraulicModelService_pb2.pyi +79 -0
  107. rs3/generatedFiles/MaterialHydraulicModelService_pb2_grpc.py +313 -0
  108. rs3/generatedFiles/MaterialInitialConditionsService_pb2.py +37 -0
  109. rs3/generatedFiles/MaterialInitialConditionsService_pb2.pyi +5 -0
  110. rs3/generatedFiles/MaterialInitialConditionsService_pb2_grpc.py +140 -0
  111. rs3/generatedFiles/MaterialJointService_pb2.py +49 -0
  112. rs3/generatedFiles/MaterialJointService_pb2.pyi +52 -0
  113. rs3/generatedFiles/MaterialJointService_pb2_grpc.py +183 -0
  114. rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2.py +69 -0
  115. rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2.pyi +130 -0
  116. rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2_grpc.py +398 -0
  117. rs3/generatedFiles/MaterialJointStageFactorService_pb2.py +45 -0
  118. rs3/generatedFiles/MaterialJointStageFactorService_pb2.pyi +42 -0
  119. rs3/generatedFiles/MaterialJointStageFactorService_pb2_grpc.py +140 -0
  120. rs3/generatedFiles/MaterialStageFactorsService_pb2.py +37 -0
  121. rs3/generatedFiles/MaterialStageFactorsService_pb2.pyi +5 -0
  122. rs3/generatedFiles/MaterialStageFactorsService_pb2_grpc.py +140 -0
  123. rs3/generatedFiles/MaterialStiffnessFormulaService_pb2.py +47 -0
  124. rs3/generatedFiles/MaterialStiffnessFormulaService_pb2.pyi +54 -0
  125. rs3/generatedFiles/MaterialStiffnessFormulaService_pb2_grpc.py +140 -0
  126. rs3/generatedFiles/MaterialStiffnessService_pb2.py +53 -0
  127. rs3/generatedFiles/MaterialStiffnessService_pb2.pyi +66 -0
  128. rs3/generatedFiles/MaterialStiffnessService_pb2_grpc.py +313 -0
  129. rs3/generatedFiles/MaterialStrengthService_pb2.py +105 -0
  130. rs3/generatedFiles/MaterialStrengthService_pb2.pyi +243 -0
  131. rs3/generatedFiles/MaterialStrengthService_pb2_grpc.py +833 -0
  132. rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.py +47 -0
  133. rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.pyi +43 -0
  134. rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2_grpc.py +228 -0
  135. rs3/generatedFiles/MeshSettingsService_pb2.py +41 -0
  136. rs3/generatedFiles/MeshSettingsService_pb2.pyi +16 -0
  137. rs3/generatedFiles/MeshSettingsService_pb2_grpc.py +184 -0
  138. rs3/generatedFiles/ModelFunctionService_pb2.py +119 -0
  139. rs3/generatedFiles/ModelFunctionService_pb2.pyi +331 -0
  140. rs3/generatedFiles/ModelFunctionService_pb2_grpc.py +871 -0
  141. rs3/generatedFiles/ModelService_pb2.py +342 -0
  142. rs3/generatedFiles/ModelService_pb2.pyi +962 -0
  143. rs3/generatedFiles/ModelService_pb2_grpc.py +3322 -0
  144. rs3/generatedFiles/PileDataService_pb2.py +55 -0
  145. rs3/generatedFiles/PileDataService_pb2.pyi +63 -0
  146. rs3/generatedFiles/PileDataService_pb2_grpc.py +399 -0
  147. rs3/generatedFiles/PileForepoleResultsQueryService_pb2.py +51 -0
  148. rs3/generatedFiles/PileForepoleResultsQueryService_pb2.pyi +63 -0
  149. rs3/generatedFiles/PileForepoleResultsQueryService_pb2_grpc.py +141 -0
  150. rs3/generatedFiles/PileStageFactorService_pb2.py +37 -0
  151. rs3/generatedFiles/PileStageFactorService_pb2.pyi +5 -0
  152. rs3/generatedFiles/PileStageFactorService_pb2_grpc.py +140 -0
  153. rs3/generatedFiles/PlainStrandCableBoltService_pb2.py +44 -0
  154. rs3/generatedFiles/PlainStrandCableBoltService_pb2.pyi +30 -0
  155. rs3/generatedFiles/PlainStrandCableBoltService_pb2_grpc.py +140 -0
  156. rs3/generatedFiles/ProjectSettingsDataService_pb2.py +69 -0
  157. rs3/generatedFiles/ProjectSettingsDataService_pb2.pyi +119 -0
  158. rs3/generatedFiles/ProjectSettingsDataService_pb2_grpc.py +786 -0
  159. rs3/generatedFiles/RFCApplicationService_pb2.py +34 -0
  160. rs3/generatedFiles/RFCApplicationService_pb2.pyi +27 -0
  161. rs3/generatedFiles/RFCApplicationService_pb2_grpc.py +145 -0
  162. rs3/generatedFiles/RS3ModelerService_pb2.py +50 -0
  163. rs3/generatedFiles/RS3ModelerService_pb2.pyi +45 -0
  164. rs3/generatedFiles/RS3ModelerService_pb2_grpc.py +183 -0
  165. rs3/generatedFiles/RelativeStageFactorService_pb2.py +40 -0
  166. rs3/generatedFiles/RelativeStageFactorService_pb2.pyi +17 -0
  167. rs3/generatedFiles/RelativeStageFactorService_pb2_grpc.py +97 -0
  168. rs3/generatedFiles/RestraintsService_pb2.py +62 -0
  169. rs3/generatedFiles/RestraintsService_pb2.pyi +84 -0
  170. rs3/generatedFiles/RestraintsService_pb2_grpc.py +312 -0
  171. rs3/generatedFiles/ResultsQueryCommonMessage_pb2.py +56 -0
  172. rs3/generatedFiles/ResultsQueryCommonMessage_pb2.pyi +85 -0
  173. rs3/generatedFiles/ResultsQueryCommonMessage_pb2_grpc.py +24 -0
  174. rs3/generatedFiles/ResultsQueryService_pb2.py +87 -0
  175. rs3/generatedFiles/ResultsQueryService_pb2.pyi +185 -0
  176. rs3/generatedFiles/ResultsQueryService_pb2_grpc.py +745 -0
  177. rs3/generatedFiles/SelectionService_pb2.py +49 -0
  178. rs3/generatedFiles/SelectionService_pb2.pyi +51 -0
  179. rs3/generatedFiles/SelectionService_pb2_grpc.py +269 -0
  180. rs3/generatedFiles/SolidsResultsQueryService_pb2.py +93 -0
  181. rs3/generatedFiles/SolidsResultsQueryService_pb2.pyi +213 -0
  182. rs3/generatedFiles/SolidsResultsQueryService_pb2_grpc.py +195 -0
  183. rs3/generatedFiles/StageFactorService_pb2.py +58 -0
  184. rs3/generatedFiles/StageFactorService_pb2.pyi +79 -0
  185. rs3/generatedFiles/StageFactorService_pb2_grpc.py +226 -0
  186. rs3/generatedFiles/StiffnessStageFactorService_pb2.py +37 -0
  187. rs3/generatedFiles/StiffnessStageFactorService_pb2.pyi +5 -0
  188. rs3/generatedFiles/StiffnessStageFactorService_pb2_grpc.py +140 -0
  189. rs3/generatedFiles/StrengthStageFactorService_pb2.py +37 -0
  190. rs3/generatedFiles/StrengthStageFactorService_pb2.pyi +5 -0
  191. rs3/generatedFiles/StrengthStageFactorService_pb2_grpc.py +140 -0
  192. rs3/generatedFiles/WaterByLocationDataService_pb2.py +61 -0
  193. rs3/generatedFiles/WaterByLocationDataService_pb2.pyi +95 -0
  194. rs3/generatedFiles/WaterByLocationDataService_pb2_grpc.py +312 -0
  195. rs3/generatedFiles/WaterPressureGridDataService_pb2.py +63 -0
  196. rs3/generatedFiles/WaterPressureGridDataService_pb2.pyi +107 -0
  197. rs3/generatedFiles/WaterPressureGridDataService_pb2_grpc.py +312 -0
  198. rs3/generatedFiles/__init__.py +3 -0
  199. rs3/loadings/LoadingEnums.py +6 -0
  200. rs3/loadings/Loadings.py +15 -0
  201. rs3/loadings/__init__.py +0 -0
  202. rs3/loadings/fieldStress/AdvancedConstant.py +115 -0
  203. rs3/loadings/fieldStress/AdvancedGravity.py +176 -0
  204. rs3/loadings/fieldStress/Constant.py +119 -0
  205. rs3/loadings/fieldStress/FieldStress.py +38 -0
  206. rs3/loadings/fieldStress/Gravity.py +206 -0
  207. rs3/loadings/fieldStress/_PropertyAccessor.py +41 -0
  208. rs3/loadings/fieldStress/__init__.py +0 -0
  209. rs3/mesh/Graded.py +59 -0
  210. rs3/mesh/Mesh.py +50 -0
  211. rs3/mesh/MeshEnums.py +16 -0
  212. rs3/mesh/Uniform.py +35 -0
  213. rs3/mesh/_PropertyAccessor.py +10 -0
  214. rs3/mesh/__init__.py +0 -0
  215. rs3/projectSettings/Dynamic.py +110 -0
  216. rs3/projectSettings/Groundwater.py +118 -0
  217. rs3/projectSettings/ProjectSettingEnums.py +108 -0
  218. rs3/projectSettings/ProjectSettings.py +43 -0
  219. rs3/projectSettings/ShearStrengthReduction.py +130 -0
  220. rs3/projectSettings/SolverOptions.py +88 -0
  221. rs3/projectSettings/Stages.py +162 -0
  222. rs3/projectSettings/StressAnalysis.py +183 -0
  223. rs3/projectSettings/Units.py +82 -0
  224. rs3/projectSettings/_PropertyAccessor.py +133 -0
  225. rs3/projectSettings/__init__.py +0 -0
  226. rs3/properties/CustomHydraulicModel.py +129 -0
  227. rs3/properties/DiscreteFunction.py +147 -0
  228. rs3/properties/GeneralizedAnisotropicFunction.py +98 -0
  229. rs3/properties/IPropertyGroupAccessors.py +12 -0
  230. rs3/properties/PropertyEnums.py +387 -0
  231. rs3/properties/ShearNormalFunction.py +94 -0
  232. rs3/properties/SnowdenStrengthFunction.py +115 -0
  233. rs3/properties/_PropertyAccessor.py +111 -0
  234. rs3/properties/__init__.py +0 -0
  235. rs3/properties/beam/Beam.py +86 -0
  236. rs3/properties/beam/BeamCommon.py +175 -0
  237. rs3/properties/beam/Standard.py +97 -0
  238. rs3/properties/beam/Truss.py +23 -0
  239. rs3/properties/beam/_PropertyAccessor.py +9 -0
  240. rs3/properties/beam/__init__.py +0 -0
  241. rs3/properties/bolt/Bolt.py +81 -0
  242. rs3/properties/bolt/EndAnchored.py +77 -0
  243. rs3/properties/bolt/FullyBonded.py +78 -0
  244. rs3/properties/bolt/PlainStrandCable.py +151 -0
  245. rs3/properties/bolt/Swellex.py +106 -0
  246. rs3/properties/bolt/Tieback.py +176 -0
  247. rs3/properties/bolt/_PropertyAccessor.py +7 -0
  248. rs3/properties/bolt/__init__.py +0 -0
  249. rs3/properties/groundwater/WaterByLocation.py +83 -0
  250. rs3/properties/groundwater/WaterGrid.py +120 -0
  251. rs3/properties/groundwater/_PropertyAccessor.py +36 -0
  252. rs3/properties/groundwater/__init__.py +0 -0
  253. rs3/properties/joint/BartonBandis.py +118 -0
  254. rs3/properties/joint/GeosyntheticHyperbolic.py +158 -0
  255. rs3/properties/joint/Joint.py +176 -0
  256. rs3/properties/joint/MaterialDependent.py +107 -0
  257. rs3/properties/joint/MohrCoulomb.py +169 -0
  258. rs3/properties/joint/NoneSlip.py +68 -0
  259. rs3/properties/joint/_PropertyAccessor.py +9 -0
  260. rs3/properties/joint/__init__.py +0 -0
  261. rs3/properties/liner/Geosynthetic.py +85 -0
  262. rs3/properties/liner/Liner.py +83 -0
  263. rs3/properties/liner/ReinforcedConcrete.py +216 -0
  264. rs3/properties/liner/Standard.py +183 -0
  265. rs3/properties/liner/_PropertyAccessor.py +7 -0
  266. rs3/properties/liner/__init__.py +0 -0
  267. rs3/properties/liningComposition/LiningComposition.py +244 -0
  268. rs3/properties/liningComposition/_PropertyAccessor.py +7 -0
  269. rs3/properties/liningComposition/__init__.py +0 -0
  270. rs3/properties/material/Material.py +74 -0
  271. rs3/properties/material/__init__.py +0 -0
  272. rs3/properties/material/constitutiveModel/AnisotropicLinear.py +149 -0
  273. rs3/properties/material/constitutiveModel/AnisotropicLinearPlanarBase.py +72 -0
  274. rs3/properties/material/constitutiveModel/BarcelonaBasic.py +158 -0
  275. rs3/properties/material/constitutiveModel/BartonBandis.py +77 -0
  276. rs3/properties/material/constitutiveModel/BaseConstitutiveModel.py +11 -0
  277. rs3/properties/material/constitutiveModel/BoundingSurfacePlasticity.py +88 -0
  278. rs3/properties/material/constitutiveModel/CamClay.py +144 -0
  279. rs3/properties/material/constitutiveModel/ChSoil.py +111 -0
  280. rs3/properties/material/constitutiveModel/ConstitutiveModel.py +87 -0
  281. rs3/properties/material/constitutiveModel/CySoil.py +137 -0
  282. rs3/properties/material/constitutiveModel/DiscreteFunction.py +39 -0
  283. rs3/properties/material/constitutiveModel/DoubleYield.py +130 -0
  284. rs3/properties/material/constitutiveModel/DruckerPrager.py +136 -0
  285. rs3/properties/material/constitutiveModel/GeneralizedAnisotropic.py +39 -0
  286. rs3/properties/material/constitutiveModel/GeneralizedHoekBrown.py +226 -0
  287. rs3/properties/material/constitutiveModel/HardeningSoil.py +156 -0
  288. rs3/properties/material/constitutiveModel/HardeningSoilWithSmallStrain.py +170 -0
  289. rs3/properties/material/constitutiveModel/HoekBrown.py +125 -0
  290. rs3/properties/material/constitutiveModel/Hyperbolic.py +77 -0
  291. rs3/properties/material/constitutiveModel/JointedGeneralizedHoekBrown.py +184 -0
  292. rs3/properties/material/constitutiveModel/JointedMohrCoulomb.py +173 -0
  293. rs3/properties/material/constitutiveModel/ManzariAndDafalias.py +148 -0
  294. rs3/properties/material/constitutiveModel/ModifiedCamClay.py +11 -0
  295. rs3/properties/material/constitutiveModel/MohrCoulomb.py +147 -0
  296. rs3/properties/material/constitutiveModel/MohrCoulombUnsaturatedZoneCalculations.py +80 -0
  297. rs3/properties/material/constitutiveModel/MohrCoulombWithCap.py +154 -0
  298. rs3/properties/material/constitutiveModel/Norsand.py +146 -0
  299. rs3/properties/material/constitutiveModel/PowerCurve.py +119 -0
  300. rs3/properties/material/constitutiveModel/Shansep.py +214 -0
  301. rs3/properties/material/constitutiveModel/ShearNormalFunction.py +34 -0
  302. rs3/properties/material/constitutiveModel/SnowdenAnisotropicLinear.py +108 -0
  303. rs3/properties/material/constitutiveModel/SoftSoil.py +104 -0
  304. rs3/properties/material/constitutiveModel/SoftSoilCreep.py +111 -0
  305. rs3/properties/material/constitutiveModel/SofteningHardening.py +214 -0
  306. rs3/properties/material/constitutiveModel/SwellingRock.py +202 -0
  307. rs3/properties/material/constitutiveModel/UnsaturatedZoneCalculations.py +138 -0
  308. rs3/properties/material/constitutiveModel/VerticalStressRatio.py +113 -0
  309. rs3/properties/material/constitutiveModel/_PropertyAccessor.py +96 -0
  310. rs3/properties/material/constitutiveModel/__init__.py +0 -0
  311. rs3/properties/material/constitutiveModel/jointOption/BartonBandis.py +109 -0
  312. rs3/properties/material/constitutiveModel/jointOption/MaterialJoint.py +48 -0
  313. rs3/properties/material/constitutiveModel/jointOption/MaterialJointOptions.py +32 -0
  314. rs3/properties/material/constitutiveModel/jointOption/MohrCoulomb.py +142 -0
  315. rs3/properties/material/constitutiveModel/jointOption/PlaneOrientationBase.py +92 -0
  316. rs3/properties/material/constitutiveModel/jointOption/SimpleHyperbolic.py +112 -0
  317. rs3/properties/material/constitutiveModel/jointOption/_PropertyAccessor.py +61 -0
  318. rs3/properties/material/constitutiveModel/jointOption/__init__.py +0 -0
  319. rs3/properties/material/constitutiveModel/stiffness/BaseStiffness.py +11 -0
  320. rs3/properties/material/constitutiveModel/stiffness/DuncanChangHyperbolic.py +128 -0
  321. rs3/properties/material/constitutiveModel/stiffness/GeneralizedHoekBrownEstimation.py +50 -0
  322. rs3/properties/material/constitutiveModel/stiffness/LinearIsotropic.py +106 -0
  323. rs3/properties/material/constitutiveModel/stiffness/NonlinearIsotropic.py +104 -0
  324. rs3/properties/material/constitutiveModel/stiffness/Orthotropic.py +296 -0
  325. rs3/properties/material/constitutiveModel/stiffness/TransverselyIsotropic.py +186 -0
  326. rs3/properties/material/constitutiveModel/stiffness/_PropertyAccessor.py +33 -0
  327. rs3/properties/material/constitutiveModel/stiffness/__init__.py +0 -0
  328. rs3/properties/material/constitutiveModel/stiffness/formula/Formula1.py +96 -0
  329. rs3/properties/material/constitutiveModel/stiffness/formula/Formula2.py +136 -0
  330. rs3/properties/material/constitutiveModel/stiffness/formula/Formula3.py +113 -0
  331. rs3/properties/material/constitutiveModel/stiffness/formula/_PropertyAccessor.py +37 -0
  332. rs3/properties/material/constitutiveModel/stiffness/formula/__init__.py +0 -0
  333. rs3/properties/material/datum/CohesionDatumDependency.py +99 -0
  334. rs3/properties/material/datum/Datum.py +23 -0
  335. rs3/properties/material/datum/FrictionAngleDatumDependency.py +99 -0
  336. rs3/properties/material/datum/YoungsModulusDatumDependency.py +78 -0
  337. rs3/properties/material/datum/_PropertyAccessor.py +26 -0
  338. rs3/properties/material/datum/__init__.py +0 -0
  339. rs3/properties/material/hydraulic/FEAGroundwater/Brooks.py +71 -0
  340. rs3/properties/material/hydraulic/FEAGroundwater/Custom.py +79 -0
  341. rs3/properties/material/hydraulic/FEAGroundwater/FEAGroundwater.py +85 -0
  342. rs3/properties/material/hydraulic/FEAGroundwater/Fredlund.py +82 -0
  343. rs3/properties/material/hydraulic/FEAGroundwater/Gardner.py +72 -0
  344. rs3/properties/material/hydraulic/FEAGroundwater/HydraulicMethodVectors.py +97 -0
  345. rs3/properties/material/hydraulic/FEAGroundwater/HydraulicParametersCommon.py +157 -0
  346. rs3/properties/material/hydraulic/FEAGroundwater/Simple.py +37 -0
  347. rs3/properties/material/hydraulic/FEAGroundwater/VanGenuchten.py +94 -0
  348. rs3/properties/material/hydraulic/FEAGroundwater/_PropertyAccessor.py +16 -0
  349. rs3/properties/material/hydraulic/FEAGroundwater/__init__.py +0 -0
  350. rs3/properties/material/hydraulic/Hydraulic.py +111 -0
  351. rs3/properties/material/hydraulic/PhreaticConditions.py +37 -0
  352. rs3/properties/material/hydraulic/StaticGroundwater.py +100 -0
  353. rs3/properties/material/hydraulic/WaterConditions.py +110 -0
  354. rs3/properties/material/hydraulic/_PropertyAccessor.py +31 -0
  355. rs3/properties/material/hydraulic/__init__.py +0 -0
  356. rs3/properties/material/initialConditions/InitialConditions.py +108 -0
  357. rs3/properties/material/initialConditions/_PropertyAccessor.py +11 -0
  358. rs3/properties/material/initialConditions/__init__.py +0 -0
  359. rs3/properties/material/stageFactors/StageFactors.py +77 -0
  360. rs3/properties/material/stageFactors/_PropertyAccessor.py +7 -0
  361. rs3/properties/material/stageFactors/__init__.py +0 -0
  362. rs3/properties/pile/EndCondition.py +109 -0
  363. rs3/properties/pile/Linear.py +69 -0
  364. rs3/properties/pile/MohrCoulomb.py +123 -0
  365. rs3/properties/pile/MultiLinear.py +70 -0
  366. rs3/properties/pile/Pile.py +108 -0
  367. rs3/properties/pile/PileCommon.py +99 -0
  368. rs3/properties/pile/_PropertyAccessor.py +9 -0
  369. rs3/properties/pile/__init__.py +0 -0
  370. rs3/properties/stageFactors/IStageFactorBase.py +10 -0
  371. rs3/properties/stageFactors/StageFactorBaseInterfaces.py +24 -0
  372. rs3/properties/stageFactors/StageFactorInterfaces.py +70 -0
  373. rs3/properties/stageFactors/_StageFactorInterface.py +48 -0
  374. rs3/properties/stageFactors/_StageFactorPropertyAccessor.py +18 -0
  375. rs3/properties/stageFactors/__init__.py +0 -0
  376. rs3/results/BeamResults.py +181 -0
  377. rs3/results/BoltResults.py +214 -0
  378. rs3/results/CompositeLinerResults.py +374 -0
  379. rs3/results/JointResults.py +160 -0
  380. rs3/results/PileForepoleResults.py +219 -0
  381. rs3/results/ResultEnums.py +146 -0
  382. rs3/results/Results.py +661 -0
  383. rs3/results/ResultsCommon.py +66 -0
  384. rs3/results/SolidElementResults.py +175 -0
  385. rs3/results/SolidNodalResults.py +248 -0
  386. rs3/results/SolidResults.py +206 -0
  387. rs3/results/YieldedElement.py +33 -0
  388. rs3/results/__init__.py +0 -0
  389. rs3scripting-4.42.0.dist-info/METADATA +70 -0
  390. rs3scripting-4.42.0.dist-info/RECORD +393 -0
  391. rs3scripting-4.42.0.dist-info/WHEEL +5 -0
  392. rs3scripting-4.42.0.dist-info/licenses/License.txt +20 -0
  393. rs3scripting-4.42.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,160 @@
1
+ from typing import Optional, Union
2
+ import rs3.generatedFiles.JointResultsQueryService_pb2_grpc as JointResultsQueryService_pb2_grpc
3
+ import rs3.generatedFiles.ResultsQueryCommonMessage_pb2 as ResultsQueryCommonMessage_pb2
4
+ from rs3._proxyObject import _ProxyObject
5
+ from rs3._client import Client
6
+ from rs3.Geometry import Cube, Cylinder, Sphere
7
+ from rs3.results.ResultEnums import *
8
+
9
+ class JointNodalResults:
10
+ '''
11
+ Nodal result wrapper with per-material data access.
12
+
13
+ Notes:
14
+ - EntityNames/EntityIDs correspond to owning entities for this node.
15
+ '''
16
+ def __init__(self, grpcNodalResults):
17
+ self._grpcNodalResults = grpcNodalResults
18
+
19
+ @property
20
+ def EntityName(self):
21
+ return self._grpcNodalResults.entityInformation.name
22
+
23
+ @property
24
+ def EntityID(self):
25
+ return self._grpcNodalResults.entityInformation.ID
26
+
27
+ @property
28
+ def NodeID(self):
29
+ return self._grpcNodalResults.nodeInformation.nodeID
30
+
31
+ @property
32
+ def XCoordinate(self):
33
+ return self._grpcNodalResults.nodeInformation.location.x
34
+
35
+ @property
36
+ def YCoordinate(self):
37
+ return self._grpcNodalResults.nodeInformation.location.y
38
+
39
+ @property
40
+ def ZCoordinate(self):
41
+ return self._grpcNodalResults.nodeInformation.location.z
42
+
43
+ class JointElementResults:
44
+ '''
45
+ Element-level results wrapper for a specific stage/SRF context.
46
+
47
+ Notes:
48
+ - AttachedNodes returns a copy of node IDs; modifying it does not affect internal state.
49
+ '''
50
+ def __init__(self, grpcElementResults):
51
+ self._grpcElementResults = grpcElementResults
52
+ self._jointResults = grpcElementResults.jointNodalResults
53
+
54
+ @property
55
+ def ElementID(self):
56
+ return self._grpcElementResults.elementInformation.elementID
57
+
58
+ @property
59
+ def AttachedNodeIDs(self):
60
+ return list(self._grpcElementResults.elementInformation.nodeIDs)
61
+
62
+ @property
63
+ def EntityName(self):
64
+ return self._grpcElementResults.entityInformation.name
65
+
66
+ @property
67
+ def EntityID(self):
68
+ return self._grpcElementResults.entityInformation.ID
69
+
70
+ @property
71
+ def FailureType(self):
72
+ return JointGaussPointFailureCombinations(self._grpcElementResults.failureType)
73
+
74
+ def getResults(self, dataType: InterfaceResultTypes) -> list[float]:
75
+ if not self._jointResults:
76
+ raise ValueError("No joint results available")
77
+
78
+ result = self._jointResults[0]
79
+ return getattr(result, dataType.value)
80
+
81
+ class JointResults(_ProxyObject):
82
+ '''
83
+ Entry point to query joint nodal/element results for a given stage and SRF.
84
+
85
+ Parameters:
86
+ stageNumber (int): 1-based stage index.
87
+ srfResultIndex (int): 0-based SRF value index. 0 is to query SRF-None values.
88
+
89
+ Notes:
90
+ - entityName is trimmed; empty strings are ignored.
91
+ - region=None leaves the proto field unset (service returns all).
92
+ - Exceptions from the underlying service are propagated as-is by the client.
93
+
94
+ Examples:
95
+ See :ref:`joint_result_example`.
96
+ '''
97
+
98
+ def __init__(self, client: Client, projectId: str, stageNumber: list[int], srfResultIndex: int):
99
+ super().__init__(client, projectId)
100
+ self._queryService = JointResultsQueryService_pb2_grpc.JointResultsQueryServiceStub(self._client.channel)
101
+ self._stageNumber = stageNumber
102
+ self._srfResultIndex = srfResultIndex
103
+
104
+ def getJointNodeResults(self, entityNames: Optional[list[str]] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[JointNodalResults]:
105
+ request = self._makeRequest(entityNames, region, includeIntersecting)
106
+ stream = self._queryService.GetJointNodeResults(request)
107
+
108
+ results = []
109
+ totalQueriedNodesCount = None
110
+
111
+ for chunk in stream:
112
+ if chunk.HasField('header'):
113
+ header = chunk.header
114
+ totalQueriedNodesCount = header.totalQueriedNodesCount
115
+ elif chunk.HasField('data'):
116
+ results.extend(chunk.data.results)
117
+
118
+ if totalQueriedNodesCount != len(results):
119
+ raise RuntimeError(f"Number of nodes received does not match the expected total queried nodes count. Expected {totalQueriedNodesCount}, but received {len(results)}")
120
+
121
+ return [JointNodalResults(r) for r in results]
122
+
123
+ def getJointElementResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[JointElementResults]:
124
+ request = self._makeRequest(entityName, region, includeIntersecting)
125
+ stream = self._queryService.GetJointElementResults(request)
126
+
127
+ results = []
128
+ totalQueriedElementsCount = None
129
+
130
+ for chunk in stream:
131
+ if chunk.HasField('header'):
132
+ header = chunk.header
133
+ totalQueriedElementsCount = header.totalQueriedElementsCount
134
+ elif chunk.HasField('data'):
135
+ results.extend(chunk.data.results)
136
+
137
+ if totalQueriedElementsCount != len(results):
138
+ raise RuntimeError(f"Number of elements received does not match the expected total queried elements count. Expected {totalQueriedElementsCount}, but received {len(results)}")
139
+
140
+ return [JointElementResults(r) for r in results]
141
+
142
+ def _makeRequest(self, entityName: Optional[str], region: Optional[Union[Cube, Cylinder, Sphere]], includeIntersecting: bool = True) -> ResultsQueryCommonMessage_pb2.ResultsQueryRequest:
143
+ request = ResultsQueryCommonMessage_pb2.ResultsQueryRequest(
144
+ _projectId=self._objectId,
145
+ stageNumber=self._stageNumber,
146
+ srfValueNumber=self._srfResultIndex)
147
+
148
+ if entityName:
149
+ # Trim whitespace inside each string if needed
150
+ request.entityName = entityName.strip()
151
+
152
+ if region is not None:
153
+ if isinstance(region, (Cube, Cylinder, Sphere)):
154
+ common_region = region.toCommonGeometryObject()
155
+ request.sampleRegion.region.CopyFrom(common_region)
156
+ request.sampleRegion.includeIntersecting = includeIntersecting
157
+ else:
158
+ raise TypeError(f"Unsupported region type: {type(region)}")
159
+
160
+ return request
@@ -0,0 +1,219 @@
1
+ from typing import List, Dict, Union, Optional, Tuple
2
+
3
+ import rs3.generatedFiles.PileForepoleResultsQueryService_pb2_grpc as PileForepoleResultsQueryService_pb2_grpc
4
+
5
+ from rs3._client import Client
6
+
7
+ from rs3.results.ResultsCommon import _NodeValuePairCollection, _ResultsQueryBase
8
+ from rs3.results.ResultEnums import BeamsDataType, PileInterfaceDataType, BeamForepolePileGaussPointFailureType
9
+ from rs3.results.YieldedElement import YieldedElement
10
+ from rs3.Geometry import Cube, Cylinder, Sphere
11
+
12
+
13
+ class PileNodeResults:
14
+ def __init__(self, grpcNodeResults):
15
+ self._grpcNodeResults = grpcNodeResults
16
+
17
+ @property
18
+ def NodeID(self):
19
+ return self._grpcNodeResults.nodeInformation.nodeID
20
+
21
+ @property
22
+ def XCoordinate(self):
23
+ return self._grpcNodeResults.nodeInformation.location.x
24
+
25
+ @property
26
+ def YCoordinate(self):
27
+ return self._grpcNodeResults.nodeInformation.location.y
28
+
29
+ @property
30
+ def ZCoordinate(self):
31
+ return self._grpcNodeResults.nodeInformation.location.z
32
+
33
+ @property
34
+ def EntityName(self):
35
+ return self._grpcNodeResults.entityInformation.name
36
+
37
+ @property
38
+ def EntityID(self):
39
+ return self._grpcNodeResults.entityInformation.ID
40
+
41
+ @property
42
+ def PileID(self):
43
+ return self._grpcNodeResults.indexToPattern
44
+
45
+
46
+
47
+ class PileForepoleElementResults:
48
+ def __init__(self, grpcElementResults):
49
+ self._grpcElementResults = grpcElementResults
50
+ self._nodeResultsByDataType = self._buildNodeResultsByDataType(grpcElementResults)
51
+ self._yieldedElement = YieldedElement(grpcElementResults.failurePoint, failureTypeEnum=BeamForepolePileGaussPointFailureType) if grpcElementResults.HasField('failurePoint') else None
52
+ self._interfaceYieldedElement = YieldedElement(grpcElementResults.interfaceFailurePoint, failureTypeEnum=BeamForepolePileGaussPointFailureType) if grpcElementResults.HasField('interfaceFailurePoint') else None
53
+
54
+ @property
55
+ def EntityName(self):
56
+ return self._grpcElementResults.entityInformation.name
57
+
58
+ @property
59
+ def EntityID(self):
60
+ return self._grpcElementResults.entityInformation.ID
61
+
62
+ @property
63
+ def AttachedNodeIDs(self):
64
+ return self._grpcElementResults.nodeIDs
65
+
66
+ @property
67
+ def PileID(self):
68
+ return self._grpcElementResults.pileID
69
+
70
+ @property
71
+ def BeamID(self):
72
+ return self._grpcElementResults.beamElementID
73
+
74
+ @property
75
+ def InterfaceID(self):
76
+ return self._grpcElementResults.interfaceElementID
77
+
78
+ def getNodeResult(self, dataType: Union[BeamsDataType, PileInterfaceDataType]) -> List[float]:
79
+ key = (type(dataType), dataType)
80
+ if key not in self._nodeResultsByDataType:
81
+ raise ValueError(f"Data type {dataType} not found")
82
+ return self._nodeResultsByDataType[key].ResultValues
83
+
84
+
85
+ def getResultsInNodeDataTuple(self, dataType: Union[BeamsDataType, PileInterfaceDataType]) -> List[Tuple[int, float]]:
86
+ key = (type(dataType), dataType)
87
+ if key not in self._nodeResultsByDataType:
88
+ raise ValueError(f"Data type {dataType} not found")
89
+ return self._nodeResultsByDataType[key].NodeValuePairs
90
+
91
+
92
+ @property
93
+ def YieldedElement(self):
94
+ return self._yieldedElement
95
+
96
+ @property
97
+ def InterfaceYieldedElement(self):
98
+ return self._interfaceYieldedElement
99
+
100
+
101
+ def _buildNodeResultsByDataType(self, grpcElementResults):
102
+ nodeIDElementValuePairs = [(nodeID, nodeValue) for nodeID, nodeValue in zip(grpcElementResults.nodeIDs, grpcElementResults.nodeValues.elementNodeValues)]
103
+ nodeIDInterfaceValuePairs = [(nodeID, nodeValue) for nodeID, nodeValue in zip(grpcElementResults.nodeIDs, grpcElementResults.nodeValues.interfaceNodeValues)]
104
+ beamNodePairsByType: Dict[BeamsDataType, List[tuple[int, float]]] = {dt: [] for dt in BeamsDataType}
105
+ for nodeID, nodeValue in nodeIDElementValuePairs:
106
+ beamNodePairsByType[BeamsDataType.AXIS_FORCE].append((nodeID, nodeValue.axisForce))
107
+ beamNodePairsByType[BeamsDataType.SHEAR_FORCE_MIN_AXIS].append((nodeID, nodeValue.shearForceMinAxis))
108
+ beamNodePairsByType[BeamsDataType.SHEAR_FORCE_MAX_AXIS].append((nodeID, nodeValue.shearForceMaxAxis))
109
+ beamNodePairsByType[BeamsDataType.MOMENT_MIN_AXIS].append((nodeID, nodeValue.momentMinAxis))
110
+ beamNodePairsByType[BeamsDataType.MOMENT_MAX_AXIS].append((nodeID, nodeValue.momentMaxAxis))
111
+ beamNodePairsByType[BeamsDataType.DISPLACEMENT_X].append((nodeID, nodeValue.displacementX))
112
+ beamNodePairsByType[BeamsDataType.DISPLACEMENT_Y].append((nodeID, nodeValue.displacementY))
113
+ beamNodePairsByType[BeamsDataType.DISPLACEMENT_Z].append((nodeID, nodeValue.displacementZ))
114
+ beamNodePairsByType[BeamsDataType.DISPLACEMENT_TOTAL].append((nodeID, nodeValue.totalDisplacement))
115
+ interfaceNodePairsByType: Dict[PileInterfaceDataType, List[tuple[int, float]]] = {dt: [] for dt in PileInterfaceDataType}
116
+ for nodeID, nodeValue in nodeIDInterfaceValuePairs:
117
+ interfaceNodePairsByType[PileInterfaceDataType.SHEAR_FORCE].append((nodeID, nodeValue.shearForce))
118
+ interfaceNodePairsByType[PileInterfaceDataType.NORMAL_FORCE_MIN_AXIS].append((nodeID, nodeValue.normalForceMinAxis))
119
+ interfaceNodePairsByType[PileInterfaceDataType.NORMAL_FORCE_MAX_AXIS].append((nodeID, nodeValue.normalForceMaxAxis))
120
+ interfaceNodePairsByType[PileInterfaceDataType.CONFINING_STRESS].append((nodeID, nodeValue.confiningStress))
121
+ interfaceNodePairsByType[PileInterfaceDataType.DISPLACEMENT_X].append((nodeID, nodeValue.rockDisplacementX))
122
+ interfaceNodePairsByType[PileInterfaceDataType.DISPLACEMENT_Y].append((nodeID, nodeValue.rockDisplacementY))
123
+ interfaceNodePairsByType[PileInterfaceDataType.DISPLACEMENT_Z].append((nodeID, nodeValue.rockDisplacementZ))
124
+ interfaceNodePairsByType[PileInterfaceDataType.DISPLACEMENT_TOTAL].append((nodeID, nodeValue.rockTotalDisplacement))
125
+
126
+ # Use (type(dt), dt) as key so BeamsDataType and PileInterfaceDataType entries with same
127
+ # enum value (e.g. DISPLACEMENT_TOTAL) are stored separately; str Enum equality would
128
+ # otherwise collapse them into one key.
129
+ nodeResultsByType: Dict[Tuple[type, Union[BeamsDataType, PileInterfaceDataType]], _NodeValuePairCollection] = {}
130
+ for dt, pairs in beamNodePairsByType.items():
131
+ nodeResultsByType[(BeamsDataType, dt)] = _NodeValuePairCollection(pairs)
132
+ for dt, pairs in interfaceNodePairsByType.items():
133
+ nodeResultsByType[(PileInterfaceDataType, dt)] = _NodeValuePairCollection(pairs)
134
+
135
+ return nodeResultsByType
136
+
137
+
138
+
139
+ class PileForepoleResults(_ResultsQueryBase):
140
+ '''
141
+ Entry point to query pile forepole nodal/element results for a given stage and SRF.
142
+
143
+ Parameters:
144
+ stageNumber (int): 1-based stage index.
145
+ srfResultIndex (int): 0-based SRF value index. 0 is to query SRF-None values.
146
+
147
+ Notes:
148
+ - entityName is trimmed; empty strings are ignored.
149
+ - region=None leaves the proto field unset (service returns all).
150
+ - Exceptions from the underlying service are propagated as-is by the client.
151
+
152
+ Examples:
153
+ See :ref:`pile_result_example`.
154
+ '''
155
+ def __init__(self, client: Client, projectId: str, stageNumber: int, srfResultIndex: int):
156
+ super().__init__(client, projectId, stageNumber, srfResultIndex)
157
+ self._queryService = PileForepoleResultsQueryService_pb2_grpc.PileForepoleResultsQueryServiceStub(client.channel)
158
+
159
+
160
+ def getPileForepoleNodeResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[PileNodeResults]:
161
+ '''
162
+ Query pile forepole node results at a specific stage and SRF value.
163
+ Parameters:
164
+ entityName: Optional[str]: If provided, only nodes belonging to the specified entity are queried.
165
+ region: Optional[Union[Cube, Cylinder, Sphere]]: Sample region filter. When None, the field is not set in the request (proto3 unset), and the service returns all nodes.
166
+ includeIntersecting: bool: If True, nodes that intersect the sample region are included. When False, only nodes fully contained are included. Ignored when region is None.
167
+ Raises:
168
+ Exception if:
169
+ - stageNumber is less than 1
170
+ - stageNumber is greater than the number of stages in the project
171
+ - _srfResultIndex is less than 0
172
+ - _srfResultIndex is greater than the number of SRF values in the project
173
+ Returns:
174
+ list[PileNodeResults]: A list of pile forepole node results wrappers for the requested stage and SRF value.
175
+ '''
176
+ request = self._makeRequest(entityName, region, includeIntersecting)
177
+ stream = self._queryService.QueryPileForepoleNodeResults(request)
178
+ allResults = []
179
+ totalQueriedNodesCount = None
180
+ for chunk in stream:
181
+ if chunk.HasField('header'):
182
+ header = chunk.header
183
+ totalQueriedNodesCount = header.totalQueriedNodesCount
184
+ elif chunk.HasField('data'):
185
+ allResults.extend(chunk.data.results)
186
+ if totalQueriedNodesCount is not None and totalQueriedNodesCount != len(allResults):
187
+ raise RuntimeError(f"Number of nodes received does not match the expected total queried nodes count. Expected {totalQueriedNodesCount}, but received {len(allResults)}.")
188
+ return [PileNodeResults(r) for r in allResults]
189
+
190
+
191
+ def getPileForepoleElementResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[PileForepoleElementResults]:
192
+ '''
193
+ Query pile forepole element results at a specific stage and SRF value.
194
+ Parameters:
195
+ entityName: Optional[str]: If provided, only elements belonging to the specified entity are queried.
196
+ region: Optional[Union[Cube, Cylinder, Sphere]]: Sample region filter. When None, the field is not set in the request (proto3 unset), and the service returns all elements.
197
+ includeIntersecting: bool: If True, elements that intersect the sample region are included. When False, only elements fully contained are included. Ignored when region is None.
198
+ Raises:
199
+ Exception if:
200
+ - stageNumber is less than 1
201
+ - stageNumber is greater than the number of stages in the project
202
+ - _srfResultIndex is less than 0
203
+ - _srfResultIndex is greater than the number of SRF values in the project
204
+ Returns:
205
+ list[PileForepoleElementResults]: A list of pile forepole element results wrappers for the requested stage and SRF value.
206
+ '''
207
+ request = self._makeRequest(entityName, region, includeIntersecting)
208
+ stream = self._queryService.QueryPileForepoleElementResults(request)
209
+ allResults = []
210
+ totalQueriedElementsCount = None
211
+ for chunk in stream:
212
+ if chunk.HasField('header'):
213
+ header = chunk.header
214
+ totalQueriedElementsCount = header.totalQueriedElementsCount
215
+ elif chunk.HasField('data'):
216
+ allResults.extend(chunk.data.results)
217
+ if totalQueriedElementsCount is not None and totalQueriedElementsCount != len(allResults):
218
+ raise RuntimeError(f"Number of elements received does not match the expected total queried elements count. Expected {totalQueriedElementsCount}, but received {len(allResults)}.")
219
+ return [PileForepoleElementResults(r) for r in allResults]
@@ -0,0 +1,146 @@
1
+ from enum import Enum
2
+
3
+ class SolidsDataType(str, Enum):
4
+ SIGMA_1_EFFECTIVE = "sigma1"
5
+ SIGMA_2_EFFECTIVE = "sigma2"
6
+ SIGMA_3_EFFECTIVE = "sigma3"
7
+ STRESS_MEAN = "stressMean"
8
+ STRESS_VON_MISES = "stressVonMises"
9
+ SIGMA_1_TOTAL = "sigma1Total"
10
+ SIGMA_2_TOTAL = "sigma2Total"
11
+ SIGMA_3_TOTAL = "sigma3Total"
12
+ STRESS_MEAN_TOTAL = "stressMeanTotal"
13
+ STRESS_VON_MISES_TOTAL = "stressVonMisesTotal"
14
+ DISPLACEMENT_X = "displacementX"
15
+ DISPLACEMENT_Y = "displacementY"
16
+ DISPLACEMENT_Z = "displacementZ"
17
+ TOTAL_DISPLACEMENT = "totalDisplacement"
18
+ EXCESS_PWP = "excessPWP"
19
+ TOTAL_PWP = "totalPWP"
20
+ VOLUMETRIC_STRAIN = "volumetricStrain"
21
+ MAX_SHEAR_STRAIN = "maxShearStrain"
22
+ SIGMA_XX_EFFECTIVE = "sigmaXX"
23
+ SIGMA_YY_EFFECTIVE = "sigmaYY"
24
+ SIGMA_ZZ_EFFECTIVE = "sigmaZZ"
25
+ SIGMA_XY_EFFECTIVE = "sigmaXY"
26
+ SIGMA_XZ_EFFECTIVE = "sigmaXZ"
27
+ SIGMA_YZ_EFFECTIVE = "sigmaYZ"
28
+ SIGMA_XX_TOTAL = "sigmaXXTotal"
29
+ SIGMA_YY_TOTAL = "sigmaYYTotal"
30
+ SIGMA_ZZ_TOTAL = "sigmaZZTotal"
31
+ SIGMA_XY_TOTAL = "sigmaXYTotal"
32
+ SIGMA_XZ_TOTAL = "sigmaXZTotal"
33
+ SIGMA_YZ_TOTAL = "sigmaYZTotal"
34
+ STRAIN_P_MAJOR = "strainPMajor"
35
+ STRAIN_P_MEAN = "strainPMean"
36
+ STRAIN_P_MINOR = "strainPMinor"
37
+ STRAIN_XX = "strainXX"
38
+ STRAIN_YY = "strainYY"
39
+ STRAIN_ZZ = "strainZZ"
40
+ STRAIN_XY = "strainXY"
41
+ STRAIN_XZ = "strainXZ"
42
+ STRAIN_YZ = "strainYZ"
43
+ PRESSURE_HEAD = "pressureHead"
44
+ TOTAL_HEAD = "totalHead"
45
+ DISCHARGE_VELOCITY_X = "dischargeVelocityX"
46
+ DISCHARGE_VELOCITY_Y = "dischargeVelocityY"
47
+ DISCHARGE_VELOCITY_Z = "dischargeVelocityZ"
48
+ TOTAL_DISCHARGE_VELOCITY = "totalDischargeVelocity"
49
+ HYDRAULIC_GRADIENT_X = "hydraulicGradientX"
50
+ HYDRAULIC_GRADIENT_Y = "hydraulicGradientY"
51
+ HYDRAULIC_GRADIENT_Z = "hydraulicGradientZ"
52
+ HYDRAULIC_GRADIENT_TOTAL = "hydraulicGradientTotal"
53
+ DEGREE_SATURATION = "degreeSaturation"
54
+ STRENGTH_FACTOR = "strengthFactor"
55
+
56
+
57
+ class BeamsDataType(str, Enum):
58
+ AXIS_FORCE = "axisForce"
59
+ SHEAR_FORCE_MIN_AXIS = "shearForceMinAxis"
60
+ SHEAR_FORCE_MAX_AXIS = "shearForceMaxAxis"
61
+ MOMENT_MIN_AXIS = "momentMinAxis"
62
+ MOMENT_MAX_AXIS = "momentMaxAxis"
63
+ DISPLACEMENT_X = "displacementX"
64
+ DISPLACEMENT_Y = "displacementY"
65
+ DISPLACEMENT_Z = "displacementZ"
66
+ DISPLACEMENT_TOTAL = "displacementTotal"
67
+
68
+
69
+ class PileInterfaceDataType(str, Enum):
70
+ SHEAR_FORCE = "shearForce"
71
+ NORMAL_FORCE_MIN_AXIS = "normalForceMinAxis"
72
+ NORMAL_FORCE_MAX_AXIS = "normalForceMaxAxis"
73
+ CONFINING_STRESS = "confiningStress"
74
+ DISPLACEMENT_X = "displacementX"
75
+ DISPLACEMENT_Y = "displacementY"
76
+ DISPLACEMENT_Z = "displacementZ"
77
+ DISPLACEMENT_TOTAL = "displacementTotal"
78
+
79
+
80
+ class BeamForepolePileGaussPointFailureType(str, Enum):
81
+ NONE = "No failure"
82
+ SHEAR = "Shear failure"
83
+ TENSION = "Tension failure"
84
+ TENSION_SHEAR = "Shear + tension failure"
85
+ COMPRESSION = "Compression failure"
86
+
87
+ class LinerResultTypes(Enum):
88
+ DISPLACEMENT_X = "DISPLACEMENT_X"
89
+ DISPLACEMENT_Y = "DISPLACEMENT_Y"
90
+ DISPLACEMENT_Z = "DISPLACEMENT_Z"
91
+ TOTAL_DISPLACEMENT = "TOTAL_DISPLACEMENT"
92
+ NORMAL_DISPLACEMENT = "NORMAL_DISPLACEMENT"
93
+ AXIAL_FORCE_XX = "AXIAL_FORCE_XX"
94
+ AXIAL_FORCE_YY = "AXIAL_FORCE_YY"
95
+ AXIAL_FORCE_ZZ = "AXIAL_FORCE_ZZ"
96
+ SHEAR_FORCE_YZ = "SHEAR_FORCE_YZ"
97
+ SHEAR_FORCE_XZ = "SHEAR_FORCE_XZ"
98
+ SHEAR_FORCE_XY = "SHEAR_FORCE_XY"
99
+ MOMENT_XX = "MOMENT_XX"
100
+ MOMENT_YY = "MOMENT_YY"
101
+ MOMENT_ZZ = "MOMENT_ZZ"
102
+ MOMENT_YZ = "MOMENT_YZ"
103
+ MOMENT_XZ = "MOMENT_XZ"
104
+ MOMENT_XY = "MOMENT_XY"
105
+
106
+ class InterfaceResultTypes(Enum):
107
+ DISPLACEMENT_X = "DISPLACEMENT_X"
108
+ DISPLACEMENT_Y = "DISPLACEMENT_Y"
109
+ DISPLACEMENT_Z = "DISPLACEMENT_Z"
110
+ NORMAL_STRESS = "NORMAL_STRESS"
111
+ SHEAR_STRESS = "SHEAR_STRESS"
112
+ PLASTIC_STRAIN = "PLASTIC_STRAIN"
113
+ DISPLACEMENT_NORMAL = "DISPLACEMENT_NORMAL"
114
+ DISPLACEMENT_SHEAR = "DISPLACEMENT_SHEAR"
115
+
116
+ class LinerGaussPointFailureCombinations(Enum):
117
+ NONE = "NONE"
118
+ TENSION = "TENSION"
119
+ COMPRESSION = "COMPRESSION"
120
+
121
+ class JointGaussPointFailureCombinations(Enum):
122
+ NONE = "NONE"
123
+ SHEAR = "SHEAR"
124
+ TENSION = "TENSION"
125
+ TENSION_SHEAR = "TENSION_SHEAR"
126
+
127
+ class BoltDataType(str, Enum):
128
+ AXIAL_FORCE = "axialForce"
129
+ AXIAL_STRESS = "axialStress"
130
+ DISPLACEMENT_X = "displacementX"
131
+ DISPLACEMENT_Y = "displacementY"
132
+ DISPLACEMENT_Z = "displacementZ"
133
+ DISPLACEMENT_TOTAL = "displacementTotal"
134
+ INTERFACE_SHEAR_FORCE = "interfaceShearForce"
135
+ INTERFACE_DISPLACEMENT_X = "interfaceDisplacementX"
136
+ INTERFACE_DISPLACEMENT_Y = "interfaceDisplacementY"
137
+ INTERFACE_DISPLACEMENT_Z = "interfaceDisplacementZ"
138
+ INTERFACE_DISPLACEMENT_TOTAL = "interfaceDisplacementTotal"
139
+
140
+
141
+ class BoltGaussPointFailureType(str, Enum):
142
+ NONE = "No failure"
143
+ SHEAR = "Shear failure"
144
+ TENSION = "Tension failure"
145
+ TENSION_SHEAR = "Shear + tension failure"
146
+ COMPRESSION = "Compression failure"