NaxToPy 2.2.3__tar.gz → 3.1.0__tar.gz

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 (177) hide show
  1. {naxtopy-2.2.3/src/NaxToPy.egg-info → naxtopy-3.1.0}/PKG-INFO +37 -9
  2. {naxtopy-2.2.3 → naxtopy-3.1.0}/README.md +33 -6
  3. {naxtopy-2.2.3 → naxtopy-3.1.0}/pyproject.toml +2 -2
  4. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PAbaqusInputData.py +59 -17
  5. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PComponent.py +171 -73
  6. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PConnector.py +30 -13
  7. naxtopy-3.1.0/src/NaxToPy/Core/Classes/N2PCoord.py +122 -0
  8. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PElement.py +45 -22
  9. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PFreeBody.py +64 -24
  10. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PIncrement.py +3 -1
  11. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PLoadCase.py +72 -41
  12. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PMaterial.py +20 -58
  13. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PNastranInputData.py +218 -54
  14. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PNode.py +25 -33
  15. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PProperty.py +232 -33
  16. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PReport.py +17 -8
  17. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PResult.py +15 -22
  18. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PSection.py +1 -1
  19. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Constants/Constants.py +9 -6
  20. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Errors/N2PLog.py +1028 -203
  21. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/N2PModelContent.py +673 -240
  22. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Reference_Finder/__Reference_Finder.py +18 -4
  23. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Modules/common/data_input_hdf5.py +71 -13
  24. naxtopy-3.1.0/src/NaxToPy/Modules/common/hdf5.py +313 -0
  25. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Modules/common/material.py +282 -30
  26. naxtopy-3.1.0/src/NaxToPy/Modules/common/model_processor.py +294 -0
  27. naxtopy-3.1.0/src/NaxToPy/Modules/common/property.py +1521 -0
  28. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/airbus/core_shear_crimping_airbus.py +5 -0
  29. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/airbus/dimpling_airbus.py +31 -0
  30. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/airbus/wrinkling_airbus.py +45 -0
  31. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/cmh/core_shear_crimping_cmh.py +4 -0
  32. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/cmh/dimpling_cmh.py +31 -0
  33. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/cmh/wrinkling_cmh.py +29 -0
  34. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/hsb/wrinkling_hsb.py +11 -0
  35. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/hypersizer/__init__.py +2 -0
  36. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/hypersizer/crimping_hypersizer.py +32 -0
  37. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/hypersizer/dimpling_hypersizer.py +54 -0
  38. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/hypersizer/wrinkling_hypersizer.py +62 -0
  39. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/nasa/__init__.py +2 -0
  40. naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/nasa/wrinkling_nasa.py +14 -0
  41. naxtopy-3.1.0/src/NaxToPy/Modules/static/composite/__init__.py +2 -0
  42. naxtopy-3.1.0/src/NaxToPy/Modules/static/composite/delamination/N2PEdgeDelamination.py +1390 -0
  43. naxtopy-3.1.0/src/NaxToPy/Modules/static/composite/failure_analysis/N2PCompositeFailure.py +2065 -0
  44. naxtopy-3.1.0/src/NaxToPy/Modules/static/composite/sandwich/N2PSandwich.py +1860 -0
  45. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/N2PCalculatorRFJoints.py +1186 -0
  46. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/N2PCompRF.py +975 -0
  47. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/N2PGetFasteners.py +492 -0
  48. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/N2PGetLoadFasteners.py +2305 -0
  49. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/N2PMetalRF.py +680 -0
  50. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/N2PRivetRF.py +625 -0
  51. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/N2PUpdateFastener.py +131 -168
  52. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetAttachments.py +113 -0
  53. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetResults.py +151 -0
  54. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PInterpolation.py +134 -0
  55. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysis/Core/Functions/N2PLoadModel.py +22 -4
  56. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PRotation.py +330 -0
  57. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Classes/ARBolt.py +5 -5
  58. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Classes/ARPlate.py +1 -1
  59. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARFileInputRivetsIDs.py +1 -1
  60. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARGetAttachments.py +3 -3
  61. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARGetBolts.py +5 -5
  62. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARSerialize.py +2 -2
  63. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/__init__.py +0 -0
  64. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/__init__.py +4 -0
  65. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/Joints → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/joints}/N2PAttachment.py +60 -31
  66. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/Joints → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/joints}/N2PBolt.py +57 -37
  67. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/joints/N2PFastenerSystem.py +392 -0
  68. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/joints/N2PJoint.py +560 -0
  69. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/joints/N2PJointAnalysisParameters.py +860 -0
  70. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/joints/N2PPlate.py +1025 -0
  71. naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/joints/__init__.py +0 -0
  72. naxtopy-3.1.0/src/NaxToPy/Modules/static/metallic/__init__.py +2 -0
  73. naxtopy-3.1.0/src/NaxToPy/Modules/static/metallic/neuber/N2PNeuber.py +1036 -0
  74. naxtopy-3.1.0/src/NaxToPy/Modules/static/metallic/neuber/__init__.py +0 -0
  75. naxtopy-3.1.0/src/NaxToPy/__init__.py +9 -0
  76. {naxtopy-2.2.3 → naxtopy-3.1.0/src/NaxToPy.egg-info}/PKG-INFO +37 -9
  77. naxtopy-3.1.0/src/NaxToPy.egg-info/SOURCES.txt +159 -0
  78. naxtopy-2.2.3/src/NaxToPy/Core/Classes/N2PCoord.py +0 -82
  79. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/Joints/N2PJoint.py +0 -1444
  80. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/Joints/N2PPlate.py +0 -887
  81. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/N2PGetFasteners.py +0 -287
  82. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/N2PGetLoadFasteners.py +0 -1177
  83. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetAttachments.py +0 -92
  84. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetResults.py +0 -152
  85. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysis/Core/Functions/N2PInterpolation.py +0 -149
  86. naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysis/Core/Functions/N2PRotation.py +0 -406
  87. naxtopy-2.2.3/src/NaxToPy/Modules/N2PNeuber/N2PNeuber.py +0 -595
  88. naxtopy-2.2.3/src/NaxToPy/Modules/common/aux_funcitons.py +0 -31
  89. naxtopy-2.2.3/src/NaxToPy/Modules/common/aux_functions.py +0 -155
  90. naxtopy-2.2.3/src/NaxToPy/Modules/common/hdf5.py +0 -259
  91. naxtopy-2.2.3/src/NaxToPy/Modules/common/property.py +0 -9
  92. naxtopy-2.2.3/src/NaxToPy/__init__.py +0 -10
  93. naxtopy-2.2.3/src/NaxToPy.egg-info/SOURCES.txt +0 -132
  94. {naxtopy-2.2.3 → naxtopy-3.1.0}/LICENSE +0 -0
  95. {naxtopy-2.2.3 → naxtopy-3.1.0}/setup.cfg +0 -0
  96. {naxtopy-2.2.3 → naxtopy-3.1.0}/setup.py +0 -0
  97. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntity.py +0 -0
  98. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityElement.py +0 -0
  99. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityNode.py +0 -0
  100. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityShell.py +0 -0
  101. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQEntities/__init__.py +0 -0
  102. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeyword.py +0 -0
  103. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordBEAMSECTION.py +0 -0
  104. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordCOUPLING.py +0 -0
  105. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDENSITY.py +0 -0
  106. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDISTRIBUTING.py +0 -0
  107. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDISTRIBUTINGCOUPLING.py +0 -0
  108. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELASTIC.py +0 -0
  109. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELEMENT.py +0 -0
  110. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELSET.py +0 -0
  111. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordENDINSTANCE.py +0 -0
  112. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordENDPART.py +0 -0
  113. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordINSTANCE.py +0 -0
  114. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordKINEMATIC.py +0 -0
  115. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordKINEMATICCOUPLING.py +0 -0
  116. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordMATERIAL.py +0 -0
  117. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordNODE.py +0 -0
  118. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordNSET.py +0 -0
  119. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordORIENTATION.py +0 -0
  120. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordPART.py +0 -0
  121. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordPLASTIC.py +0 -0
  122. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSHELLSECTION.py +0 -0
  123. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSOLIDSECTION.py +0 -0
  124. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSURFACE.py +0 -0
  125. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ABQKeywords/__init__.py +0 -0
  126. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/AllClasses.py +0 -0
  127. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/N2PSet.py +0 -0
  128. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/ProgresBar.py +0 -0
  129. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Classes/__init__.py +0 -0
  130. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Constants/__init__.py +0 -0
  131. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Constants/librerias.py +0 -0
  132. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Errors/N2PColors.py +0 -0
  133. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Errors/N2PFileHandler.py +0 -0
  134. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Errors/__init__.py +0 -0
  135. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/Reference_Finder/__init__.py +0 -0
  136. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/_AuxFunc/_NetToPython.py +0 -0
  137. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/_AuxFunc/__init__.py +0 -0
  138. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Core/__init__.py +0 -0
  139. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Modules/__init__.py +0 -0
  140. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Modules/common/__init__.py +0 -0
  141. {naxtopy-2.2.3/src/NaxToPy/Modules/N2PEnvelope → naxtopy-3.1.0/src/NaxToPy/Modules/envelope}/N2PEnvelope.py +0 -0
  142. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/Joints → naxtopy-3.1.0/src/NaxToPy/Modules/envelope}/__init__.py +0 -0
  143. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/Modules/handbooks/__init__.py +0 -0
  144. {naxtopy-2.2.3/src/NaxToPy/Modules/handbooks/bruhn → naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/airbus}/__init__.py +0 -0
  145. {naxtopy-2.2.3/src/NaxToPy/Modules/handbooks/cmh → naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/bruhn}/__init__.py +0 -0
  146. {naxtopy-2.2.3/src/NaxToPy/Modules/handbooks/esdu → naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/cmh}/__init__.py +0 -0
  147. {naxtopy-2.2.3/src/NaxToPy/Modules/handbooks/hsb → naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/esdu}/__init__.py +0 -0
  148. {naxtopy-2.2.3/src/NaxToPy/Modules/handbooks/nasa → naxtopy-3.1.0/src/NaxToPy/Modules/handbooks/hsb}/__init__.py +0 -0
  149. {naxtopy-2.2.3/src/NaxToPy/Modules/N2PtoEXE → naxtopy-3.1.0/src/NaxToPy/Modules/n2ptoexe}/N2PtoEXE.py +0 -0
  150. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes → naxtopy-3.1.0/src/NaxToPy/Modules/n2ptoexe}/__init__.py +0 -0
  151. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysis/Core/Functions → naxtopy-3.1.0/src/NaxToPy/Modules/static}/__init__.py +0 -0
  152. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysis/Core → naxtopy-3.1.0/src/NaxToPy/Modules/static/composite/delamination}/__init__.py +0 -0
  153. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysis → naxtopy-3.1.0/src/NaxToPy/Modules/static/composite/failure_analysis}/__init__.py +0 -0
  154. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysisDeprecated → naxtopy-3.1.0/src/NaxToPy/Modules/static/composite/sandwich}/__init__.py +0 -0
  155. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/N2PFastenerAnalysis.py +0 -0
  156. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions}/__init__.py +0 -0
  157. {naxtopy-2.2.3/src/NaxToPy/Modules/N2PEnvelope → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core}/__init__.py +0 -0
  158. {naxtopy-2.2.3/src/NaxToPy/Modules/N2PNeuber → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis}/__init__.py +0 -0
  159. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Check/Validation.py +0 -0
  160. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Classes/AR1DElement.py +0 -0
  161. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Classes/ARAttachment.py +0 -0
  162. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Classes/ARPlateElements.py +0 -0
  163. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes}/__init__.py +0 -0
  164. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARAuxiliarFunctions.py +0 -0
  165. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARBilinearInterpolation.py +0 -0
  166. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARConfigurationInput.py +0 -0
  167. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARDerivedLoadCases.py +0 -0
  168. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARReadResultsFromFile.py +0 -0
  169. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARResults.py +0 -0
  170. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners}/_N2PFastenerAnalysisDeprecated/Core/Functions/ARRotation.py +0 -0
  171. {naxtopy-2.2.3/src/NaxToPy/Modules/Fasteners/_N2PFastenerAnalysisDeprecated/Core → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions}/__init__.py +0 -0
  172. {naxtopy-2.2.3/src/NaxToPy/Modules/N2PtoEXE → naxtopy-3.1.0/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core}/__init__.py +0 -0
  173. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/NaxToPy.ico +0 -0
  174. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy/user_functions.txt +0 -0
  175. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy.egg-info/dependency_links.txt +0 -0
  176. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy.egg-info/requires.txt +0 -0
  177. {naxtopy-2.2.3 → naxtopy-3.1.0}/src/NaxToPy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: NaxToPy
3
- Version: 2.2.3
3
+ Version: 3.1.0
4
4
  Summary: Package for postprocessing FEM results in Python
5
5
  Home-page: https://www.idaerosolutions.com/Home/NaxToPy
6
6
  Download-URL: https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US
@@ -107,7 +107,7 @@ License: Copyright (c) 2024 Idaero Solutions
107
107
 
108
108
  The above copyright notice and this permission notice shall be included in all
109
109
  copies or substantial portions of the Software.
110
- Project-URL: Documentation, https://www.idaerosolutions.com/NaxToPyDoc/index.html
110
+ Project-URL: Documentation, https://www.idaerosolutions.com/NaxToDocumentation/NaxToPy/3.1.0/index.html
111
111
  Project-URL: LinkedIn, https://www.linkedin.com/company/idaero/
112
112
  Keywords: NaxTo,Postprocessing,FEM
113
113
  Classifier: Intended Audience :: Science/Research
@@ -124,10 +124,11 @@ Requires-Dist: setuptools>=67.8.0
124
124
  Requires-Dist: h5py>=3.12.1
125
125
  Dynamic: download-url
126
126
  Dynamic: home-page
127
+ Dynamic: license-file
127
128
 
128
129
  [![Idaero](https://img.shields.io/badge/powered%20by-Idaero%20Solutions-299797)](https://idaerosolutions.com)
129
130
  [![PyPi](https://img.shields.io/pypi/v/NaxToPy?color=ffd500)](https://pypi.org/project/NaxToPy/)
130
- [![Python](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-00699d)](https://www.python.org/downloads/)
131
+ [![Python](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-00699d)](https://www.python.org/downloads/)
131
132
  ![License](https://img.shields.io/badge/license-proprietary-red)
132
133
  [![MicrosoftStore](https://img.shields.io/badge/Microsoft%20Store-NaxTo-blue?logo=microsoftstore&logoColor=blue&labelColor=lightgrey)](https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US)
133
134
  [![PyPi - Downloads](https://img.shields.io/pypi/dm/NaxToPy?color=dgreen)](https://pypi.org/project/NaxToPy/#files)
@@ -151,10 +152,10 @@ additional software beyond NaxTo (see the Download and Homepage links on the lef
151
152
  ---------------
152
153
 
153
154
  ⚠️**Warning:** To use NaxToPy, [**NaxTo**](https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US) must be installed.
154
- This version is compatible with **NaxTo 2024.3**. It is compatible with all the steps of this version (2024.3.0, 2024.3.1).
155
+ This version is compatible with **NaxTo 2025.1**.
155
156
  Check in _Programs and Features_ the NaxTo version that is installed.
156
157
 
157
- 📘**Note:** If a specific NaxTo version is installed, search the [**NaxToPy History**](https://pypi.org/project/NaxToPy/2.2.1/#history) to find which newer version is compatible with it.
158
+ 📘**Note:** If a specific NaxTo version is installed, search the [**NaxToPy History**](https://pypi.org/project/NaxToPy/3.1.0/#history) to find which newer version is compatible with it.
158
159
 
159
160
 
160
161
  ## Installation
@@ -327,12 +328,36 @@ is redundant. The coordinate system will prevail.
327
328
  8. BugFix: The method get_elements_attached() is fixed so when there are MPC connectors with the same ID.
328
329
 
329
330
  ### v.2.2.3
330
- 1. Requirement: Now NaxToPy require the package [**h5py** ](https://pypi.org/project/h5py/).
331
+ 1. Requirement: Now NaxToPy require the package [**h5py**](https://pypi.org/project/h5py/).
331
332
  2. Feat: N2PGetLoadFastener now can use PAG method and display format.
332
333
  3. BugFix: Some bugs are solved in N2PGetFastener and N2PGetLoadFastener.
333
334
  4. Feat: N2PGetLoadFastener can export results in HDF5 format.
334
335
  5. BugFix: The filtering in the method get_result_by_LCs_Incr() in elements when results are in Corner Data is fixed.
335
336
 
337
+ ### v.3.0.0
338
+ 1. Feat: Now it is supported more properties from Nastran: PBAR, PBARL, PBEAM, PBEAML, PBUSH, PWELD, PELAS, PFAST, PMASS, PGAP. They are kept as N2PBeam, N2PBeamL, N2PBush, N2PWeld, N2PElas, N2PFast, N2PMass, N2PGap.
339
+ 2. Feat: Now it is supported more properties from Abaqus: *BEAM SECTION and *BEAM GENERAL SECTION as N2PBeamL and N2PBeam.
340
+ 3. Feat: Overloaded `get_result_by_LCs_Incr()` to accept a list of components. It load multiple components and load cases of the same result in parallel, improving efficiency.
341
+ 4. Feat: New property N2PComp.EqQBenMatrix that returns the equivalent stifness matrix for bending.
342
+ 5. Feat: Added `N2PComp.EqMemProps` and `N2PComp.EqBenProps` properties to return equivalent engineering values (Ex, Ey, G, and ν) for membrane and bending behavior, respectively.
343
+ 6. Feat: Added two new methods in `N2PModelContent`: `get_material()` and `get_property()` to search easelly for materials and properties.
344
+ 7. Feat: new method in `N2PModelContent`: `get_elements_filtered()`. It returns a list of `N2PElement` that matches a material, property, part or type-element.
345
+ 8. Feat: New checks in the results methods to avoid invalid parameters.
346
+
347
+ ### v.3.1.0
348
+ 1. Feat: New optional argument in `load_model()` called **loadconnectors**. True by default.
349
+ 2. Feat: New module N2PNeuber to obtain stresses using the Neuber method.
350
+ 3. Feat: New module N2PSandwich to calculate sandwich structures failure modes.
351
+ 4. Feat: New module N2PCompositeFailure for evaluating structural failure in laminates.
352
+ 5. Feat: New module N2PEdgeDelamination to obtain interlaminar stresses and RF from edge delamination.
353
+ 6. Feat: New module N2PCalculatorRFJoints manages the Reserve Factor (RF) calculation process of the joints obtained through the modules N2PGetFasteners and N2PGetLoadFasteners.
354
+ 7. Feat: New module N2PUpdateFastener provides methods to update rivet and bolt stiffness and generate a new FEM Input File (.bdf, .fem, .dat, etc.) file with the updated data.
355
+ 8. BugFix: Several bugs are fixed in N2PGetFastener and N2PGetLoadFastener modules.
356
+ 9. Feat: Extra information in the log when the NaxToPy is running from a executable.
357
+ 10. Feat: `N2PLoadModelContent.SetList` is now an encapsulated property.
358
+ 11. Refactor: the method `N2PLoadModelContent.get_result_by_LCs_Incr()` is optimized.
359
+
360
+
336
361
  # Documentation
337
362
 
338
363
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -550,7 +575,10 @@ For more documentation visit https://idaerosolutions.com/Home/NaxToPy
550
575
 
551
576
  Reference Guide at: https://www.idaerosolutions.com/NaxToPyDoc/NaxToPy.html
552
577
 
553
-
554
578
  # License
555
579
 
556
- Copyright is owned by Idaero Solutions©
580
+ See the license in Python\Lib\site-packages\NaxToPy-{version}.dist-info\LICENSE or executing the command `python -m pip show NaxToPy`
581
+
582
+ -------------
583
+
584
+ <p align="center"> <img src="https://www.idaerosolutions.com/images/web/Idaero.png" alt="Idaero Icon" width=200></p><div align="center">© 2025 Idaero Solutions S.L. All rights reserved.</div>
@@ -1,6 +1,6 @@
1
1
  [![Idaero](https://img.shields.io/badge/powered%20by-Idaero%20Solutions-299797)](https://idaerosolutions.com)
2
2
  [![PyPi](https://img.shields.io/pypi/v/NaxToPy?color=ffd500)](https://pypi.org/project/NaxToPy/)
3
- [![Python](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-00699d)](https://www.python.org/downloads/)
3
+ [![Python](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-00699d)](https://www.python.org/downloads/)
4
4
  ![License](https://img.shields.io/badge/license-proprietary-red)
5
5
  [![MicrosoftStore](https://img.shields.io/badge/Microsoft%20Store-NaxTo-blue?logo=microsoftstore&logoColor=blue&labelColor=lightgrey)](https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US)
6
6
  [![PyPi - Downloads](https://img.shields.io/pypi/dm/NaxToPy?color=dgreen)](https://pypi.org/project/NaxToPy/#files)
@@ -24,10 +24,10 @@ additional software beyond NaxTo (see the Download and Homepage links on the lef
24
24
  ---------------
25
25
 
26
26
  ⚠️**Warning:** To use NaxToPy, [**NaxTo**](https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US) must be installed.
27
- This version is compatible with **NaxTo 2024.3**. It is compatible with all the steps of this version (2024.3.0, 2024.3.1).
27
+ This version is compatible with **NaxTo 2025.1**.
28
28
  Check in _Programs and Features_ the NaxTo version that is installed.
29
29
 
30
- 📘**Note:** If a specific NaxTo version is installed, search the [**NaxToPy History**](https://pypi.org/project/NaxToPy/2.2.1/#history) to find which newer version is compatible with it.
30
+ 📘**Note:** If a specific NaxTo version is installed, search the [**NaxToPy History**](https://pypi.org/project/NaxToPy/3.1.0/#history) to find which newer version is compatible with it.
31
31
 
32
32
 
33
33
  ## Installation
@@ -200,12 +200,36 @@ is redundant. The coordinate system will prevail.
200
200
  8. BugFix: The method get_elements_attached() is fixed so when there are MPC connectors with the same ID.
201
201
 
202
202
  ### v.2.2.3
203
- 1. Requirement: Now NaxToPy require the package [**h5py** ](https://pypi.org/project/h5py/).
203
+ 1. Requirement: Now NaxToPy require the package [**h5py**](https://pypi.org/project/h5py/).
204
204
  2. Feat: N2PGetLoadFastener now can use PAG method and display format.
205
205
  3. BugFix: Some bugs are solved in N2PGetFastener and N2PGetLoadFastener.
206
206
  4. Feat: N2PGetLoadFastener can export results in HDF5 format.
207
207
  5. BugFix: The filtering in the method get_result_by_LCs_Incr() in elements when results are in Corner Data is fixed.
208
208
 
209
+ ### v.3.0.0
210
+ 1. Feat: Now it is supported more properties from Nastran: PBAR, PBARL, PBEAM, PBEAML, PBUSH, PWELD, PELAS, PFAST, PMASS, PGAP. They are kept as N2PBeam, N2PBeamL, N2PBush, N2PWeld, N2PElas, N2PFast, N2PMass, N2PGap.
211
+ 2. Feat: Now it is supported more properties from Abaqus: *BEAM SECTION and *BEAM GENERAL SECTION as N2PBeamL and N2PBeam.
212
+ 3. Feat: Overloaded `get_result_by_LCs_Incr()` to accept a list of components. It load multiple components and load cases of the same result in parallel, improving efficiency.
213
+ 4. Feat: New property N2PComp.EqQBenMatrix that returns the equivalent stifness matrix for bending.
214
+ 5. Feat: Added `N2PComp.EqMemProps` and `N2PComp.EqBenProps` properties to return equivalent engineering values (Ex, Ey, G, and ν) for membrane and bending behavior, respectively.
215
+ 6. Feat: Added two new methods in `N2PModelContent`: `get_material()` and `get_property()` to search easelly for materials and properties.
216
+ 7. Feat: new method in `N2PModelContent`: `get_elements_filtered()`. It returns a list of `N2PElement` that matches a material, property, part or type-element.
217
+ 8. Feat: New checks in the results methods to avoid invalid parameters.
218
+
219
+ ### v.3.1.0
220
+ 1. Feat: New optional argument in `load_model()` called **loadconnectors**. True by default.
221
+ 2. Feat: New module N2PNeuber to obtain stresses using the Neuber method.
222
+ 3. Feat: New module N2PSandwich to calculate sandwich structures failure modes.
223
+ 4. Feat: New module N2PCompositeFailure for evaluating structural failure in laminates.
224
+ 5. Feat: New module N2PEdgeDelamination to obtain interlaminar stresses and RF from edge delamination.
225
+ 6. Feat: New module N2PCalculatorRFJoints manages the Reserve Factor (RF) calculation process of the joints obtained through the modules N2PGetFasteners and N2PGetLoadFasteners.
226
+ 7. Feat: New module N2PUpdateFastener provides methods to update rivet and bolt stiffness and generate a new FEM Input File (.bdf, .fem, .dat, etc.) file with the updated data.
227
+ 8. BugFix: Several bugs are fixed in N2PGetFastener and N2PGetLoadFastener modules.
228
+ 9. Feat: Extra information in the log when the NaxToPy is running from a executable.
229
+ 10. Feat: `N2PLoadModelContent.SetList` is now an encapsulated property.
230
+ 11. Refactor: the method `N2PLoadModelContent.get_result_by_LCs_Incr()` is optimized.
231
+
232
+
209
233
  # Documentation
210
234
 
211
235
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -423,7 +447,10 @@ For more documentation visit https://idaerosolutions.com/Home/NaxToPy
423
447
 
424
448
  Reference Guide at: https://www.idaerosolutions.com/NaxToPyDoc/NaxToPy.html
425
449
 
426
-
427
450
  # License
428
451
 
429
- Copyright is owned by Idaero Solutions©
452
+ See the license in Python\Lib\site-packages\NaxToPy-{version}.dist-info\LICENSE or executing the command `python -m pip show NaxToPy`
453
+
454
+ -------------
455
+
456
+ <p align="center"> <img src="https://www.idaerosolutions.com/images/web/Idaero.png" alt="Idaero Icon" width=200></p><div align="center">© 2025 Idaero Solutions S.L. All rights reserved.</div>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "NaxToPy"
7
- version = "2.2.3"
7
+ version = "3.1.0"
8
8
  license = {file = "LICENSE"}
9
9
  authors = [ { name = "Idaero Solutions", email = "manuel.sanchez@idaerosolutions.com" }, ]
10
10
  requires-python = ">=3.9"
@@ -25,7 +25,7 @@ keywords = ["NaxTo",
25
25
  "FEM"]
26
26
 
27
27
  [project.urls]
28
- "Documentation" = "https://www.idaerosolutions.com/NaxToPyDoc/index.html"
28
+ "Documentation" = "https://www.idaerosolutions.com/NaxToDocumentation/NaxToPy/3.1.0/index.html"
29
29
  "LinkedIn" = "https://www.linkedin.com/company/idaero/"
30
30
 
31
31
  [tool.setuptools]
@@ -1,7 +1,7 @@
1
1
  """This module contains classes related with a Abaqus Input File (.inp files). The parent classes are similar but not
2
- the same as the Nastran Input File. Child classes of N2PKeyword are based on Abaqus Keywords Reference Guide"""
2
+ the same as the Nastran Input File. Child classes of N2PKeyword are based on Abaqus Keywords Reference Guide."""
3
3
  from __future__ import annotations # For compatibility with Python 3.9 or higher
4
- from typing import Literal
4
+ from typing import Literal, overload
5
5
 
6
6
  from NaxToPy.Core.Errors.N2PLog import N2PLog
7
7
  from NaxToPy.Core.Classes.N2PNastranInputData import N2PInputData
@@ -10,7 +10,8 @@ from NaxToPy.Core.Classes.ABQEntities import *
10
10
 
11
11
 
12
12
  class N2PAbaqusInputData:
13
- """Class with the complete data of an Abaqus MEF input file (text file usually with the extension .inp).
13
+ """
14
+ Class with the complete data of an Abaqus MEF input file (text file usually with the extension .inp).
14
15
  """
15
16
 
16
17
  __slots__ = (
@@ -48,34 +49,58 @@ class N2PAbaqusInputData:
48
49
  {entityelement: N2PEntityElement(entityelement, self.__dictKeywordToN2P, self.__dictEntityToN2P)
49
50
  for entityelement in inputfiledata.StructuredInfo.ModelElements})
50
51
 
52
+ # Método para optener los objetos N2PCard del Input File -----------------------------------------------------------
51
53
  @property
52
54
  def ListBulkDataKeywords(self) -> list[N2PKeyword, ...]:
53
- """List with the N2PCard objects of the input FEM file. It has all bulk data cards of the model"""
55
+ """
56
+ List with the N2PCard objects of the input FEM file. It has all bulk data cards of the model.
57
+ """
54
58
  return self.__listbulkdatakeywords
59
+ # ------------------------------------------------------------------------------------------------------------------
55
60
 
61
+ # Método para obtener el diccionaro de IDs a FilePaths -------------------------------------------------------------
56
62
  @property
57
63
  def DictionaryIDsFiles(self) -> dict:
64
+ """
65
+ Dictionary with ID (`int`) as keys and FilePaths (`string`) as values.
66
+ """
58
67
  return dict(self.__inputfiledata.DictionaryIDsFiles)
68
+ # ------------------------------------------------------------------------------------------------------------------
59
69
 
70
+ # Método para obtener el diccionario de FilePaths a IDs ------------------------------------------------------------
60
71
  @property
61
72
  def DictionaryFilesIDs(self) -> dict:
73
+ """
74
+ Dictionary FilePaths (`string`) as keys and with ID (`int`) as values.
75
+ """
62
76
  return dict(self.__dictionary_files_ids)
77
+ # ------------------------------------------------------------------------------------------------------------------
63
78
 
79
+ # Método para obtener el tipo de Input File ------------------------------------------------------------------------
64
80
  @property
65
81
  def TypeOfFile(self) -> str:
82
+ """
83
+ Type of Input File.
84
+ """
66
85
  return "ABAQUS"
86
+ # ------------------------------------------------------------------------------------------------------------------
67
87
 
88
+ # Método para obtener la lista de comentarios en el Input File -----------------------------------------------------
68
89
  @property
69
90
  def ListComments(self) -> list[N2PInputData, ]:
70
- """List with all the comments in the FEM Input File"""
91
+ """
92
+ List with all the comments in the FEM Input File.
93
+ """
71
94
  if self.__listcomments:
72
95
  return self.__listcomments
73
96
  else:
74
97
  self.__listcomments = [N2PInputData(i) for i in self.__inputfiledata.StructuredInfo.ModelComments]
75
98
  return self.__listcomments
99
+ # ------------------------------------------------------------------------------------------------------------------
76
100
 
77
101
  def get_keywords_by_type(self, field: KeyWordType) -> list[N2PKeyword,]:
78
- """Method that returns a list with the N2PKeyword objects of the input FEM file asked.
102
+ """
103
+ Method that returns a list with the :class:`N2PKeyword` objects of the input FEM file asked. They can be uppercase or lowecase indistinctly.
79
104
 
80
105
  Args:
81
106
  field: str
@@ -85,36 +110,53 @@ class N2PAbaqusInputData:
85
110
  """
86
111
  if not isinstance(field, str):
87
112
  Exception(N2PLog.Critical.C201())
88
- elif field not in CONSTRUCTABQDICT:
113
+ elif field.upper() not in CONSTRUCTABQDICT:
89
114
  N2PLog.Error.E205()
90
115
  return []
91
116
  else:
92
117
  return [self.__dictKeywordToN2P[keyword] for keyword in self.__inputfiledata.GetKeywordsByType(field)]
93
-
94
- def get_entity_by_key_and_id(self, entitytype: EntityType, entitityid: int) -> list[N2PEntity, ]:
95
- """Method that returns a list with the N2Entities objects of the input FEM file asked. There can be several
96
- Entities with the same ID and EntityType as they can belong to different part.
118
+
119
+ @overload
120
+ def get_entity_by_key_and_id(self, entitytype: EntityType, entitityid: int, part: str) -> N2PEntity: ...
121
+ @overload
122
+ def get_entity_by_key_and_id(self, entitytype: EntityType, entitityid: int) -> list[N2PEntity, ]: ...
123
+ # Actual implementation
124
+ def get_entity_by_key_and_id(self, entitytype, entitityid, part=None):
125
+ """
126
+ Method that returns a list with the :class:`N2PEntities` objects of the input FEM file asked. There can be
127
+ several Entities with the same ID and EntityType as they can belong to different part. If the part is given,
128
+ only a :class:`N2PEntity` will be returned.
97
129
 
98
130
  Args:
99
131
  entitytype: str
100
132
  entitityid: int
133
+ part: str (optional)
101
134
 
102
135
  Returns:
103
- list[N2PKeyword, ]
136
+ N2PEntity || list[N2PEntity, ]
104
137
  """
105
138
  if not isinstance(entitytype, str):
106
139
  Exception(N2PLog.Critical.C201())
107
140
  elif not isinstance(entitityid, int):
108
141
  Exception(N2PLog.Critical.C201())
109
- elif entitytype not in ["NODE", "ELEMENT"]:
110
- N2PLog.Error.E205()
111
- return []
112
- else:
142
+ elif part:
143
+ entity_error = self.__inputfiledata.GetEntitiesByTypeAndId(entitytype, entitityid, part)
144
+ if entity_error.Item2 == 0:
145
+ return self.__dictEntityToN2P[entity_error.Item1]
146
+ elif entity_error.Item2 == -1:
147
+ N2PLog.Error.E205(entitytype)
148
+ elif entity_error.Item2 == -2:
149
+ N2PLog.Error.E241(part)
150
+ elif entity_error.Item2 == -3:
151
+ N2PLog.Error.E242(part, entitityid)
152
+ return None
153
+ else:
113
154
  return [self.__dictEntityToN2P[entitytype]
114
155
  for entitytype in self.__inputfiledata.GetEntitiesByTypeAndId(entitytype, entitityid)]
115
156
 
116
157
  def rebuild_file(self, folder: str) -> None:
117
- """Method that writes the solver input file with the same file structure that was read in the folder is specified
158
+ """
159
+ Method that writes the solver input file with the same file structure that was read in the folder is specified.
118
160
 
119
161
  Args:
120
162
  folder: str -> Path of the folder where the file or files will be writen