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,154 @@
1
+ # Generated by RPCBinder in RFC_Common.
2
+ from rs3._client import Client
3
+ from ._PropertyAccessor import PropertyAccessor
4
+ from rs3._proxyObject import _ProxyObject
5
+ from rs3.properties.IPropertyGroupAccessors import IPropertyGroupAccessors
6
+ from rs3.properties.stageFactors.IStageFactorBase import IStageFactorBase
7
+ import rs3.generatedFiles.StrengthStageFactorService_pb2_grpc as StrengthStageFactorService_pb2_grpc
8
+ class MohrCoulombWithCapBase(_ProxyObject, IPropertyGroupAccessors):
9
+ def __init__(self, client: Client, id: str):
10
+ super().__init__(client, id)
11
+ self._propertyAccessor = PropertyAccessor(client, id)
12
+ def getDilationAngle(self) -> float:
13
+ return self._propertyAccessor.getDoubleProperty("DilationAngle")
14
+ def setDilationAngle(self, value: float):
15
+ self._propertyAccessor.setDoubleProperty("DilationAngle", value)
16
+ def getInitialMeanStress(self) -> float:
17
+ return self._propertyAccessor.getDoubleProperty("InitialMeanStress")
18
+ def setInitialMeanStress(self, value: float):
19
+ self._propertyAccessor.setDoubleProperty("InitialMeanStress", value)
20
+ def getLambdaKappa(self) -> float:
21
+ return self._propertyAccessor.getDoubleProperty("LambdaKappa")
22
+ def setLambdaKappa(self, value: float):
23
+ self._propertyAccessor.setDoubleProperty("LambdaKappa", value)
24
+ def getFrictionAngle(self) -> float:
25
+ return self._propertyAccessor.getDoubleProperty("FrictionAngle")
26
+ def setFrictionAngle(self, value: float):
27
+ self._propertyAccessor.setDoubleProperty("FrictionAngle", value)
28
+ def getCohesion(self) -> float:
29
+ return self._propertyAccessor.getDoubleProperty("Cohesion")
30
+ def setCohesion(self, value: float):
31
+ self._propertyAccessor.setDoubleProperty("Cohesion", value)
32
+ def getTensileStrength(self) -> float:
33
+ return self._propertyAccessor.getDoubleProperty("TensileStrength")
34
+ def setTensileStrength(self, value: float):
35
+ self._propertyAccessor.setDoubleProperty("TensileStrength", value)
36
+ def getProperties(self):
37
+ return {
38
+ "DilationAngle": self.getDilationAngle(),
39
+ "InitialMeanStress": self.getInitialMeanStress(),
40
+ "LambdaKappa": self.getLambdaKappa(),
41
+ "FrictionAngle": self.getFrictionAngle(),
42
+ "Cohesion": self.getCohesion(),
43
+ "TensileStrength": self.getTensileStrength(),
44
+ }
45
+ def setProperties(self, DilationAngle: float = None, InitialMeanStress: float = None, LambdaKappa: float = None, FrictionAngle: float = None, Cohesion: float = None, TensileStrength: float = None):
46
+ if DilationAngle is not None:
47
+ self.setDilationAngle(DilationAngle)
48
+ if InitialMeanStress is not None:
49
+ self.setInitialMeanStress(InitialMeanStress)
50
+ if LambdaKappa is not None:
51
+ self.setLambdaKappa(LambdaKappa)
52
+ if FrictionAngle is not None:
53
+ self.setFrictionAngle(FrictionAngle)
54
+ if Cohesion is not None:
55
+ self.setCohesion(Cohesion)
56
+ if TensileStrength is not None:
57
+ self.setTensileStrength(TensileStrength)
58
+ class MohrCoulombWithCapStageFactorBase(IStageFactorBase):
59
+ def __init__(self, id : str, stageFactorID : str, client : Client):
60
+ super().__init__(id, stageFactorID, client, StrengthStageFactorService_pb2_grpc.StrengthStageFactorServiceStub(client.channel))
61
+ def getCohesionFactor(self) -> float:
62
+ return self._stageFactorPropertyAccessor.getDoubleProperty("MohrCoulombWithCap_Cohesion")
63
+ def getDilationAngleFactor(self) -> float:
64
+ return self._stageFactorPropertyAccessor.getDoubleProperty("MohrCoulombWithCap_DilationAngle")
65
+ def getFrictionAngleFactor(self) -> float:
66
+ return self._stageFactorPropertyAccessor.getDoubleProperty("MohrCoulombWithCap_FrictionAngle")
67
+ def getTensileStrengthFactor(self) -> float:
68
+ return self._stageFactorPropertyAccessor.getDoubleProperty("MohrCoulombWithCap_TensileStrength")
69
+ class MohrCoulombWithCapDefinedStageFactorBase(MohrCoulombWithCapStageFactorBase):
70
+ def setCohesionFactor(self, value: float):
71
+ self._stageFactorPropertyAccessor.setDoubleProperty("MohrCoulombWithCap_Cohesion", value)
72
+ def setDilationAngleFactor(self, value: float):
73
+ self._stageFactorPropertyAccessor.setDoubleProperty("MohrCoulombWithCap_DilationAngle", value)
74
+ def setFrictionAngleFactor(self, value: float):
75
+ self._stageFactorPropertyAccessor.setDoubleProperty("MohrCoulombWithCap_FrictionAngle", value)
76
+ def setTensileStrengthFactor(self, value: float):
77
+ self._stageFactorPropertyAccessor.setDoubleProperty("MohrCoulombWithCap_TensileStrength", value)
78
+
79
+ ################ Code below this line will not be overridden ################
80
+ from rs3.properties.material.constitutiveModel.stiffness.LinearIsotropic import LinearIsotropic
81
+ from rs3.properties.material.constitutiveModel.stiffness.TransverselyIsotropic import TransverselyIsotropic
82
+ from rs3.properties.material.constitutiveModel.stiffness.Orthotropic import Orthotropic
83
+ from rs3.properties.material.constitutiveModel.stiffness.DuncanChangHyperbolic import DuncanChangHyperbolic
84
+ from rs3.properties.material.constitutiveModel.stiffness.NonlinearIsotropic import NonlinearIsotropic
85
+ from rs3.properties.material.constitutiveModel.BaseConstitutiveModel import BaseConstitutiveModel
86
+ from rs3.properties.material.constitutiveModel.UnsaturatedZoneCalculations import UnsaturatedZoneCalculations
87
+ from rs3.properties._PropertyAccessor import PropertyAccessor as BasePropertyAccessor
88
+ import rs3.generatedFiles.MaterialDataService_pb2_grpc as MaterialDataService_pb2_grpc
89
+ import rs3.generatedFiles.MaterialStrengthService_pb2 as MaterialStrengthService_pb2
90
+ import rs3.generatedFiles.MaterialStrengthService_pb2_grpc as MaterialStrengthService_pb2_grpc
91
+ from rs3.properties.PropertyEnums import *
92
+ from rs3.properties.stageFactors.StageFactorBaseInterfaces import AbsoluteStageFactorInterface
93
+
94
+ class MohrCoulombWithCapStageFactor(MohrCoulombWithCapStageFactorBase):
95
+ def __init__(self, id: str, stageFactorId: str, client: Client):
96
+ super().__init__(id, stageFactorId, client)
97
+
98
+ class MohrCoulombWithCapDefinedStageFactor(MohrCoulombWithCapDefinedStageFactorBase):
99
+ pass
100
+
101
+ class MohrCoulombWithCap(MohrCoulombWithCapBase, BaseConstitutiveModel):
102
+ def __init__(self, client: Client, id: str):
103
+ super().__init__(client, id)
104
+ self._stub = MaterialStrengthService_pb2_grpc.MaterialStrengthServiceStub(client.channel)
105
+ self._stiffnessPropertyAccessor = BasePropertyAccessor(client, id, MaterialDataService_pb2_grpc.MaterialDataServiceStub(self._client.channel))
106
+ self.LinearIsotropicStiffness = LinearIsotropic(client, id)
107
+ self.TransverselyIsotropicStiffness = TransverselyIsotropic(client, id)
108
+ self.OrthotropicStiffness = Orthotropic(client, id)
109
+ self.DuncanChangHyperbolicStiffness = DuncanChangHyperbolic(client, id)
110
+ self.NonlinearIsotropicStiffness = NonlinearIsotropic(client, id)
111
+ self.UnsaturatedZoneCalculations = UnsaturatedZoneCalculations(client, id)
112
+ self.StageFactorInterface = AbsoluteStageFactorInterface[MohrCoulombWithCapDefinedStageFactor, MohrCoulombWithCapStageFactor](id, client, MohrCoulombWithCapDefinedStageFactor, MohrCoulombWithCapStageFactor)
113
+
114
+ def getCapType(self) -> CapType:
115
+ return self._propertyAccessor.getEnumValue("Cap", CapType)
116
+ def setCapType(self, CapType: CapType):
117
+ self._propertyAccessor.setEnumValue("Cap", CapType.value)
118
+
119
+ def getCapHardeningType(self) -> CapHardeningTypes:
120
+ return CapHardeningTypes(self._propertyAccessor.getBoolValue("CapIsExponential"))
121
+ def setCapHardeningType(self, value: CapHardeningTypes):
122
+ self._propertyAccessor.setBoolValue("CapIsExponential", value.value)
123
+
124
+ def getMeanStressPoints(self) -> list[tuple[float, float]]:
125
+ """
126
+ Retrieve the mean stress function points for the current material.
127
+
128
+ Returns:
129
+ list[tuple[float, float]]:
130
+ A list of tuples, where each tuple contains:
131
+ - volumetricPlasticStrain (float): The volumetric plastic strain value.
132
+ - meanStress (float): The corresponding mean stress value.
133
+ """
134
+ request = MaterialStrengthService_pb2.GetMeanStressFunctionPropertyRequest(objectId=self._objectId)
135
+ response : MaterialStrengthService_pb2.GetMeanStressFunctionPropertyResponse = self._client.callFunction(self._stub.GetMeanStressFunctionProperty, request)
136
+ return list((p.volumetricPlasticStrain, p.meanStress) for p in response.point)
137
+ def setMeanStressPoints(self, value: list[tuple[float, float]]):
138
+ """
139
+ Set the mean stress function points for the current material.
140
+
141
+ Args:
142
+ value (list[tuple[float, float]]):
143
+ A list of tuples, where each tuple contains:
144
+ - volumetricPlasticStrain (float): The volumetric plastic strain value.
145
+ - meanStress (float): The corresponding mean stress value.
146
+ """
147
+ meanStressList = []
148
+ for volumetricPlasticStrain, meanStress in value:
149
+ meanStressPoint = MaterialStrengthService_pb2.MeanStressDataPoint(volumetricPlasticStrain=volumetricPlasticStrain, meanStress=meanStress)
150
+ meanStressList.append(meanStressPoint)
151
+ request = MaterialStrengthService_pb2.SetMeanStressFunctionPropertyRequest(objectId=self._objectId, point=meanStressList)
152
+ self._client.callFunction(self._stub.SetMeanStressFunctionProperty, request)
153
+
154
+
@@ -0,0 +1,146 @@
1
+ # Generated by RPCBinder in RFC_Common.
2
+ from rs3._client import Client
3
+ from ._PropertyAccessor import StiffnessPropertyAccessor, StrengthPropertyAccessor
4
+ from rs3._proxyObject import _ProxyObject
5
+ from rs3.properties.IPropertyGroupAccessors import IPropertyGroupAccessors
6
+ class NorsandBase(_ProxyObject, IPropertyGroupAccessors):
7
+ def __init__(self, client: Client, id: str):
8
+ super().__init__(client, id)
9
+ self._stiffnessPropertyAccessor = StiffnessPropertyAccessor(client, id)
10
+ self._strengthPropertyAccessor = StrengthPropertyAccessor(client, id)
11
+ def getShearModulusAtReferencePressure(self) -> float:
12
+ return self._stiffnessPropertyAccessor.getDoubleProperty("ShearModulusAtRefPressure")
13
+ def setShearModulusAtReferencePressure(self, value: float):
14
+ self._stiffnessPropertyAccessor.setDoubleProperty("ShearModulusAtRefPressure", value)
15
+ def getReferencePressureForShearModulus(self) -> float:
16
+ return self._stiffnessPropertyAccessor.getDoubleProperty("RefPressureForShearModulus")
17
+ def setReferencePressureForShearModulus(self, value: float):
18
+ self._stiffnessPropertyAccessor.setDoubleProperty("RefPressureForShearModulus", value)
19
+ def getModulusExponent(self) -> float:
20
+ return self._stiffnessPropertyAccessor.getDoubleProperty("ModulusExponent")
21
+ def setModulusExponent(self, value: float):
22
+ self._stiffnessPropertyAccessor.setDoubleProperty("ModulusExponent", value)
23
+ def getPoissonsRatio(self) -> float:
24
+ return self._stiffnessPropertyAccessor.getDoubleProperty("PoissonsRatio")
25
+ def setPoissonsRatio(self, value: float):
26
+ self._stiffnessPropertyAccessor.setDoubleProperty("PoissonsRatio", value)
27
+ def getMinimumShearModulus(self) -> float:
28
+ return self._stiffnessPropertyAccessor.getDoubleProperty("MinimumShearModulus")
29
+ def setMinimumShearModulus(self, value: float):
30
+ self._stiffnessPropertyAccessor.setDoubleProperty("MinimumShearModulus", value)
31
+ def getMTCCriticalFrictionRatio(self) -> float:
32
+ return self._strengthPropertyAccessor.getDoubleProperty("CriticalFrictionRatio")
33
+ def setMTCCriticalFrictionRatio(self, value: float):
34
+ self._strengthPropertyAccessor.setDoubleProperty("CriticalFrictionRatio", value)
35
+ def getLambdaSlopeOfCSLNaturalLog(self) -> float:
36
+ return self._strengthPropertyAccessor.getDoubleProperty("SlopeOfCSL")
37
+ def setLambdaSlopeOfCSLNaturalLog(self, value: float):
38
+ self._strengthPropertyAccessor.setDoubleProperty("SlopeOfCSL", value)
39
+ def getH0PlasticHardeningModulus(self) -> float:
40
+ return self._strengthPropertyAccessor.getDoubleProperty("PlasticHardeningModulus")
41
+ def setH0PlasticHardeningModulus(self, value: float):
42
+ self._strengthPropertyAccessor.setDoubleProperty("PlasticHardeningModulus", value)
43
+ def getChiTCDilationCoefficient(self) -> float:
44
+ return self._strengthPropertyAccessor.getDoubleProperty("DilationCoefficient")
45
+ def setChiTCDilationCoefficient(self, value: float):
46
+ self._strengthPropertyAccessor.setDoubleProperty("DilationCoefficient", value)
47
+ def getNVolumetricCouplingCoefficient(self) -> float:
48
+ return self._strengthPropertyAccessor.getDoubleProperty("VolumetricCouplingCoefficient")
49
+ def setNVolumetricCouplingCoefficient(self, value: float):
50
+ self._strengthPropertyAccessor.setDoubleProperty("VolumetricCouplingCoefficient", value)
51
+ def getHyChangeInHardeningModulus(self) -> float:
52
+ return self._strengthPropertyAccessor.getDoubleProperty("ChangeInHardeningModulus")
53
+ def setHyChangeInHardeningModulus(self, value: float):
54
+ self._strengthPropertyAccessor.setDoubleProperty("ChangeInHardeningModulus", value)
55
+ def getPsi0InitialStateParameter(self) -> float:
56
+ return self._strengthPropertyAccessor.getDoubleProperty("InitialStateParameter")
57
+ def setPsi0InitialStateParameter(self, value: float):
58
+ self._strengthPropertyAccessor.setDoubleProperty("InitialStateParameter", value)
59
+ def getGammaAltitudeOfCSLAt1KPa(self) -> float:
60
+ return self._strengthPropertyAccessor.getDoubleProperty("AltitudeOfCSLAt1kpa")
61
+ def setGammaAltitudeOfCSLAt1KPa(self, value: float):
62
+ self._strengthPropertyAccessor.setDoubleProperty("AltitudeOfCSLAt1kpa", value)
63
+ def getOCR(self) -> float:
64
+ return self._strengthPropertyAccessor.getDoubleProperty("OverConsolidationRatio")
65
+ def setOCR(self, value: float):
66
+ self._strengthPropertyAccessor.setDoubleProperty("OverConsolidationRatio", value)
67
+ def getInitialMeanStress(self) -> float:
68
+ return self._strengthPropertyAccessor.getDoubleProperty("InitialMeanStress")
69
+ def setInitialMeanStress(self, value: float):
70
+ self._strengthPropertyAccessor.setDoubleProperty("InitialMeanStress", value)
71
+ def getCapSoftening(self) -> bool:
72
+ return self._strengthPropertyAccessor.getBoolValue("CapSoftening")
73
+ def setCapSoftening(self, value: bool):
74
+ self._strengthPropertyAccessor.setBoolValue("CapSoftening", value)
75
+ def getNorSandFluidBulkModulus(self) -> float:
76
+ return self._strengthPropertyAccessor.getDoubleProperty("FluidBulkModulus")
77
+ def setNorSandFluidBulkModulus(self, value: float):
78
+ self._strengthPropertyAccessor.setDoubleProperty("FluidBulkModulus", value)
79
+ def getProperties(self):
80
+ return {
81
+ "ShearModulusAtReferencePressure": self.getShearModulusAtReferencePressure(),
82
+ "ReferencePressureForShearModulus": self.getReferencePressureForShearModulus(),
83
+ "ModulusExponent": self.getModulusExponent(),
84
+ "PoissonsRatio": self.getPoissonsRatio(),
85
+ "MinimumShearModulus": self.getMinimumShearModulus(),
86
+ "MTCCriticalFrictionRatio": self.getMTCCriticalFrictionRatio(),
87
+ "LambdaSlopeOfCSLNaturalLog": self.getLambdaSlopeOfCSLNaturalLog(),
88
+ "H0PlasticHardeningModulus": self.getH0PlasticHardeningModulus(),
89
+ "ChiTCDilationCoefficient": self.getChiTCDilationCoefficient(),
90
+ "NVolumetricCouplingCoefficient": self.getNVolumetricCouplingCoefficient(),
91
+ "HyChangeInHardeningModulus": self.getHyChangeInHardeningModulus(),
92
+ "Psi0InitialStateParameter": self.getPsi0InitialStateParameter(),
93
+ "GammaAltitudeOfCSLAt1KPa": self.getGammaAltitudeOfCSLAt1KPa(),
94
+ "OCR": self.getOCR(),
95
+ "InitialMeanStress": self.getInitialMeanStress(),
96
+ "CapSoftening": self.getCapSoftening(),
97
+ "NorSandFluidBulkModulus": self.getNorSandFluidBulkModulus(),
98
+ }
99
+ def setProperties(self, ShearModulusAtReferencePressure: float = None, ReferencePressureForShearModulus: float = None, ModulusExponent: float = None, PoissonsRatio: float = None, MinimumShearModulus: float = None, MTCCriticalFrictionRatio: float = None, LambdaSlopeOfCSLNaturalLog: float = None, H0PlasticHardeningModulus: float = None, ChiTCDilationCoefficient: float = None, NVolumetricCouplingCoefficient: float = None, HyChangeInHardeningModulus: float = None, Psi0InitialStateParameter: float = None, GammaAltitudeOfCSLAt1KPa: float = None, OCR: float = None, InitialMeanStress: float = None, CapSoftening: bool = None, NorSandFluidBulkModulus: float = None):
100
+ if ShearModulusAtReferencePressure is not None:
101
+ self.setShearModulusAtReferencePressure(ShearModulusAtReferencePressure)
102
+ if ReferencePressureForShearModulus is not None:
103
+ self.setReferencePressureForShearModulus(ReferencePressureForShearModulus)
104
+ if ModulusExponent is not None:
105
+ self.setModulusExponent(ModulusExponent)
106
+ if PoissonsRatio is not None:
107
+ self.setPoissonsRatio(PoissonsRatio)
108
+ if MinimumShearModulus is not None:
109
+ self.setMinimumShearModulus(MinimumShearModulus)
110
+ if MTCCriticalFrictionRatio is not None:
111
+ self.setMTCCriticalFrictionRatio(MTCCriticalFrictionRatio)
112
+ if LambdaSlopeOfCSLNaturalLog is not None:
113
+ self.setLambdaSlopeOfCSLNaturalLog(LambdaSlopeOfCSLNaturalLog)
114
+ if H0PlasticHardeningModulus is not None:
115
+ self.setH0PlasticHardeningModulus(H0PlasticHardeningModulus)
116
+ if ChiTCDilationCoefficient is not None:
117
+ self.setChiTCDilationCoefficient(ChiTCDilationCoefficient)
118
+ if NVolumetricCouplingCoefficient is not None:
119
+ self.setNVolumetricCouplingCoefficient(NVolumetricCouplingCoefficient)
120
+ if HyChangeInHardeningModulus is not None:
121
+ self.setHyChangeInHardeningModulus(HyChangeInHardeningModulus)
122
+ if Psi0InitialStateParameter is not None:
123
+ self.setPsi0InitialStateParameter(Psi0InitialStateParameter)
124
+ if GammaAltitudeOfCSLAt1KPa is not None:
125
+ self.setGammaAltitudeOfCSLAt1KPa(GammaAltitudeOfCSLAt1KPa)
126
+ if OCR is not None:
127
+ self.setOCR(OCR)
128
+ if InitialMeanStress is not None:
129
+ self.setInitialMeanStress(InitialMeanStress)
130
+ if CapSoftening is not None:
131
+ self.setCapSoftening(CapSoftening)
132
+ if NorSandFluidBulkModulus is not None:
133
+ self.setNorSandFluidBulkModulus(NorSandFluidBulkModulus)
134
+
135
+ ################ Code below this line will not be overridden ################
136
+ from rs3.properties.material.constitutiveModel.UnsaturatedZoneCalculations import UnsaturatedZoneCalculations
137
+ from rs3.properties.PropertyEnums import *
138
+ class Norsand(NorsandBase):
139
+ def __init__(self, client: Client, id: str):
140
+ super().__init__(client, id)
141
+ self.UnsaturatedZoneCalculations = UnsaturatedZoneCalculations(client, id)
142
+
143
+ def getInitialConsolidationCondition(self) -> NorsandInitialConsolidationConditionType:
144
+ return self._strengthPropertyAccessor.getEnumValue("InitialConsolidationCondition", NorsandInitialConsolidationConditionType)
145
+ def setInitialConsolidationCondition(self, InitialConsolidationCondition: NorsandInitialConsolidationConditionType):
146
+ return self._strengthPropertyAccessor.setEnumValue("InitialConsolidationCondition", InitialConsolidationCondition.value)
@@ -0,0 +1,119 @@
1
+ # Generated by RPCBinder in RFC_Common.
2
+ from rs3._client import Client
3
+ from ._PropertyAccessor import PropertyAccessor
4
+ from rs3._proxyObject import _ProxyObject
5
+ from rs3.properties.IPropertyGroupAccessors import IPropertyGroupAccessors
6
+ class PowerCurveBase(_ProxyObject, IPropertyGroupAccessors):
7
+ def __init__(self, client: Client, id: str):
8
+ super().__init__(client, id)
9
+ self._propertyAccessor = PropertyAccessor(client, id)
10
+ def getAParameter(self) -> float:
11
+ return self._propertyAccessor.getDoubleProperty("AParameter")
12
+ def setAParameter(self, value: float):
13
+ self._propertyAccessor.setDoubleProperty("AParameter", value)
14
+ def getBParameter(self) -> float:
15
+ return self._propertyAccessor.getDoubleProperty("BParameter")
16
+ def setBParameter(self, value: float):
17
+ self._propertyAccessor.setDoubleProperty("BParameter", value)
18
+ def getCParameter(self) -> float:
19
+ return self._propertyAccessor.getDoubleProperty("CParameter")
20
+ def setCParameter(self, value: float):
21
+ self._propertyAccessor.setDoubleProperty("CParameter", value)
22
+ def getDParameter(self) -> float:
23
+ return self._propertyAccessor.getDoubleProperty("DParameter")
24
+ def setDParameter(self, value: float):
25
+ self._propertyAccessor.setDoubleProperty("DParameter", value)
26
+ def getWaviness(self) -> float:
27
+ return self._propertyAccessor.getDoubleProperty("Waviness")
28
+ def setWaviness(self, value: float):
29
+ self._propertyAccessor.setDoubleProperty("Waviness", value)
30
+ def getResidualAParameter(self) -> float:
31
+ return self._propertyAccessor.getDoubleProperty("AParameterResidual")
32
+ def setResidualAParameter(self, value: float):
33
+ self._propertyAccessor.setDoubleProperty("AParameterResidual", value)
34
+ def getResidualBParameter(self) -> float:
35
+ return self._propertyAccessor.getDoubleProperty("BParameterResidual")
36
+ def setResidualBParameter(self, value: float):
37
+ self._propertyAccessor.setDoubleProperty("BParameterResidual", value)
38
+ def getResidualCParameter(self) -> float:
39
+ return self._propertyAccessor.getDoubleProperty("CParameterResidual")
40
+ def setResidualCParameter(self, value: float):
41
+ self._propertyAccessor.setDoubleProperty("CParameterResidual", value)
42
+ def getResidualDParameter(self) -> float:
43
+ return self._propertyAccessor.getDoubleProperty("DParameterResidual")
44
+ def setResidualDParameter(self, value: float):
45
+ self._propertyAccessor.setDoubleProperty("DParameterResidual", value)
46
+ def getResidualWaviness(self) -> float:
47
+ return self._propertyAccessor.getDoubleProperty("WavinessResidual")
48
+ def setResidualWaviness(self, value: float):
49
+ self._propertyAccessor.setDoubleProperty("WavinessResidual", value)
50
+ def getDilationRatio(self) -> float:
51
+ return self._propertyAccessor.getDoubleProperty("DilationRatio")
52
+ def setDilationRatio(self, value: float):
53
+ self._propertyAccessor.setDoubleProperty("DilationRatio", value)
54
+ def getApplySSRShearStrengthReduction(self) -> bool:
55
+ return self._propertyAccessor.getBoolValue("UseSSR")
56
+ def setApplySSRShearStrengthReduction(self, value: bool):
57
+ self._propertyAccessor.setBoolValue("UseSSR", value)
58
+ def getProperties(self):
59
+ return {
60
+ "AParameter": self.getAParameter(),
61
+ "BParameter": self.getBParameter(),
62
+ "CParameter": self.getCParameter(),
63
+ "DParameter": self.getDParameter(),
64
+ "Waviness": self.getWaviness(),
65
+ "ResidualAParameter": self.getResidualAParameter(),
66
+ "ResidualBParameter": self.getResidualBParameter(),
67
+ "ResidualCParameter": self.getResidualCParameter(),
68
+ "ResidualDParameter": self.getResidualDParameter(),
69
+ "ResidualWaviness": self.getResidualWaviness(),
70
+ "DilationRatio": self.getDilationRatio(),
71
+ "ApplySSRShearStrengthReduction": self.getApplySSRShearStrengthReduction(),
72
+ }
73
+ def setProperties(self, AParameter: float = None, BParameter: float = None, CParameter: float = None, DParameter: float = None, Waviness: float = None, ResidualAParameter: float = None, ResidualBParameter: float = None, ResidualCParameter: float = None, ResidualDParameter: float = None, ResidualWaviness: float = None, DilationRatio: float = None, ApplySSRShearStrengthReduction: bool = None):
74
+ if AParameter is not None:
75
+ self.setAParameter(AParameter)
76
+ if BParameter is not None:
77
+ self.setBParameter(BParameter)
78
+ if CParameter is not None:
79
+ self.setCParameter(CParameter)
80
+ if DParameter is not None:
81
+ self.setDParameter(DParameter)
82
+ if Waviness is not None:
83
+ self.setWaviness(Waviness)
84
+ if ResidualAParameter is not None:
85
+ self.setResidualAParameter(ResidualAParameter)
86
+ if ResidualBParameter is not None:
87
+ self.setResidualBParameter(ResidualBParameter)
88
+ if ResidualCParameter is not None:
89
+ self.setResidualCParameter(ResidualCParameter)
90
+ if ResidualDParameter is not None:
91
+ self.setResidualDParameter(ResidualDParameter)
92
+ if ResidualWaviness is not None:
93
+ self.setResidualWaviness(ResidualWaviness)
94
+ if DilationRatio is not None:
95
+ self.setDilationRatio(DilationRatio)
96
+ if ApplySSRShearStrengthReduction is not None:
97
+ self.setApplySSRShearStrengthReduction(ApplySSRShearStrengthReduction)
98
+
99
+ ################ Code below this line will not be overridden ################
100
+ from rs3.properties.material.constitutiveModel.stiffness.LinearIsotropic import LinearIsotropic
101
+ from rs3.properties.material.constitutiveModel.stiffness.TransverselyIsotropic import TransverselyIsotropic
102
+ from rs3.properties.material.constitutiveModel.stiffness.Orthotropic import Orthotropic
103
+ from rs3.properties.material.constitutiveModel.stiffness.DuncanChangHyperbolic import DuncanChangHyperbolic
104
+ from rs3.properties.material.constitutiveModel.stiffness.NonlinearIsotropic import NonlinearIsotropic
105
+ from rs3.properties.material.constitutiveModel.BaseConstitutiveModel import BaseConstitutiveModel
106
+ from rs3.properties.material.constitutiveModel.UnsaturatedZoneCalculations import UnsaturatedZoneCalculations
107
+ from rs3.properties._PropertyAccessor import PropertyAccessor as BasePropertyAccessor
108
+ import rs3.generatedFiles.MaterialDataService_pb2_grpc as MaterialDataService_pb2_grpc
109
+ from rs3.properties.PropertyEnums import *
110
+ class PowerCurve(PowerCurveBase, BaseConstitutiveModel):
111
+ def __init__(self, client: Client, id: str):
112
+ super().__init__(client, id)
113
+ self._stiffnessPropertyAccessor = BasePropertyAccessor(client, id, MaterialDataService_pb2_grpc.MaterialDataServiceStub(self._client.channel))
114
+ self.LinearIsotropicStiffness = LinearIsotropic(client, id)
115
+ self.TransverselyIsotropicStiffness = TransverselyIsotropic(client, id)
116
+ self.OrthotropicStiffness = Orthotropic(client, id)
117
+ self.DuncanChangHyperbolicStiffness = DuncanChangHyperbolic(client, id)
118
+ self.NonlinearIsotropicStiffness = NonlinearIsotropic(client, id)
119
+ self.UnsaturatedZoneCalculations = UnsaturatedZoneCalculations(client, id)
@@ -0,0 +1,214 @@
1
+ # Generated by RPCBinder in RFC_Common.
2
+ from rs3._client import Client
3
+ from ._PropertyAccessor import PropertyAccessor
4
+ from rs3._proxyObject import _ProxyObject
5
+ from rs3.properties.IPropertyGroupAccessors import IPropertyGroupAccessors
6
+ class ShansepBase(_ProxyObject, IPropertyGroupAccessors):
7
+ def __init__(self, client: Client, id: str):
8
+ super().__init__(client, id)
9
+ self._propertyAccessor = PropertyAccessor(client, id)
10
+ def getAParameter(self) -> float:
11
+ return self._propertyAccessor.getDoubleProperty("AParameter")
12
+ def setAParameter(self, value: float):
13
+ self._propertyAccessor.setDoubleProperty("AParameter", value)
14
+ def getResidualAParameter(self) -> float:
15
+ return self._propertyAccessor.getDoubleProperty("AParameterRes")
16
+ def setResidualAParameter(self, value: float):
17
+ self._propertyAccessor.setDoubleProperty("AParameterRes", value)
18
+ def getSParameter(self) -> float:
19
+ return self._propertyAccessor.getDoubleProperty("SParameter")
20
+ def setSParameter(self, value: float):
21
+ self._propertyAccessor.setDoubleProperty("SParameter", value)
22
+ def getResidualSParameter(self) -> float:
23
+ return self._propertyAccessor.getDoubleProperty("SParameterRes")
24
+ def setResidualSParameter(self, value: float):
25
+ self._propertyAccessor.setDoubleProperty("SParameterRes", value)
26
+ def getMParameter(self) -> float:
27
+ return self._propertyAccessor.getDoubleProperty("MParameter")
28
+ def setMParameter(self, value: float):
29
+ self._propertyAccessor.setDoubleProperty("MParameter", value)
30
+ def getResidualMParameter(self) -> float:
31
+ return self._propertyAccessor.getDoubleProperty("MParameterRes")
32
+ def setResidualMParameter(self, value: float):
33
+ self._propertyAccessor.setDoubleProperty("MParameterRes", value)
34
+ def getMaximumShearStrength(self) -> float:
35
+ return self._propertyAccessor.getDoubleProperty("ShearStrength")
36
+ def setMaximumShearStrength(self, value: float):
37
+ self._propertyAccessor.setDoubleProperty("ShearStrength", value)
38
+ def getResidualTensileStrength(self) -> float:
39
+ return self._propertyAccessor.getDoubleProperty("TensileStrengthRes")
40
+ def setResidualTensileStrength(self, value: float):
41
+ self._propertyAccessor.setDoubleProperty("TensileStrengthRes", value)
42
+ def getStressHistoryConstant(self) -> float:
43
+ return self._propertyAccessor.getDoubleProperty("Constant")
44
+ def setStressHistoryConstant(self, value: float):
45
+ self._propertyAccessor.setDoubleProperty("Constant", value)
46
+ def getTensileStrength(self) -> float:
47
+ return self._propertyAccessor.getDoubleProperty("TensileStrength")
48
+ def setTensileStrength(self, value: float):
49
+ self._propertyAccessor.setDoubleProperty("TensileStrength", value)
50
+ def getUseMaximumShearStrength(self) -> bool:
51
+ return self._propertyAccessor.getBoolValue("UseMaxShearStrength")
52
+ def setUseMaximumShearStrength(self, value: bool):
53
+ self._propertyAccessor.setBoolValue("UseMaxShearStrength", value)
54
+ def getUseTensileStrength(self) -> bool:
55
+ return self._propertyAccessor.getBoolValue("UseTensileStrength")
56
+ def setUseTensileStrength(self, value: bool):
57
+ self._propertyAccessor.setBoolValue("UseTensileStrength", value)
58
+ def getUseMaterialDependentStress(self) -> bool:
59
+ return self._propertyAccessor.getBoolValue("UseMaterialDependantStress")
60
+ def setUseMaterialDependentStress(self, value: bool):
61
+ self._propertyAccessor.setBoolValue("UseMaterialDependantStress", value)
62
+ def getResidualMaximumShearStrength(self) -> float:
63
+ return self._propertyAccessor.getDoubleProperty("ShearStrengthRes")
64
+ def setResidualMaximumShearStrength(self, value: float):
65
+ self._propertyAccessor.setDoubleProperty("ShearStrengthRes", value)
66
+ def getApplySSRShearStrengthReduction(self) -> bool:
67
+ return self._propertyAccessor.getBoolValue("UseSSR")
68
+ def setApplySSRShearStrengthReduction(self, value: bool):
69
+ self._propertyAccessor.setBoolValue("UseSSR", value)
70
+ def getProperties(self):
71
+ return {
72
+ "AParameter": self.getAParameter(),
73
+ "ResidualAParameter": self.getResidualAParameter(),
74
+ "SParameter": self.getSParameter(),
75
+ "ResidualSParameter": self.getResidualSParameter(),
76
+ "MParameter": self.getMParameter(),
77
+ "ResidualMParameter": self.getResidualMParameter(),
78
+ "MaximumShearStrength": self.getMaximumShearStrength(),
79
+ "ResidualTensileStrength": self.getResidualTensileStrength(),
80
+ "StressHistoryConstant": self.getStressHistoryConstant(),
81
+ "TensileStrength": self.getTensileStrength(),
82
+ "UseMaximumShearStrength": self.getUseMaximumShearStrength(),
83
+ "UseTensileStrength": self.getUseTensileStrength(),
84
+ "UseMaterialDependentStress": self.getUseMaterialDependentStress(),
85
+ "ResidualMaximumShearStrength": self.getResidualMaximumShearStrength(),
86
+ "ApplySSRShearStrengthReduction": self.getApplySSRShearStrengthReduction(),
87
+ }
88
+ def setProperties(self, AParameter: float = None, ResidualAParameter: float = None, SParameter: float = None, ResidualSParameter: float = None, MParameter: float = None, ResidualMParameter: float = None, MaximumShearStrength: float = None, ResidualTensileStrength: float = None, StressHistoryConstant: float = None, TensileStrength: float = None, UseMaximumShearStrength: bool = None, UseTensileStrength: bool = None, UseMaterialDependentStress: bool = None, ResidualMaximumShearStrength: float = None, ApplySSRShearStrengthReduction: bool = None):
89
+ if AParameter is not None:
90
+ self.setAParameter(AParameter)
91
+ if ResidualAParameter is not None:
92
+ self.setResidualAParameter(ResidualAParameter)
93
+ if SParameter is not None:
94
+ self.setSParameter(SParameter)
95
+ if ResidualSParameter is not None:
96
+ self.setResidualSParameter(ResidualSParameter)
97
+ if MParameter is not None:
98
+ self.setMParameter(MParameter)
99
+ if ResidualMParameter is not None:
100
+ self.setResidualMParameter(ResidualMParameter)
101
+ if MaximumShearStrength is not None:
102
+ self.setMaximumShearStrength(MaximumShearStrength)
103
+ if ResidualTensileStrength is not None:
104
+ self.setResidualTensileStrength(ResidualTensileStrength)
105
+ if StressHistoryConstant is not None:
106
+ self.setStressHistoryConstant(StressHistoryConstant)
107
+ if TensileStrength is not None:
108
+ self.setTensileStrength(TensileStrength)
109
+ if UseMaximumShearStrength is not None:
110
+ self.setUseMaximumShearStrength(UseMaximumShearStrength)
111
+ if UseTensileStrength is not None:
112
+ self.setUseTensileStrength(UseTensileStrength)
113
+ if UseMaterialDependentStress is not None:
114
+ self.setUseMaterialDependentStress(UseMaterialDependentStress)
115
+ if ResidualMaximumShearStrength is not None:
116
+ self.setResidualMaximumShearStrength(ResidualMaximumShearStrength)
117
+ if ApplySSRShearStrengthReduction is not None:
118
+ self.setApplySSRShearStrengthReduction(ApplySSRShearStrengthReduction)
119
+
120
+ ################ Code below this line will not be overridden ################
121
+ from rs3.properties.material.constitutiveModel.stiffness.LinearIsotropic import LinearIsotropic
122
+ from rs3.properties.material.constitutiveModel.stiffness.TransverselyIsotropic import TransverselyIsotropic
123
+ from rs3.properties.material.constitutiveModel.stiffness.Orthotropic import Orthotropic
124
+ from rs3.properties.material.constitutiveModel.stiffness.DuncanChangHyperbolic import DuncanChangHyperbolic
125
+ from rs3.properties.material.constitutiveModel.stiffness.NonlinearIsotropic import NonlinearIsotropic
126
+ from rs3.properties.material.constitutiveModel.BaseConstitutiveModel import BaseConstitutiveModel
127
+ from rs3.properties.material.constitutiveModel.UnsaturatedZoneCalculations import UnsaturatedZoneCalculations
128
+ from rs3.properties._PropertyAccessor import PropertyAccessor as BasePropertyAccessor
129
+ import rs3.generatedFiles.MaterialDataService_pb2_grpc as MaterialDataService_pb2_grpc
130
+ import rs3.generatedFiles.MaterialStrengthService_pb2_grpc as MaterialStrengthService_pb2_grpc
131
+ import rs3.generatedFiles.MaterialStrengthService_pb2 as MaterialStrengthService_pb2
132
+ from rs3.properties.PropertyEnums import *
133
+ class Shansep(ShansepBase, BaseConstitutiveModel):
134
+ def __init__(self, client: Client, id: str):
135
+ super().__init__(client, id)
136
+ self._stub = MaterialStrengthService_pb2_grpc.MaterialStrengthServiceStub(client.channel)
137
+ self._stiffnessPropertyAccessor = BasePropertyAccessor(client, id, MaterialDataService_pb2_grpc.MaterialDataServiceStub(self._client.channel))
138
+ self.LinearIsotropicStiffness = LinearIsotropic(client, id)
139
+ self.TransverselyIsotropicStiffness = TransverselyIsotropic(client, id)
140
+ self.OrthotropicStiffness = Orthotropic(client, id)
141
+ self.DuncanChangHyperbolicStiffness = DuncanChangHyperbolic(client, id)
142
+ self.NonlinearIsotropicStiffness = NonlinearIsotropic(client, id)
143
+ self.UnsaturatedZoneCalculations = UnsaturatedZoneCalculations(client, id)
144
+
145
+ def getStressHistoryType(self) -> StressHistoryTypes:
146
+ return self._propertyAccessor.getEnumValue("StressHistoryType", StressHistoryTypes)
147
+ def setStressHistoryType(self, StressHistoryType: StressHistoryTypes):
148
+ return self._propertyAccessor.setEnumValue("StressHistoryType", StressHistoryType.value)
149
+
150
+ def getStressHistoryTypeMethod(self) -> StressHistoryDefinitionMethods:
151
+ return self._propertyAccessor.getEnumValue("StressHistoryTypeMethod", StressHistoryDefinitionMethods)
152
+ def setStressHistoryTypeMethod(self, StressHistoryTypeMethod: StressHistoryDefinitionMethods):
153
+ return self._propertyAccessor.setEnumValue("StressHistoryTypeMethod", StressHistoryTypeMethod.value)
154
+
155
+ def getShansepMaterialDependentVerticalStress(self) -> list[tuple[str, float]]:
156
+ """
157
+ Retrieve the material dependant stress function points for the current material.
158
+
159
+ Returns:
160
+ list[tuple[str, float]]:
161
+ A list of tuples, where each tuple contains:
162
+ - materialName (str): The material name.
163
+ - vertucalStressFactor (float): The corresponding vertical stress factor.
164
+ """
165
+ request = MaterialStrengthService_pb2.GetMaterialDependentVerticalStressFactorPropertyRequest(objectId=self._objectId)
166
+ response : MaterialStrengthService_pb2.GetMaterialDependentVerticalStressFactorPropertyResponse = self._client.callFunction(self._stub.GetMaterialDependentVerticalStressFactorProperty, request)
167
+ return list((p.materialName, p.verticalStessFactor) for p in response.point)
168
+ def setShansepMaterialDependentVerticalStress(self, value: list[tuple[str, float]]):
169
+ """
170
+ Set the material dependant stress function points for the current material.
171
+
172
+ Args:
173
+ value (list[tuple[str, float]]):
174
+ A list of tuples, where each tuple contains:
175
+ - materialName (str): The material name.
176
+ - vertucalStressFactor (float): The corresponding vertical stress factor.
177
+ """
178
+ materialDependentStressList = []
179
+ for materialName, verticalStessFactor in value:
180
+ verticalStressPoint = MaterialStrengthService_pb2.MaterialDependentVerticalStressPoint(materialName=materialName, verticalStessFactor=verticalStessFactor)
181
+ materialDependentStressList.append(verticalStressPoint)
182
+ request = MaterialStrengthService_pb2.SetMaterialDependentVerticalStressFactorPropertyRequest(objectId=self._objectId, point=materialDependentStressList)
183
+ self._client.callFunction(self._stub.SetMaterialDependentVerticalStressFactorProperty, request)
184
+
185
+ def getShansepStressHistory(self) -> list[tuple[float, float]]:
186
+ """
187
+ Retrieve the stress history points for the current material.
188
+
189
+ Returns:
190
+ list[tuple[float, float]]:
191
+ A list of tuples, where each tuple contains:
192
+ - depth/elevation (float): The depth or elevation value.
193
+ - OCR/Pc (float): The corresponding overconsolidation ratio (OCR) value or preconsolidation pressure.
194
+ """
195
+ request = MaterialStrengthService_pb2.GetStressHistoryPropertyRequest(objectId=self._objectId)
196
+ response : MaterialStrengthService_pb2.GetStressHistoryPropertyResponse = self._client.callFunction(self._stub.GetStressHistoryProperty, request)
197
+ return (StressHistoryDefinitionMethods(response.header.column1), StressHistoryTypes(response.header.column2)), [(p.z, p.stressHistoryVal) for p in response.point]
198
+ def setShansepStressHistory(self, headerList : tuple[StressHistoryDefinitionMethods, StressHistoryTypes], value: list[tuple[float, float]]):
199
+ """
200
+ Set the stress history function points for the current material.
201
+
202
+ Args:
203
+ value (list[tuple[float, float]]):
204
+ A list of tuples, where each tuple contains:
205
+ - depth/elevation (float): The depth or elevation value.
206
+ - OCR/Pc (float): The corresponding overconsolidation ratio (OCR) value or preconsolidation pressure.
207
+ """
208
+ stressHistoryList = []
209
+ for z, stressHistoryVal in value:
210
+ verticalStressPoint = MaterialStrengthService_pb2.StressHistoryPoint(z=z, stressHistoryVal=stressHistoryVal)
211
+ stressHistoryList.append(verticalStressPoint)
212
+ headerListVal = MaterialStrengthService_pb2.StressHistoryHeader(column1=headerList[0].value, column2=headerList[1].value)
213
+ request = MaterialStrengthService_pb2.SetStressHistoryPropertyRequest(objectId=self._objectId, header=headerListVal, point=stressHistoryList)
214
+ self._client.callFunction(self._stub.SetStressHistoryProperty, request)