NaxToPy 3.1.1__tar.gz → 3.1.2__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 (166) hide show
  1. {naxtopy-3.1.1/src/NaxToPy.egg-info → naxtopy-3.1.2}/PKG-INFO +8 -2
  2. {naxtopy-3.1.1 → naxtopy-3.1.2}/README.md +7 -1
  3. {naxtopy-3.1.1 → naxtopy-3.1.2}/pyproject.toml +1 -1
  4. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PComponent.py +175 -138
  5. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PProperty.py +10 -10
  6. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/N2PModelContent.py +353 -223
  7. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/common/material.py +16 -0
  8. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/common/property.py +46 -1
  9. naxtopy-3.1.2/src/NaxToPy/Modules/static/composite/__init__.py +3 -0
  10. naxtopy-3.1.2/src/NaxToPy/Modules/static/composite/failure_analysis/N2PCompositeFailure.py +2043 -0
  11. naxtopy-3.1.2/src/NaxToPy/Modules/static/composite/failure_analysis/N2PFailureComposite_Vectorisation.py +2742 -0
  12. {naxtopy-3.1.1 → naxtopy-3.1.2/src/NaxToPy.egg-info}/PKG-INFO +8 -2
  13. naxtopy-3.1.1/src/NaxToPy/Modules/static/composite/__init__.py +0 -2
  14. naxtopy-3.1.1/src/NaxToPy/Modules/static/composite/failure_analysis/N2PCompositeFailure.py +0 -2235
  15. naxtopy-3.1.1/src/NaxToPy/Modules/static/composite/failure_analysis/N2PFailureComposite_Vectorisation.py +0 -2040
  16. {naxtopy-3.1.1 → naxtopy-3.1.2}/LICENSE +0 -0
  17. {naxtopy-3.1.1 → naxtopy-3.1.2}/setup.cfg +0 -0
  18. {naxtopy-3.1.1 → naxtopy-3.1.2}/setup.py +0 -0
  19. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntity.py +0 -0
  20. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityElement.py +0 -0
  21. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityNode.py +0 -0
  22. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityShell.py +0 -0
  23. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQEntities/__init__.py +0 -0
  24. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeyword.py +0 -0
  25. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordBEAMSECTION.py +0 -0
  26. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordCOUPLING.py +0 -0
  27. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDENSITY.py +0 -0
  28. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDISTRIBUTING.py +0 -0
  29. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDISTRIBUTINGCOUPLING.py +0 -0
  30. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELASTIC.py +0 -0
  31. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELEMENT.py +0 -0
  32. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELSET.py +0 -0
  33. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordENDINSTANCE.py +0 -0
  34. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordENDPART.py +0 -0
  35. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordINSTANCE.py +0 -0
  36. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordKINEMATIC.py +0 -0
  37. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordKINEMATICCOUPLING.py +0 -0
  38. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordMATERIAL.py +0 -0
  39. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordNODE.py +0 -0
  40. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordNSET.py +0 -0
  41. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordORIENTATION.py +0 -0
  42. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordPART.py +0 -0
  43. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordPLASTIC.py +0 -0
  44. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSHELLSECTION.py +0 -0
  45. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSOLIDSECTION.py +0 -0
  46. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSURFACE.py +0 -0
  47. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ABQKeywords/__init__.py +0 -0
  48. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/AllClasses.py +0 -0
  49. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PAbaqusInputData.py +0 -0
  50. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PConnector.py +0 -0
  51. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PCoord.py +0 -0
  52. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PElement.py +0 -0
  53. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PFreeBody.py +0 -0
  54. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PIncrement.py +0 -0
  55. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PLoadCase.py +0 -0
  56. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PMaterial.py +0 -0
  57. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PNastranInputData.py +0 -0
  58. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PNode.py +0 -0
  59. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PReport.py +0 -0
  60. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PResult.py +0 -0
  61. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PSection.py +0 -0
  62. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/N2PSet.py +0 -0
  63. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/ProgresBar.py +0 -0
  64. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Classes/__init__.py +0 -0
  65. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Constants/Constants.py +0 -0
  66. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Constants/__init__.py +0 -0
  67. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Constants/librerias.py +0 -0
  68. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Errors/N2PColors.py +0 -0
  69. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Errors/N2PFileHandler.py +0 -0
  70. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Errors/N2PLog.py +0 -0
  71. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Errors/__init__.py +0 -0
  72. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Reference_Finder/__Reference_Finder.py +0 -0
  73. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/Reference_Finder/__init__.py +0 -0
  74. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/_AuxFunc/_NetToPython.py +0 -0
  75. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/_AuxFunc/__init__.py +0 -0
  76. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Core/__init__.py +0 -0
  77. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/__init__.py +0 -0
  78. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/common/__init__.py +0 -0
  79. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/common/data_input_hdf5.py +0 -0
  80. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/common/hdf5.py +0 -0
  81. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/common/model_processor.py +0 -0
  82. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/envelope/N2PEnvelope.py +0 -0
  83. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/envelope/__init__.py +0 -0
  84. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/__init__.py +0 -0
  85. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/airbus/__init__.py +0 -0
  86. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/airbus/core_shear_crimping_airbus.py +0 -0
  87. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/airbus/dimpling_airbus.py +0 -0
  88. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/airbus/wrinkling_airbus.py +0 -0
  89. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/bruhn/__init__.py +0 -0
  90. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/cmh/__init__.py +0 -0
  91. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/cmh/core_shear_crimping_cmh.py +0 -0
  92. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/cmh/dimpling_cmh.py +0 -0
  93. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/cmh/wrinkling_cmh.py +0 -0
  94. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/esdu/__init__.py +0 -0
  95. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/hsb/__init__.py +0 -0
  96. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/hsb/wrinkling_hsb.py +0 -0
  97. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/hypersizer/__init__.py +0 -0
  98. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/hypersizer/crimping_hypersizer.py +0 -0
  99. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/hypersizer/dimpling_hypersizer.py +0 -0
  100. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/hypersizer/wrinkling_hypersizer.py +0 -0
  101. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/nasa/__init__.py +0 -0
  102. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/handbooks/nasa/wrinkling_nasa.py +0 -0
  103. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/n2ptoexe/N2PtoEXE.py +0 -0
  104. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/n2ptoexe/__init__.py +0 -0
  105. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/__init__.py +0 -0
  106. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/composite/delamination/N2PEdgeDelamination.py +0 -0
  107. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/composite/delamination/__init__.py +0 -0
  108. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/composite/failure_analysis/N2PFailureComposite_Backupy.py +0 -0
  109. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/composite/failure_analysis/__init__.py +0 -0
  110. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/composite/sandwich/N2PSandwich.py +0 -0
  111. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/composite/sandwich/__init__.py +0 -0
  112. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PCalculatorRFJoints.py +0 -0
  113. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PCompRF.py +0 -0
  114. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PFastenerAnalysis.py +0 -0
  115. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PGetFasteners.py +0 -0
  116. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PGetLoadFasteners.py +0 -0
  117. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PMetalRF.py +0 -0
  118. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PRivetRF.py +0 -0
  119. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/N2PUpdateFastener.py +0 -0
  120. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetAttachments.py +0 -0
  121. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetResults.py +0 -0
  122. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PInterpolation.py +0 -0
  123. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PLoadModel.py +0 -0
  124. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PRotation.py +0 -0
  125. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/__init__.py +0 -0
  126. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/__init__.py +0 -0
  127. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/__init__.py +0 -0
  128. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Check/Validation.py +0 -0
  129. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/AR1DElement.py +0 -0
  130. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARAttachment.py +0 -0
  131. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARBolt.py +0 -0
  132. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARPlate.py +0 -0
  133. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARPlateElements.py +0 -0
  134. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/__init__.py +0 -0
  135. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARAuxiliarFunctions.py +0 -0
  136. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARBilinearInterpolation.py +0 -0
  137. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARConfigurationInput.py +0 -0
  138. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARDerivedLoadCases.py +0 -0
  139. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARFileInputRivetsIDs.py +0 -0
  140. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARGetAttachments.py +0 -0
  141. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARGetBolts.py +0 -0
  142. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARReadResultsFromFile.py +0 -0
  143. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARResults.py +0 -0
  144. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARRotation.py +0 -0
  145. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARSerialize.py +0 -0
  146. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/__init__.py +0 -0
  147. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/__init__.py +0 -0
  148. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/__init__.py +0 -0
  149. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/__init__.py +0 -0
  150. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/joints/N2PAttachment.py +0 -0
  151. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/joints/N2PBolt.py +0 -0
  152. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/joints/N2PFastenerSystem.py +0 -0
  153. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/joints/N2PJoint.py +0 -0
  154. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/joints/N2PJointAnalysisParameters.py +0 -0
  155. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/joints/N2PPlate.py +0 -0
  156. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/fasteners/joints/__init__.py +0 -0
  157. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/metallic/__init__.py +0 -0
  158. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/metallic/neuber/N2PNeuber.py +0 -0
  159. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/Modules/static/metallic/neuber/__init__.py +0 -0
  160. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/NaxToPy.ico +0 -0
  161. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/__init__.py +0 -0
  162. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy/user_functions.txt +0 -0
  163. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy.egg-info/SOURCES.txt +0 -0
  164. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy.egg-info/dependency_links.txt +0 -0
  165. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy.egg-info/requires.txt +0 -0
  166. {naxtopy-3.1.1 → naxtopy-3.1.2}/src/NaxToPy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: NaxToPy
3
- Version: 3.1.1
3
+ Version: 3.1.2
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
@@ -155,7 +155,7 @@ additional software beyond NaxTo (see the Download and Homepage links on the lef
155
155
  This version is compatible with **NaxTo 2025.1**.
156
156
  Check in _Programs and Features_ the NaxTo version that is installed.
157
157
 
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
+ 📘**Note:** If a specific NaxTo version is installed, search the [**NaxToPy History**](https://pypi.org/project/NaxToPy/3.1.2/#history) to find which newer version is compatible with it.
159
159
 
160
160
 
161
161
  ## Installation
@@ -186,6 +186,7 @@ same directory. When ever you want to use the NaxToPy package add the following
186
186
  import sys
187
187
  sys.path.append("...\directory")
188
188
  import NaxToPy as n2p
189
+
189
190
  ## Updating NaxToPy
190
191
 
191
192
  If python is callable from the command line:
@@ -367,6 +368,11 @@ is redundant. The coordinate system will prevail.
367
368
  7. Feat: Now, when a executable is created, if the version of NaxTo of the exe matches the instaled, it will use the **installed** NaxTo libraries. If the version doesn't match or NaxTo is not installed, **exe** NaxTo libraries will be used.
368
369
  8. BugFix: the keyword `THRU` is now supported in the bulk data card `SPC1` when reading from a Nastran Input File.
369
370
 
371
+ ### v.3.1.2
372
+ 1. BugFix: Changes to fix the Mat IDs attributes in N2Property from Abaqus files.
373
+ 2. Refactor: Updated vectorised method for N2PCompositeFailure module.
374
+ 3. Docs: Improved documentation in some methods.
375
+
370
376
  # Documentation
371
377
 
372
378
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -27,7 +27,7 @@ additional software beyond NaxTo (see the Download and Homepage links on the lef
27
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/3.1.0/#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.2/#history) to find which newer version is compatible with it.
31
31
 
32
32
 
33
33
  ## Installation
@@ -58,6 +58,7 @@ same directory. When ever you want to use the NaxToPy package add the following
58
58
  import sys
59
59
  sys.path.append("...\directory")
60
60
  import NaxToPy as n2p
61
+
61
62
  ## Updating NaxToPy
62
63
 
63
64
  If python is callable from the command line:
@@ -239,6 +240,11 @@ is redundant. The coordinate system will prevail.
239
240
  7. Feat: Now, when a executable is created, if the version of NaxTo of the exe matches the instaled, it will use the **installed** NaxTo libraries. If the version doesn't match or NaxTo is not installed, **exe** NaxTo libraries will be used.
240
241
  8. BugFix: the keyword `THRU` is now supported in the bulk data card `SPC1` when reading from a Nastran Input File.
241
242
 
243
+ ### v.3.1.2
244
+ 1. BugFix: Changes to fix the Mat IDs attributes in N2Property from Abaqus files.
245
+ 2. Refactor: Updated vectorised method for N2PCompositeFailure module.
246
+ 3. Docs: Improved documentation in some methods.
247
+
242
248
  # Documentation
243
249
 
244
250
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "NaxToPy"
7
- version = "3.1.1"
7
+ version = "3.1.2"
8
8
  license = {file = "LICENSE"}
9
9
  authors = [ { name = "Idaero Solutions", email = "manuel.sanchez@idaerosolutions.com" }, ]
10
10
  requires-python = ">=3.9"
@@ -96,77 +96,84 @@ class N2PComponent:
96
96
  def get_result_list(self, sections=None, aveSections=-1, cornerData=False, aveNodes=-1, variation=100,
97
97
  realPolar=0, coordsys: int = -1000,
98
98
  v1: Union[tuple, np.ndarray] = (1,0,0), v2: Union[tuple, np.ndarray] = (0,1,0)) -> tuple[list, str]:
99
- """
100
- Returns a tuple with the list of floats with the result array asked and a str with the position of the
101
- results.
102
-
103
- Args:
99
+ """Get the result array as a list with position information.
100
+
101
+ Returns a tuple containing the list of floats with the requested results
102
+ and a string indicating the position/location of the results.
104
103
 
105
- sections: list[str] | list[N2PSection] -> Optional. Sections which operations are done.
106
- None (Default) = All Sections
107
-
108
- aveSections: int -> Optional. Operation Among Sections.
109
-
110
- -1 : Maximum (Default),
111
- -2 : Minimum,
112
- -3 : Average,
113
- -4 : Extreme,
114
- -6 : Difference.
115
-
116
- cornerData: bool -> Optional. Flag to get results in element nodal.
117
-
118
- True : Results in Element-Nodal,
119
- False : Results in centroid (Default).
120
-
121
- aveNodes: int -> Optional. Operation among nodes when cornerData is selected.
122
-
123
- 0 : None,
124
- -1 : Maximum (Default),
125
- -2 : Minimum,
126
- -3 : Average,
127
- -6 : Difference.
128
-
129
- variation: int -> Optional. Integer between 0 & 100 to select.
130
-
131
- 0 : No average between nodes,
132
- 100 : Total average between nodes (Default).
133
-
134
- realPolar: int -> Optional. Data type when complex result.
135
-
136
- 1 : Real / Imaginary,
137
- 2 : Magnitude / Phase.
138
-
139
- coordsys: int -> Optional. Coordinate System where the result_array will be represented. By default,
140
- the output is in element system:
141
-
142
- 0 : Global,
143
- -1 : Material Coordinate System,
144
- -10 : User defined,
145
- -20 : Element/Node User Defined,
146
- >0 : Solver ID of the Predefined Coordinate System.
147
-
148
- v1: tuple -> Optional.
149
-
150
- v2: tuple -> Optional. Directions vectors that generate the coordinate system axis:
151
-
152
- x=v1,
153
- z=v1^v2,
154
- y=z^x.
155
-
156
- Returns:
157
- results: tuple(list[float], str)
158
-
104
+ Parameters
105
+ ----------
106
+ sections : ``list[str] | list[N2PSection]``
107
+ Optional. Sections on which to perform operations. If None (default), operations
108
+ are performed on all sections.
109
+ aveSections : ``int``, default -1
110
+ Optional. Operation to perform among sections:
111
+
112
+ * -1: Maximum (default)
113
+ * -2: Minimum
114
+ * -3: Average
115
+ * -4: Extreme
116
+ * -6: Difference
117
+
118
+ cornerData : ``bool``, default False
119
+ Optional. Flag to control result location:
120
+
121
+ * True: Results at element nodes
122
+ * False: Results at element centroid (default)
123
+
124
+ aveNodes : ``int``, default -1
125
+ Optional. Operation among nodes when ``cornerData=True``:
126
+
127
+ * 0: None
128
+ * -1: Maximum (default)
129
+ * -2: Minimum
130
+ * -3: Average
131
+ * -6: Difference
132
+
133
+ variation : ``int``, default 100
134
+ Optional. Averaging parameter between nodes (0-100):
135
+
136
+ * 0: No averaging between nodes
137
+ * 100: Total averaging between nodes (default)
138
+
139
+ realPolar : ``int``, default 0
140
+ Optional. Data type for complex results:
141
+
142
+ * 1: Real/Imaginary
143
+ * 2: Magnitude/Phase
144
+
145
+ coordsys : ``int``, default -1000
146
+ Optional. Coordinate system for result representation:
147
+
148
+ * 0: Global coordinate system
149
+ * -1: Material coordinate system
150
+ * -10: User defined coordinate system
151
+ * -20: Element/Node user defined coordinate system
152
+ * -1000: Analysis coordinate system (default)
153
+ * \>0: Solver ID of predefined coordinate system
154
+
155
+ .. note::
156
+
157
+ In Nastran > 2021 the results in the OP2 could be in material coordinate
158
+ system if the user requested it.
159
+
160
+ v1 : ``tuple[float] | numpy.ndarray``, default (1, 0, 0)
161
+ Optional. 3D vector defining the x-axis of the coordinate system.
162
+ v2 : ``tuple[float] | numpy.ndarray``, default (0, 1, 0)
163
+ Optional. 3D vector defining the xy-plane. The coordinate system axes are generated as:
164
+
165
+ * x = v1
166
+ * z = v1 ^ v2 (cross product)
167
+ * y = z ^ x (cross product)
168
+
169
+ Returns
170
+ -------
171
+ tuple[list[float], str]
172
+ Tuple containing:
173
+
174
+ * **results list**: list of floats with the requested results
175
+ * **position**: string indicating the location/position of the results
159
176
  """
160
- # Aquí se prepara la llamada a la funcion de NaxToModel.N2PModelContent.getArraytoPlot(). Esta usa como
161
- # argumento un objeto de la clase N2ParamImputResults. Por se instancia y se modifican sus propiedades antes
162
- # de hacer la llamada a la funcion.
163
-
164
- # Aqui se mete el sistema de coordenadas en el que queremos que nos saque la informacion.
165
- # Para ello primero comprobamos que es viable hacer la tansformacion (puede que aun no este implementada o que
166
- # la componente simplemente no la admita al ser un escalar a secas)
167
-
168
- #resultsParameters.coordSys = -10
169
- #orientationcoordinatesystem = algo
170
177
 
171
178
  resultsParameters = self._create_n2paraminputresult(None, sections, aveSections, cornerData, aveNodes, variation,
172
179
  realPolar, coordsys, v1, v2)
@@ -190,76 +197,106 @@ class N2PComponent:
190
197
  realPolar=0, coordsys: int = -1000,
191
198
  v1: Union[tuple, np.ndarray ] = (1,0,0), v2: Union[tuple, np.ndarray ] = (0,1,0),
192
199
  filter_list: list = None) -> tuple[np.array, str]:
193
- """
194
- Returns a tuple with the numpy array of floats with the result array asked and a str with the position of
195
- the results.
196
-
197
- Args:
198
-
199
- sections: list[str] | list[N2PSection] -> Optional. Sections which operations are done.
200
- None (Default) = All Sections
201
-
202
- aveSections: int -> Optional. Operation Among Sections.
203
-
204
- -1 : Maximum (Default),
205
- -2 : Minimum,
206
- -3 : Average,
207
- -4 : Extreme,
208
- -6 : Difference.
209
-
210
- cornerData: bool -> Optional. Flag to get results in element nodal.
211
-
212
- True : Results in Element-Nodal,
213
- False : Results in centroid (Default).
214
-
215
- aveNodes: int -> Optional. Operation among nodes when cornerData is selected.
216
-
217
- 0 : None,
218
- -1 : Maximum (Default),
219
- -2 : Minimum,
220
- -3 : Average,
221
- -6 : Difference.
222
-
223
- variation: int -> Optional. Integer between 0 & 100 to select.
224
-
225
- 0 : No average between nodes,
226
- 100 : Total average between nodes (Default).
227
-
228
- realPolar: int -> Optional. Data type when complex result.
229
-
230
- 1 : Real / Imaginary,
231
- 2 : Magnitude / Phase.
232
-
233
- coordsys: int -> Optional. Coordinate System where the result_array will be represented. By default,
234
- the output is in element system:
235
-
236
- 0 : Global,
237
- -1 : Material Coordinate System,
238
- -10 : User defined,
239
- -20 : Element/Node User Defined,
240
- >0 : Solver ID of the Predefined Coordinate System.
241
-
242
- v1: tuple -> Optional.
243
-
244
- v2: tuple -> Optional. Directions vectors that generate the coordinate system axis:
245
-
246
- x=v1,
247
- z=v1^v2,
248
- y=z^x.
249
-
250
- filter_n2p: list[N2PElement|N2PNode] (optional)
251
- List with the N2PElement or N2PNode where the results are asked. Filtering the results slows
252
- the result extraction. If the results are needed in two separate list of itmes (nodes or elements)
253
- ask first for both and filter them later.
254
-
255
- Returns:
256
- results: tuple(np.array, str)
257
-
200
+ """Get the result array as a numpy array with position information.
201
+
202
+ Returns a tuple containing the numpy array of floats with the requested results
203
+ and a string indicating the position/location of the results.
204
+
205
+ Parameters
206
+ ----------
207
+ sections : ``list[str] | list[N2PSection]``
208
+ Optional. Sections on which to perform operations. If None (default), operations
209
+ are performed on all sections.
210
+ aveSections : ``int``, default -1
211
+ Optional. Operation to perform among sections:
212
+
213
+ * -1: Maximum (default)
214
+ * -2: Minimum
215
+ * -3: Average
216
+ * -4: Extreme
217
+ * -6: Difference
218
+
219
+ cornerData : ``bool``, default False
220
+ Optional. Flag to control result location:
221
+
222
+ * True: Results at element nodes
223
+ * False: Results at element centroid (default)
224
+
225
+ aveNodes : ``int``, default -1
226
+ Optional. Operation among nodes when ``cornerData=True``:
227
+
228
+ * 0: None
229
+ * -1: Maximum (default)
230
+ * -2: Minimum
231
+ * -3: Average
232
+ * -6: Difference
233
+
234
+ variation : ``int``, default 100
235
+ Optional. Averaging parameter between nodes (0-100):
236
+
237
+ * 0: No averaging between nodes
238
+ * 100: Total averaging between nodes (default)
239
+
240
+ realPolar : ``int``, default 0
241
+ Optional. Data type for complex results:
242
+
243
+ * 1: Real/Imaginary
244
+ * 2: Magnitude/Phase
245
+
246
+ coordsys : ``int``, default -1000
247
+ Optional. Coordinate system for result representation:
248
+
249
+ * 0: Global coordinate system
250
+ * -1: Material coordinate system
251
+ * -10: User defined coordinate system
252
+ * -20: Element/Node user defined coordinate system
253
+ * -1000: Analysis coordinate system (default)
254
+ * \>0: Solver ID of predefined coordinate system
255
+
256
+ .. note::
257
+
258
+ In Nastran > 2021 the results in the OP2 could be in material coordinate
259
+ system if the user requested it.
260
+
261
+ v1 : ``tuple[float] | numpy.ndarray``, default (1, 0, 0)
262
+ Optional. 3D vector defining the x-axis of the coordinate system.
263
+ v2 : ``tuple[float] | numpy.ndarray``, default (0, 1, 0)
264
+ Optional. 3D vector defining the xy-plane. The coordinate system axes are generated as:
265
+
266
+ * x = v1
267
+ * z = v1 ^ v2 (cross product)
268
+ * y = z ^ x (cross product)
269
+
270
+ filter_list : ``list[N2PElement] | list[N2PNode]``
271
+ Optional. List of elements or nodes where results are requested. If None, results
272
+ for all elements/nodes are returned.
273
+
274
+ .. warning::
275
+
276
+ Filtering results can slow down extraction. If results are needed for multiple
277
+ separate lists, extract all results first and filter afterward.
278
+
279
+ Returns
280
+ -------
281
+ tuple[numpy.ndarray, str]
282
+ Tuple containing:
283
+
284
+ * **results array**: numpy array of floats with the requested results
285
+ * **position**: string indicating the location/position of the results
286
+
258
287
  Examples
259
- >>> # N2PComponent is a N2PLoadCase.get_results("DISPLACEMENTS").get_component("X")
260
- >>> displ_X_array, where = N2PComponent.get_result_ndarray(aveSections=-3, coordsys=-1)
261
- >>> # N2PComponent is a N2PLoadCase.get_results("STRESSES").get_component("XX")
262
- >>> stress_array, where = N2PComponent.get_result_ndarray(v1=(-1, 0, 0), v2=(0, -1, 0))
288
+ --------
289
+ >>> # N2PComponent is a N2PLoadCase.get_results("DISPLACEMENTS").get_component("X")
290
+ >>> displ_X_array, where = N2PComponent.get_result_ndarray(
291
+ ... aveSections=-3,
292
+ ... coordsys=-1
293
+ ... )
294
+
295
+ >>> # N2PComponent is a N2PLoadCase.get_results("STRESSES").get_component("XX")
296
+ >>> stress_array, where = N2PComponent.get_result_ndarray(
297
+ ... v1=(-1, 0, 0),
298
+ ... v2=(0, -1, 0)
299
+ ... )
263
300
  """
264
301
  resultsParameters = self._create_n2paraminputresult(None, sections, aveSections, cornerData, aveNodes, variation,
265
302
  realPolar, coordsys, v1, v2)
@@ -123,7 +123,7 @@ class N2PComp(N2PProperty):
123
123
  def MatID(self) -> tuple[tuple[int, str]]:
124
124
  """Tuple with the solver tuple of thr id and part of the material for each ply of the laminate"""
125
125
  part = self.PartID
126
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
126
+ if self.__model__.Solver == "InputFileAbaqus":
127
127
  return tuple((self.__model__._N2PModelContent__materialsID[mat], part) for mat in self.__info__.Mat)
128
128
  return tuple((mat, part) for mat in self.__info__.Mat)
129
129
 
@@ -388,21 +388,21 @@ class N2PShell(N2PProperty):
388
388
  @property
389
389
  def MatMemID(self) -> Union[tuple[int, str], tuple[str, str]]:
390
390
  """Material index for the membrane behavior"""
391
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
391
+ if self.__model__.Solver == "InputFileAbaqus":
392
392
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatMemID], "ASSEMBLY")
393
393
  return (self.__info__.MatMemID, self.PartID)
394
394
 
395
395
  @property
396
396
  def MatBenID(self) -> Union[tuple[int, str], tuple[str, str]]:
397
397
  """Material index for the bending behavior"""
398
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
398
+ if self.__model__.Solver == "InputFileAbaqus":
399
399
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatBenID], "ASSEMBLY")
400
400
  return (self.__info__.MatBenID, self.PartID)
401
401
 
402
402
  @property
403
403
  def MatSheID(self) -> Union[tuple[int, str], tuple[str, str]]:
404
404
  """Material index for the shell behavior"""
405
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
405
+ if self.__model__.Solver == "InputFileAbaqus":
406
406
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatSheID], "ASSEMBLY")
407
407
  return (self.__info__.MatSheID, self.PartID)
408
408
 
@@ -435,7 +435,7 @@ class N2PShell(N2PProperty):
435
435
  @property
436
436
  def MatCouplID(self) -> Union[tuple[int, str], tuple[str, str]]:
437
437
  """Material identification number for membrane-bending coupling"""
438
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
438
+ if self.__model__.Solver == "InputFileAbaqus":
439
439
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatCoupl], "ASSEMBLY")
440
440
  return (self.__info__.MatCoupl, self.PartID)
441
441
  # ----------------------------------------------------------------------------------------------------------------------
@@ -458,7 +458,7 @@ class N2PSolid(N2PProperty):
458
458
  @property
459
459
  def MatID(self) -> Union[tuple[int, str], tuple[str, str]]:
460
460
  """Index of the material of the solid property"""
461
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
461
+ if self.__model__.Solver == "InputFileAbaqus":
462
462
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatID], "ASSEMBLY")
463
463
  return (self.__info__.MatID, self.PartID)
464
464
 
@@ -504,7 +504,7 @@ class N2PRod(N2PProperty):
504
504
  @property
505
505
  def MatID(self) -> Union[tuple[int, str], tuple[str, str]]:
506
506
  """Material identification number."""
507
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
507
+ if self.__model__.Solver == "InputFileAbaqus":
508
508
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatID], "ASSEMBLY")
509
509
  return (self.__info__.MatID, self.PartID)
510
510
 
@@ -545,7 +545,7 @@ class N2PBeam(N2PProperty):
545
545
  def MatID(self) -> Union[tuple[int, str], tuple[str, str]]:
546
546
  """Material identification number."""
547
547
  mat_id = self.__info__.MatID
548
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
548
+ if self.__model__.Solver == "InputFileAbaqus":
549
549
  return (self.__model__._N2PModelContent__materialsID[mat_id], "ASSEMBLY")
550
550
  elif mat_id == -1:
551
551
  return N2PLog.Warning.W702()
@@ -910,7 +910,7 @@ class N2PWeld(N2PProperty):
910
910
  """
911
911
  Material identification number.
912
912
  """
913
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
913
+ if self.__model__.Solver == "InputFileAbaqus":
914
914
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatID], "ASSEMBLY")
915
915
  return (self.__info__.MatID, self.PartID)
916
916
 
@@ -967,7 +967,7 @@ class N2PBeamL(N2PProperty):
967
967
  """
968
968
  Material identification number.
969
969
  """
970
- if self.__model__.Solver == "Abaqus" or self.__model__.Solver == "InputFileAbaqus":
970
+ if self.__model__.Solver == "InputFileAbaqus":
971
971
  return (self.__model__._N2PModelContent__materialsID[self.__info__.MatID], "ASSEMBLY")
972
972
  return (self.__info__.MatID, self.PartID)
973
973