NaxToPy 3.1.2__tar.gz → 3.2.1__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.2/src/NaxToPy.egg-info → naxtopy-3.2.1}/PKG-INFO +20 -105
  2. {naxtopy-3.1.2 → naxtopy-3.2.1}/README.md +17 -1
  3. {naxtopy-3.1.2 → naxtopy-3.2.1}/pyproject.toml +3 -3
  4. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeyword.py +22 -2
  5. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PAbaqusInputData.py +2 -4
  6. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PComponent.py +36 -9
  7. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PNastranInputData.py +2435 -1972
  8. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PProperty.py +1 -21
  9. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Constants/Constants.py +6 -4
  10. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Errors/N2PLog.py +141 -51
  11. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/N2PModelContent.py +75 -34
  12. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Reference_Finder/__Reference_Finder.py +8 -3
  13. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/common/material.py +6 -5
  14. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/n2ptoexe/N2PtoEXE.py +7 -7
  15. naxtopy-3.2.1/src/NaxToPy/Modules/numericaltools/N2PCoefficientsFinder.py +758 -0
  16. naxtopy-3.2.1/src/NaxToPy/Modules/numericaltools/__init__.py +2 -0
  17. naxtopy-3.2.1/src/NaxToPy/Modules/static/composite/failure_analysis/N2PCompositeFailure.py +2239 -0
  18. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PGetFasteners.py +1 -1
  19. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PUpdateFastener.py +17 -7
  20. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetResults.py +7 -3
  21. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/__init__.py +4 -1
  22. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/joints/N2PBolt.py +3 -1
  23. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/joints/N2PPlate.py +12 -4
  24. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/metallic/neuber/N2PNeuber.py +4 -9
  25. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/__init__.py +8 -1
  26. {naxtopy-3.1.2 → naxtopy-3.2.1/src/NaxToPy.egg-info}/PKG-INFO +20 -105
  27. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy.egg-info/SOURCES.txt +2 -0
  28. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy.egg-info/requires.txt +1 -1
  29. naxtopy-3.1.2/src/NaxToPy/Modules/static/composite/failure_analysis/N2PCompositeFailure.py +0 -2043
  30. {naxtopy-3.1.2 → naxtopy-3.2.1}/LICENSE +0 -0
  31. {naxtopy-3.1.2 → naxtopy-3.2.1}/setup.cfg +0 -0
  32. {naxtopy-3.1.2 → naxtopy-3.2.1}/setup.py +0 -0
  33. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntity.py +0 -0
  34. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityElement.py +0 -0
  35. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityNode.py +0 -0
  36. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQEntities/N2PEntityShell.py +0 -0
  37. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQEntities/__init__.py +0 -0
  38. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordBEAMSECTION.py +0 -0
  39. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordCOUPLING.py +0 -0
  40. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDENSITY.py +0 -0
  41. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDISTRIBUTING.py +0 -0
  42. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordDISTRIBUTINGCOUPLING.py +0 -0
  43. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELASTIC.py +0 -0
  44. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELEMENT.py +0 -0
  45. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordELSET.py +0 -0
  46. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordENDINSTANCE.py +0 -0
  47. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordENDPART.py +0 -0
  48. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordINSTANCE.py +0 -0
  49. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordKINEMATIC.py +0 -0
  50. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordKINEMATICCOUPLING.py +0 -0
  51. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordMATERIAL.py +0 -0
  52. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordNODE.py +0 -0
  53. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordNSET.py +0 -0
  54. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordORIENTATION.py +0 -0
  55. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordPART.py +0 -0
  56. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordPLASTIC.py +0 -0
  57. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSHELLSECTION.py +0 -0
  58. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSOLIDSECTION.py +0 -0
  59. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/N2PKeywordSURFACE.py +0 -0
  60. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ABQKeywords/__init__.py +0 -0
  61. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/AllClasses.py +0 -0
  62. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PConnector.py +0 -0
  63. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PCoord.py +0 -0
  64. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PElement.py +0 -0
  65. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PFreeBody.py +0 -0
  66. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PIncrement.py +0 -0
  67. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PLoadCase.py +0 -0
  68. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PMaterial.py +0 -0
  69. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PNode.py +0 -0
  70. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PReport.py +0 -0
  71. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PResult.py +0 -0
  72. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PSection.py +0 -0
  73. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/N2PSet.py +0 -0
  74. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/ProgresBar.py +0 -0
  75. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Classes/__init__.py +0 -0
  76. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Constants/__init__.py +0 -0
  77. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Constants/librerias.py +0 -0
  78. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Errors/N2PColors.py +0 -0
  79. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Errors/N2PFileHandler.py +0 -0
  80. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Errors/__init__.py +0 -0
  81. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/Reference_Finder/__init__.py +0 -0
  82. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/_AuxFunc/_NetToPython.py +0 -0
  83. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/_AuxFunc/__init__.py +0 -0
  84. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Core/__init__.py +0 -0
  85. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/__init__.py +0 -0
  86. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/common/__init__.py +0 -0
  87. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/common/data_input_hdf5.py +0 -0
  88. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/common/hdf5.py +0 -0
  89. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/common/model_processor.py +0 -0
  90. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/common/property.py +0 -0
  91. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/envelope/N2PEnvelope.py +0 -0
  92. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/envelope/__init__.py +0 -0
  93. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/__init__.py +0 -0
  94. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/airbus/__init__.py +0 -0
  95. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/airbus/core_shear_crimping_airbus.py +0 -0
  96. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/airbus/dimpling_airbus.py +0 -0
  97. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/airbus/wrinkling_airbus.py +0 -0
  98. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/bruhn/__init__.py +0 -0
  99. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/cmh/__init__.py +0 -0
  100. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/cmh/core_shear_crimping_cmh.py +0 -0
  101. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/cmh/dimpling_cmh.py +0 -0
  102. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/cmh/wrinkling_cmh.py +0 -0
  103. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/esdu/__init__.py +0 -0
  104. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/hsb/__init__.py +0 -0
  105. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/hsb/wrinkling_hsb.py +0 -0
  106. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/hypersizer/__init__.py +0 -0
  107. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/hypersizer/crimping_hypersizer.py +0 -0
  108. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/hypersizer/dimpling_hypersizer.py +0 -0
  109. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/hypersizer/wrinkling_hypersizer.py +0 -0
  110. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/nasa/__init__.py +0 -0
  111. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/handbooks/nasa/wrinkling_nasa.py +0 -0
  112. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/n2ptoexe/__init__.py +0 -0
  113. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/__init__.py +0 -0
  114. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/__init__.py +0 -0
  115. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/delamination/N2PEdgeDelamination.py +0 -0
  116. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/delamination/__init__.py +0 -0
  117. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/failure_analysis/N2PFailureComposite_Backupy.py +0 -0
  118. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/failure_analysis/N2PFailureComposite_Vectorisation.py +0 -0
  119. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/failure_analysis/__init__.py +0 -0
  120. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/sandwich/N2PSandwich.py +0 -0
  121. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/composite/sandwich/__init__.py +0 -0
  122. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PCalculatorRFJoints.py +0 -0
  123. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PCompRF.py +0 -0
  124. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PFastenerAnalysis.py +0 -0
  125. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PGetLoadFasteners.py +0 -0
  126. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PMetalRF.py +0 -0
  127. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/N2PRivetRF.py +0 -0
  128. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PGetAttachments.py +0 -0
  129. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PInterpolation.py +0 -0
  130. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PLoadModel.py +0 -0
  131. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/N2PRotation.py +0 -0
  132. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/Functions/__init__.py +0 -0
  133. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/Core/__init__.py +0 -0
  134. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysis/__init__.py +0 -0
  135. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Check/Validation.py +0 -0
  136. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/AR1DElement.py +0 -0
  137. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARAttachment.py +0 -0
  138. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARBolt.py +0 -0
  139. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARPlate.py +0 -0
  140. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/ARPlateElements.py +0 -0
  141. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Classes/__init__.py +0 -0
  142. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARAuxiliarFunctions.py +0 -0
  143. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARBilinearInterpolation.py +0 -0
  144. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARConfigurationInput.py +0 -0
  145. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARDerivedLoadCases.py +0 -0
  146. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARFileInputRivetsIDs.py +0 -0
  147. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARGetAttachments.py +0 -0
  148. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARGetBolts.py +0 -0
  149. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARReadResultsFromFile.py +0 -0
  150. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARResults.py +0 -0
  151. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARRotation.py +0 -0
  152. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/ARSerialize.py +0 -0
  153. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/Functions/__init__.py +0 -0
  154. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/Core/__init__.py +0 -0
  155. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/_N2PFastenerAnalysisDeprecated/__init__.py +0 -0
  156. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/joints/N2PAttachment.py +0 -0
  157. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/joints/N2PFastenerSystem.py +0 -0
  158. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/joints/N2PJoint.py +0 -0
  159. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/joints/N2PJointAnalysisParameters.py +0 -0
  160. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/fasteners/joints/__init__.py +0 -0
  161. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/metallic/__init__.py +0 -0
  162. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/Modules/static/metallic/neuber/__init__.py +0 -0
  163. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/NaxToPy.ico +0 -0
  164. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy/user_functions.txt +0 -0
  165. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy.egg-info/dependency_links.txt +0 -0
  166. {naxtopy-3.1.2 → naxtopy-3.2.1}/src/NaxToPy.egg-info/top_level.txt +0 -0
@@ -1,112 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: NaxToPy
3
- Version: 3.1.2
3
+ Version: 3.2.1
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
7
7
  Author-email: Idaero Solutions <manuel.sanchez@idaerosolutions.com>
8
- License: Copyright (c) 2024 Idaero Solutions
9
-
10
- This freeware license agreement (“agreement”) is a legally binding contract
11
- between the individual who downloads the software (“you”) and the licensor,
12
- that should be read in its entirety. This is an agreement governing your use
13
- this software own by Idaero Solutions, further defined herein as “software”,
14
- and the licensor of the software is willing to provide you with access to the
15
- software only on the condition that you accept all of the terms and conditions
16
- contained in this agreement. You are deemed to have read, understood and accepted
17
- all such terms and conditions upon executing a download of any free software.
18
-
19
- 1. License Grant:
20
-
21
- Subject to the terms and conditions of this Agreement, Idaero Solutions grants
22
- the User a limited, non-exclusive, non-transferable license to use the Software
23
- solely for non commercial purposes. This license does not grant any rights to the
24
- source code of the Software. It is only free for non-professional and non-commercial
25
- purposes. For commercial and professional purposes, you must install the professional
26
- NaxTo(c) version.
27
-
28
- 2. Ownership:
29
-
30
- The User acknowledges that the Software, including any and all intellectual
31
- property rights associated with it, is the sole property of Idaero Solutions
32
- and/or its Suppliers. The User agrees not to claim ownership or proprietary
33
- rights over the Software.
34
-
35
- 3. Distribution:
36
-
37
- The User is allowed to distribute the Software to third parties free of charge,
38
- ONLY under .exe files that use the software as a dependence of the script,
39
- provided that the distribution includes the complete and unmodified Software
40
- package as originally provided by Idaero Solutions. The User must not charge
41
- any fees or payments for the distribution of the Software.
42
-
43
- 4. Modifications:
44
-
45
- The User agrees not to modify, adapt, reverse engineer, decompile or disassemble,
46
- the Software. Any attempt to do so shall be a violation of this Agreement. The
47
- User is allowed to develop further code based on the Software. However, the
48
- User agrees that the new software shall be subject to the same license terms
49
- as this Agreement, including the prohibition on modification, reverse
50
- engineering, and proprietization.
51
-
52
- 5. Proprietization:
53
-
54
- The User agrees not to use the Software or any part thereof to develop a
55
- competing product or service or engage in any activities that may lead to
56
- the proprietization of the Software.
57
-
58
- 6. Termination:
59
-
60
- This Agreement is effective until terminated. Idaero Solutions may terminate this
61
- Agreement immediately and without notice if the User fails to comply with any
62
- of the terms and conditions herein. Upon termination, the User must cease all
63
- use of the Software and destroy all copies in their possession.
64
-
65
- 7. Warranty and Liability:
66
-
67
- The software is provided "as is", without warranty of any kind, express or
68
- implied, including but not limited to the warranties of merchantability,
69
- fitness for a particular purpose and noninfringement. In no event shall the
70
- authors or copyright holders be liable for any claim, damages or other
71
- liability, whether in an action of contract, tort or otherwise, arising from,
72
- out of or in connection with the software or the use or other dealings in the
73
- software.
74
-
75
- 8. An extension of NaxTo(c) from Idaero Solutions:
76
-
77
- The software is an extension of the NaxTo software developed by Idaero Solutions.
78
- Therefore, the terms of use of this software are an extension of the
79
- NaxTo license. In the event of any discrepancies, the NaxTo license takes precedence.
80
-
81
- 9. Governing Law:
82
-
83
- This Agreement shall be governed by and construed in accordance with the laws
84
- of the jurisdiction in which Idaero Solutions is located.
85
-
86
-
87
- IDAERO DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
88
- LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
89
- AND NON-INFRINGEMENT. IDAERO DOES NOT GUARANTEE THAT THE PRODUCTS WILL MEET LICENSEE'S
90
- REQUIREMENTS, OPERATE UNINTERRUPTED OR ERROR-FREE, OR BE COMPATIBLE WITH ANY SPECIFIC
91
- HARDWARE OR SOFTWARE. THE ENTIRE RISK ASSOCIATED WITH THE USE, PERFORMANCE, OR RESULTS
92
- OBTAINED FROM THE PRODUCTS RESTS WITH THE LICENSEE, NOT IDAERO. IDAERO MAKES
93
- NO WARRANTIES REGARDING THE ACCURACY, COMPLETENESS, FUNCTIONALITY, SAFETY, PERFORMANCE,
94
- OR ANY OTHER ASPECT OF ANY DESIGN, PROTOTYPE, OR FINAL PRODUCT DEVELOPED BY THE LICENSEE
95
- USING THE PRODUCTS.
96
-
97
- IN NO EVENT SHALL IDAERO OR ITS SUPPLIERS BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL,
98
- OR CONSEQUENTIAL DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR DATA, DEFECTS
99
- IN DESIGN OR PRODUCTS CREATED USING THE PRODUCTS, OR ANY INJURY OR DAMAGE RESULTING
100
- FROM SUCH DEFECTS, SUFFERED BY THE LICENSEE OR ANY THIRD PARTY, EVEN IF IDAERO OR
101
- ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE PRODUCTS
102
- PROVIDED HEREUNDER ARE INTENDED ONLY TO AID THE LICENSEE IN DEVELOPING THEIR OWN
103
- PRODUCTS OR CONDUCTING DATA ANALYSIS AND ARE NOT INTENDED TO SUBSTITUTE FOR SOUND
104
- ENGINEERING JUDGMENT, INDEPENDENT TESTING OF PHYSICAL PROTOTYPES, CAREFUL NUMERICAL
105
- REVIEW, OR SOUND BUSINESS JUDGMENT.
106
-
107
-
108
- The above copyright notice and this permission notice shall be included in all
109
- copies or substantial portions of the Software.
8
+ License: MIT
110
9
  Project-URL: Documentation, https://www.idaerosolutions.com/NaxToDocumentation/NaxToPy/3.1.0/index.html
111
10
  Project-URL: LinkedIn, https://www.linkedin.com/company/idaero/
112
11
  Keywords: NaxTo,Postprocessing,FEM
@@ -119,7 +18,7 @@ Requires-Python: >=3.9
119
18
  Description-Content-Type: text/markdown
120
19
  License-File: LICENSE
121
20
  Requires-Dist: pythonnet>=3.0.4
122
- Requires-Dist: numpy>=1.22.0
21
+ Requires-Dist: numpy>=1.26.0
123
22
  Requires-Dist: setuptools>=67.8.0
124
23
  Requires-Dist: h5py>=3.12.1
125
24
  Dynamic: download-url
@@ -152,7 +51,7 @@ additional software beyond NaxTo (see the Download and Homepage links on the lef
152
51
  ---------------
153
52
 
154
53
  ⚠️**Warning:** To use NaxToPy, [**NaxTo**](https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US) must be installed.
155
- This version is compatible with **NaxTo 2025.1**.
54
+ This version is compatible with **NaxTo 2025.2**.
156
55
  Check in _Programs and Features_ the NaxTo version that is installed.
157
56
 
158
57
  📘**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.
@@ -373,6 +272,22 @@ is redundant. The coordinate system will prevail.
373
272
  2. Refactor: Updated vectorised method for N2PCompositeFailure module.
374
273
  3. Docs: Improved documentation in some methods.
375
274
 
275
+ ### v.3.2.0
276
+ 1. Refactor: `N2PGetFasteners` and `N2PGetLoadFasteners`: Improvement in warning and error messages and documentation
277
+ 2. Refactor: `N2PNastranInputData`: The Nastran input file reading libraries (Bulk Data Files) have been updated, and this class has been adapted to the new changes, which improve memory management and file loading speed.
278
+ 3. Refactor: `NaxToPy.load_model()`: Improved file type selection (binary or text) and identification of which Solver type they belong to (`"InputFileNastran"`, `"InputFileAbaqus"`).
279
+ 4. Refactor: `N2PModelContent.get_result_by_LCs_Incr()`: Now, if the requested result or component does not exist in one of the load case-increment cases, the key-value pair is returned in the dictionary, but with the value set to a numpy array filled with "nan", instead of omitting the key from the dictionary.
280
+ 5. Refactor: `N2PCompositeFailure`: Improved module efficiency by vectorizing calculations and added a new failure criterion, FMC - Fiber Mode Concept, which is compatible with FirstPly and PlyByPly.
281
+ 6. Feat: `N2PCoefficientsFinder`: New NaxToPy module that detects and defines linear dependencies between rows of a given matrix.
282
+ 7. Feat: `N2PNastranInputData.find_cards()`: New method that replaces the old `get_cards_by_field()`. Allows searching for cards with various filter types efficiently.
283
+ 8. Feat: `N2PNastranInputData.get_failed_cards()`: New method that allows retrieving cards that are poorly formatted or have reading errors when opening a Nastran input file (.bdf).
284
+ 9. Feat: `N2PNastranInputData.create_card()`: New method that allows creating Nastran cards completely from scratch, which will be added to the end of the Nastran input file once the `rebuild_file()` command is executed.
285
+
286
+ ### v.3.2.1
287
+ 1. BugFix: Derived components are now founded right while using `get_result_by_LCs_Incr()`.
288
+ 1. BugFix: All sections are now founded right while using `get_result_by_LCs_Incr()`.
289
+ 3. BugFix: Now symbols like "\" or "-" are supported as part of the name of Components and Load Cases while creating new derived Components and Derived Load Cases.
290
+
376
291
  # Documentation
377
292
 
378
293
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -24,7 +24,7 @@ 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 2025.1**.
27
+ This version is compatible with **NaxTo 2025.2**.
28
28
  Check in _Programs and Features_ the NaxTo version that is installed.
29
29
 
30
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.
@@ -245,6 +245,22 @@ is redundant. The coordinate system will prevail.
245
245
  2. Refactor: Updated vectorised method for N2PCompositeFailure module.
246
246
  3. Docs: Improved documentation in some methods.
247
247
 
248
+ ### v.3.2.0
249
+ 1. Refactor: `N2PGetFasteners` and `N2PGetLoadFasteners`: Improvement in warning and error messages and documentation
250
+ 2. Refactor: `N2PNastranInputData`: The Nastran input file reading libraries (Bulk Data Files) have been updated, and this class has been adapted to the new changes, which improve memory management and file loading speed.
251
+ 3. Refactor: `NaxToPy.load_model()`: Improved file type selection (binary or text) and identification of which Solver type they belong to (`"InputFileNastran"`, `"InputFileAbaqus"`).
252
+ 4. Refactor: `N2PModelContent.get_result_by_LCs_Incr()`: Now, if the requested result or component does not exist in one of the load case-increment cases, the key-value pair is returned in the dictionary, but with the value set to a numpy array filled with "nan", instead of omitting the key from the dictionary.
253
+ 5. Refactor: `N2PCompositeFailure`: Improved module efficiency by vectorizing calculations and added a new failure criterion, FMC - Fiber Mode Concept, which is compatible with FirstPly and PlyByPly.
254
+ 6. Feat: `N2PCoefficientsFinder`: New NaxToPy module that detects and defines linear dependencies between rows of a given matrix.
255
+ 7. Feat: `N2PNastranInputData.find_cards()`: New method that replaces the old `get_cards_by_field()`. Allows searching for cards with various filter types efficiently.
256
+ 8. Feat: `N2PNastranInputData.get_failed_cards()`: New method that allows retrieving cards that are poorly formatted or have reading errors when opening a Nastran input file (.bdf).
257
+ 9. Feat: `N2PNastranInputData.create_card()`: New method that allows creating Nastran cards completely from scratch, which will be added to the end of the Nastran input file once the `rebuild_file()` command is executed.
258
+
259
+ ### v.3.2.1
260
+ 1. BugFix: Derived components are now founded right while using `get_result_by_LCs_Incr()`.
261
+ 1. BugFix: All sections are now founded right while using `get_result_by_LCs_Incr()`.
262
+ 3. BugFix: Now symbols like "\" or "-" are supported as part of the name of Components and Load Cases while creating new derived Components and Derived Load Cases.
263
+
248
264
  # Documentation
249
265
 
250
266
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "NaxToPy"
7
- version = "3.1.2"
8
- license = {file = "LICENSE"}
7
+ version = "3.2.1"
8
+ license = {text = "MIT"}
9
9
  authors = [ { name = "Idaero Solutions", email = "manuel.sanchez@idaerosolutions.com" }, ]
10
10
  requires-python = ">=3.9"
11
11
  dependencies = ["pythonnet>=3.0.4",
12
- "numpy>=1.22.0",
12
+ "numpy>=1.26.0",
13
13
  "setuptools>=67.8.0",
14
14
  "h5py>=3.12.1"]
15
15
  description = "Package for postprocessing FEM results in Python"
@@ -1,9 +1,29 @@
1
1
  from __future__ import annotations # For compatibility with Python 3.9 or higher
2
2
 
3
- from NaxToPy.Core.Classes.N2PNastranInputData import N2PInputData
3
+ class N2PInputDataAbqs:
4
+ """General class for the information in an input file of Nastran
5
+ """
4
6
 
7
+ __slots__ = (
8
+ "__inputdata"
9
+ )
5
10
 
6
- class N2PKeyword(N2PInputData):
11
+ def __init__(self, inputdata):
12
+ self.__inputdata = inputdata
13
+
14
+ @property
15
+ def DataType(self) -> str:
16
+ return self.__inputdata.DataType.ToString()
17
+
18
+ @property
19
+ def Lines(self) -> list[str]:
20
+ return list(self.__inputdata.Lines)
21
+
22
+ @property
23
+ def FilePathId(self) -> int:
24
+ return self.__inputdata.FilePathId
25
+
26
+ class N2PKeyword(N2PInputDataAbqs):
7
27
 
8
28
  def __init__(self, info, dictKeywordToN2P, dictEntityToN2P):
9
29
  super().__init__(info)
@@ -4,11 +4,9 @@ from __future__ import annotations # For compatibility with Python 3.9 or highe
4
4
  from typing import Literal, overload
5
5
 
6
6
  from NaxToPy.Core.Errors.N2PLog import N2PLog
7
- from NaxToPy.Core.Classes.N2PNastranInputData import N2PInputData
8
7
  from NaxToPy.Core.Classes.ABQKeywords import *
9
8
  from NaxToPy.Core.Classes.ABQEntities import *
10
9
 
11
-
12
10
  class N2PAbaqusInputData:
13
11
  """
14
12
  Class with the complete data of an Abaqus MEF input file (text file usually with the extension .inp).
@@ -87,14 +85,14 @@ class N2PAbaqusInputData:
87
85
 
88
86
  # Método para obtener la lista de comentarios en el Input File -----------------------------------------------------
89
87
  @property
90
- def ListComments(self) -> list[N2PInputData, ]:
88
+ def ListComments(self) -> list[N2PInputDataAbqs, ]:
91
89
  """
92
90
  List with all the comments in the FEM Input File.
93
91
  """
94
92
  if self.__listcomments:
95
93
  return self.__listcomments
96
94
  else:
97
- self.__listcomments = [N2PInputData(i) for i in self.__inputfiledata.StructuredInfo.ModelComments]
95
+ self.__listcomments = [N2PInputDataAbqs(i) for i in self.__inputfiledata.StructuredInfo.ModelComments]
98
96
  return self.__listcomments
99
97
  # ------------------------------------------------------------------------------------------------------------------
100
98
 
@@ -454,7 +454,14 @@ class N2PComponent:
454
454
  i = 0
455
455
  n_opt = 0
456
456
  n_lcs = len(list_lc_incr)
457
-
457
+
458
+ if not sections:
459
+ if isinstance(list_lc_incr[0][0], int):
460
+ sections = list({section.Name for lc, _ in list_lc_incr for component in self._result_father._loadCase_father._modelFather.get_load_case(lc).Results[self._result_father.Name].Components.values() for section in component.Sections})
461
+ else:
462
+ sections = list({section.Name for lc, _ in list_lc_incr for component in lc.Results[self._result_father.Name].Components.values() for section in component.Sections})
463
+
464
+
458
465
  # A first shoot with a block of 5 load cases is made. The memory used in the process wil be measured
459
466
  # using the function _get_memory_usage(). Acording to de memory used, the optimum number of load cases
460
467
  # per block will be claculated and the remain load cases will be launched in blocks.
@@ -491,13 +498,13 @@ class N2PComponent:
491
498
 
492
499
  if not components[0]:
493
500
  py_dict.update({
494
- (int(key.split(":")[0].replace("DoF_LCD", "-").replace("DoF_LC", "")), int(key.split(":")[1][2:])) :
501
+ (int(key.split(":")[0].replace("DoF_LCD", "-").replace("DoF_LC", "")), int(key.split(":")[1][2:].replace("_DoF", ""))) :
495
502
  self._filter_array(np.array(value, np.float64), filter_list, None, ii_map, cornerData)
496
503
  for key, value in dict(cs_dict[0]).items()
497
504
  })
498
505
  else:
499
506
  py_dict.update({
500
- (int(key.split(":")[0].replace("DoF_LCD", "-").replace("DoF_LC", "")), int(key.split(":")[1][2:]), component) :
507
+ (int(key.split(":")[0].replace("DoF_LCD", "-").replace("DoF_LC", "")), int(key.split(":")[1][2:].replace("_DoF", "")), component) :
501
508
  self._filter_array(np.array(value, np.float64), filter_list, None, ii_map, cornerData)
502
509
  for key, value in dict(cs_dict[0]).items()
503
510
  })
@@ -520,6 +527,31 @@ class N2PComponent:
520
527
  self._result_father._loadCase_father._modelFather.clear_results_memory()
521
528
  # endwhile
522
529
 
530
+ # Check if the dictionary has the same number of keys as expected
531
+ if len(py_dict) != n_lcs * len(components):
532
+ N2PLog.Warning.W211()
533
+
534
+ # Create NaN array template
535
+ len_arr = len(next(iter(py_dict.values())))
536
+ arr = np.full(len_arr, np.nan)
537
+
538
+ # Fill missing keys
539
+ for lc_id, incr_id in list_lc_incr:
540
+ if isinstance(lc_id, int):
541
+ base_key = (lc_id, incr_id)
542
+ else:
543
+ base_key = (lc_id.ID, incr_id.ID)
544
+
545
+ if not components[0]:
546
+ # No components - use base key only
547
+ if base_key not in py_dict:
548
+ py_dict[base_key] = arr
549
+ else:
550
+ # With components - add component to key
551
+ for component in components:
552
+ key = (*base_key, component)
553
+ if key not in py_dict:
554
+ py_dict[key] = arr
523
555
  return py_dict
524
556
  # ------------------------------------------------------------------------------------------------------------------
525
557
 
@@ -619,16 +651,11 @@ class N2PComponent:
619
651
  if not isinstance(sections, list):
620
652
  msg = N2PLog.Error.E218()
621
653
  raise TypeError(msg)
622
- actual_sections = {s.Name for s in self.Sections}
623
654
  for section in sections:
624
655
  if type(section) is N2PSection:
625
656
  sectionParam += str(section.Name) + '#'
626
657
  else:
627
- if section in actual_sections:
628
- sectionParam += str(section) + '#'
629
- else:
630
- msg = N2PLog.Error.E238(section, actual_sections)
631
- raise Exception(msg)
658
+ sectionParam += str(section) + '#'
632
659
 
633
660
  resultsParameters.sectPoint = sectionParam
634
661