ANYsolver 0.4.2__tar.gz → 0.4.5__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 (984) hide show
  1. anysolver-0.4.5/CHANGELOG.md +250 -0
  2. anysolver-0.4.5/MANIFEST.in +22 -0
  3. anysolver-0.4.5/PKG-INFO +355 -0
  4. anysolver-0.4.5/README.md +313 -0
  5. anysolver-0.4.5/dependency-licenses.json +92 -0
  6. anysolver-0.4.5/docs/B3_GE_PRODUCTION_OPT_IN.md +23 -0
  7. anysolver-0.4.5/docs/GE_BEAM3_NATIVE_WORKFLOWS.md +99 -0
  8. anysolver-0.4.5/docs/releases/ANYsolver_0.4.5.md +28 -0
  9. anysolver-0.4.5/pyproject.toml +65 -0
  10. anysolver-0.4.5/src/ANYsolver.egg-info/PKG-INFO +355 -0
  11. anysolver-0.4.5/src/ANYsolver.egg-info/SOURCES.txt +388 -0
  12. anysolver-0.4.5/src/anysolver/__init__.py +960 -0
  13. anysolver-0.4.5/src/anysolver/_dyadic_bilinear.py +76 -0
  14. anysolver-0.4.5/src/anysolver/_dyadic_factor_chain.py +25 -0
  15. anysolver-0.4.5/src/anysolver/_ge_beam3_adaptive_arc_program.py +286 -0
  16. anysolver-0.4.5/src/anysolver/_ge_beam3_analysis_combined.py +102 -0
  17. anysolver-0.4.5/src/anysolver/_ge_beam3_analysis_fibre_translation.py +130 -0
  18. anysolver-0.4.5/src/anysolver/_ge_beam3_analysis_modal_snapshot.py +27 -0
  19. anysolver-0.4.5/src/anysolver/_ge_beam3_analysis_nodal_program.py +140 -0
  20. anysolver-0.4.5/src/anysolver/_ge_beam3_analysis_translation.py +147 -0
  21. anysolver-0.4.5/src/anysolver/_ge_beam3_analysis_translation_modal.py +84 -0
  22. anysolver-0.4.5/src/anysolver/_ge_beam3_arc_geometry.py +89 -0
  23. anysolver-0.4.5/src/anysolver/_ge_beam3_arc_program.py +304 -0
  24. anysolver-0.4.5/src/anysolver/_ge_beam3_authoritative_cell_seed.py +25 -0
  25. anysolver-0.4.5/src/anysolver/_ge_beam3_cell_identity.py +52 -0
  26. anysolver-0.4.5/src/anysolver/_ge_beam3_centered_mixed.py +104 -0
  27. anysolver-0.4.5/src/anysolver/_ge_beam3_centered_reference.py +182 -0
  28. anysolver-0.4.5/src/anysolver/_ge_beam3_complementary_section.py +122 -0
  29. anysolver-0.4.5/src/anysolver/_ge_beam3_compliance_snapshot_guard.py +20 -0
  30. anysolver-0.4.5/src/anysolver/_ge_beam3_conservative_backtrack.py +26 -0
  31. anysolver-0.4.5/src/anysolver/_ge_beam3_controlled_fibre_modes.py +105 -0
  32. anysolver-0.4.5/src/anysolver/_ge_beam3_coupled_beam_subdomain.py +128 -0
  33. anysolver-0.4.5/src/anysolver/_ge_beam3_coupled_modes.py +256 -0
  34. anysolver-0.4.5/src/anysolver/_ge_beam3_displacement_program.py +255 -0
  35. anysolver-0.4.5/src/anysolver/_ge_beam3_durable_coupled.py +251 -0
  36. anysolver-0.4.5/src/anysolver/_ge_beam3_elastic_seed_continuation.py +223 -0
  37. anysolver-0.4.5/src/anysolver/_ge_beam3_elastic_seed_modal.py +139 -0
  38. anysolver-0.4.5/src/anysolver/_ge_beam3_equilibrium_line_program.py +98 -0
  39. anysolver-0.4.5/src/anysolver/_ge_beam3_equilibrium_schur_solver.py +96 -0
  40. anysolver-0.4.5/src/anysolver/_ge_beam3_factor_chain_modes.py +103 -0
  41. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_cell.py +225 -0
  42. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_distributed_couples.py +190 -0
  43. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_kinematic_cell.py +75 -0
  44. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_line_program.py +157 -0
  45. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_line_work.py +87 -0
  46. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_reference_modal.py +103 -0
  47. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_schur_solver.py +134 -0
  48. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_section.py +285 -0
  49. anysolver-0.4.5/src/anysolver/_ge_beam3_fibre_static_boundary.py +112 -0
  50. anysolver-0.4.5/src/anysolver/_ge_beam3_g1_analysis.py +307 -0
  51. anysolver-0.4.5/src/anysolver/_ge_beam3_g1_elastic.py +161 -0
  52. anysolver-0.4.5/src/anysolver/_ge_beam3_g1_element.py +185 -0
  53. anysolver-0.4.5/src/anysolver/_ge_beam3_g1_operator.py +137 -0
  54. anysolver-0.4.5/src/anysolver/_ge_beam3_g2_analysis.py +176 -0
  55. anysolver-0.4.5/src/anysolver/_ge_beam3_g2_constraints.py +162 -0
  56. anysolver-0.4.5/src/anysolver/_ge_beam3_g3_analysis.py +385 -0
  57. anysolver-0.4.5/src/anysolver/_ge_beam3_g3_constraints.py +168 -0
  58. anysolver-0.4.5/src/anysolver/_ge_beam3_g3b_owner.py +296 -0
  59. anysolver-0.4.5/src/anysolver/_ge_beam3_g3b_q4_reference.py +186 -0
  60. anysolver-0.4.5/src/anysolver/_ge_beam3_g3b_reference.py +206 -0
  61. anysolver-0.4.5/src/anysolver/_ge_beam3_g3b_result_schema.py +107 -0
  62. anysolver-0.4.5/src/anysolver/_ge_beam3_g3b_s3_reference.py +185 -0
  63. anysolver-0.4.5/src/anysolver/_ge_beam3_g3b_weighted_reference.py +193 -0
  64. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_affine_q4_chart.py +58 -0
  65. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_affine_q4_increment_chart.py +257 -0
  66. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_affine_q4_recovery.py +434 -0
  67. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_affine_q4_registry.py +127 -0
  68. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_b2_physical.py +153 -0
  69. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_b2_physical_adapter.py +160 -0
  70. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_definition.py +117 -0
  71. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_local_beam.py +188 -0
  72. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_local_shell.py +352 -0
  73. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_owner.py +400 -0
  74. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_physical_authority.py +203 -0
  75. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_physical_owner.py +556 -0
  76. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_recovery.py +91 -0
  77. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_so3_numerics.py +81 -0
  78. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/__init__.py +1 -0
  79. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/authority.py +152 -0
  80. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/beam.py +196 -0
  81. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/boundary.py +38 -0
  82. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/chart.py +23 -0
  83. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/compensated.py +46 -0
  84. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/element.py +190 -0
  85. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/fit.py +54 -0
  86. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/joint.py +255 -0
  87. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/line_work.py +92 -0
  88. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/operator.py +147 -0
  89. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/owner.py +415 -0
  90. anysolver-0.4.5/src/anysolver/_ge_beam3_g3c_stable/shell.py +358 -0
  91. anysolver-0.4.5/src/anysolver/_ge_beam3_g4_completion.py +186 -0
  92. anysolver-0.4.5/src/anysolver/_ge_beam3_g4a_station_transaction.py +385 -0
  93. anysolver-0.4.5/src/anysolver/_ge_beam3_g5_completion.py +68 -0
  94. anysolver-0.4.5/src/anysolver/_ge_beam3_g6_domain.py +354 -0
  95. anysolver-0.4.5/src/anysolver/_ge_beam3_generalized_cell.py +149 -0
  96. anysolver-0.4.5/src/anysolver/_ge_beam3_generalized_ellipsoid_section.py +214 -0
  97. anysolver-0.4.5/src/anysolver/_ge_beam3_generalized_static_boundary.py +232 -0
  98. anysolver-0.4.5/src/anysolver/_ge_beam3_lifted_kinetic_factor.py +26 -0
  99. anysolver-0.4.5/src/anysolver/_ge_beam3_line_fibre_modes.py +121 -0
  100. anysolver-0.4.5/src/anysolver/_ge_beam3_load_program.py +275 -0
  101. anysolver-0.4.5/src/anysolver/_ge_beam3_loaded_modal.py +225 -0
  102. anysolver-0.4.5/src/anysolver/_ge_beam3_mixed_ad.py +242 -0
  103. anysolver-0.4.5/src/anysolver/_ge_beam3_native_analysis.py +484 -0
  104. anysolver-0.4.5/src/anysolver/_ge_beam3_native_arc.py +269 -0
  105. anysolver-0.4.5/src/anysolver/_ge_beam3_native_arc_adaptive.py +251 -0
  106. anysolver-0.4.5/src/anysolver/_ge_beam3_native_arc_restart.py +88 -0
  107. anysolver-0.4.5/src/anysolver/_ge_beam3_native_arc_source.py +62 -0
  108. anysolver-0.4.5/src/anysolver/_ge_beam3_native_buckling.py +206 -0
  109. anysolver-0.4.5/src/anysolver/_ge_beam3_native_combined_couples.py +179 -0
  110. anysolver-0.4.5/src/anysolver/_ge_beam3_native_combined_restart.py +205 -0
  111. anysolver-0.4.5/src/anysolver/_ge_beam3_native_definition.py +222 -0
  112. anysolver-0.4.5/src/anysolver/_ge_beam3_native_distributed_element.py +220 -0
  113. anysolver-0.4.5/src/anysolver/_ge_beam3_native_distributed_loading.py +92 -0
  114. anysolver-0.4.5/src/anysolver/_ge_beam3_native_distributed_program.py +165 -0
  115. anysolver-0.4.5/src/anysolver/_ge_beam3_native_distributed_recovery.py +34 -0
  116. anysolver-0.4.5/src/anysolver/_ge_beam3_native_distributed_restart.py +221 -0
  117. anysolver-0.4.5/src/anysolver/_ge_beam3_native_fibre_current_modal.py +104 -0
  118. anysolver-0.4.5/src/anysolver/_ge_beam3_native_fibre_recovery.py +34 -0
  119. anysolver-0.4.5/src/anysolver/_ge_beam3_native_fibre_restart.py +211 -0
  120. anysolver-0.4.5/src/anysolver/_ge_beam3_native_fibre_static_element.py +193 -0
  121. anysolver-0.4.5/src/anysolver/_ge_beam3_native_force_adaptation.py +56 -0
  122. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_combined_couples.py +188 -0
  123. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_combined_restart.py +207 -0
  124. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_element.py +222 -0
  125. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_factor_modal.py +122 -0
  126. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_loading.py +92 -0
  127. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_modal.py +274 -0
  128. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_paired_modal.py +13 -0
  129. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_parameter.py +89 -0
  130. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_program.py +195 -0
  131. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_recovery.py +34 -0
  132. anysolver-0.4.5/src/anysolver/_ge_beam3_native_generalized_restart.py +243 -0
  133. anysolver-0.4.5/src/anysolver/_ge_beam3_native_history_profile.py +53 -0
  134. anysolver-0.4.5/src/anysolver/_ge_beam3_native_line_loading.py +93 -0
  135. anysolver-0.4.5/src/anysolver/_ge_beam3_native_line_program.py +150 -0
  136. anysolver-0.4.5/src/anysolver/_ge_beam3_native_line_recovery.py +34 -0
  137. anysolver-0.4.5/src/anysolver/_ge_beam3_native_line_restart.py +197 -0
  138. anysolver-0.4.5/src/anysolver/_ge_beam3_native_line_static_element.py +220 -0
  139. anysolver-0.4.5/src/anysolver/_ge_beam3_native_load_admission.py +37 -0
  140. anysolver-0.4.5/src/anysolver/_ge_beam3_native_spatial_couples.py +176 -0
  141. anysolver-0.4.5/src/anysolver/_ge_beam3_native_spatial_restart.py +204 -0
  142. anysolver-0.4.5/src/anysolver/_ge_beam3_native_translation.py +225 -0
  143. anysolver-0.4.5/src/anysolver/_ge_beam3_native_translation_restart.py +54 -0
  144. anysolver-0.4.5/src/anysolver/_ge_beam3_operator_validation_scope.py +52 -0
  145. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/__init__.py +11 -0
  146. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/algebra.py +91 -0
  147. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/arrays.py +29 -0
  148. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/chart.py +45 -0
  149. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/codec.py +82 -0
  150. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/committed_modal.py +191 -0
  151. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/compensated.py +118 -0
  152. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/compensated_coordinates.py +44 -0
  153. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/core.py +159 -0
  154. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/element.py +207 -0
  155. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/factors.py +61 -0
  156. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/inertia.py +120 -0
  157. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/mass.py +70 -0
  158. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/mixed.py +256 -0
  159. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/reference_modal.py +73 -0
  160. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/section.py +139 -0
  161. anysolver-0.4.5/src/anysolver/_ge_beam3_p5/typed_schema.py +111 -0
  162. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/__init__.py +6 -0
  163. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/codec.py +84 -0
  164. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/committed_modal.py +192 -0
  165. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/core.py +171 -0
  166. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/element.py +216 -0
  167. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/mass.py +99 -0
  168. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/positions.py +34 -0
  169. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_centered/reference_modal.py +73 -0
  170. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_coordinates/__init__.py +6 -0
  171. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_coordinates/codec.py +84 -0
  172. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_coordinates/committed_modal.py +192 -0
  173. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_coordinates/core.py +163 -0
  174. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_coordinates/element.py +213 -0
  175. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_coordinates/positions.py +102 -0
  176. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_coordinates/reference_modal.py +73 -0
  177. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_loads/__init__.py +7 -0
  178. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_loads/codec.py +85 -0
  179. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_loads/core.py +192 -0
  180. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_loads/element.py +243 -0
  181. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_loads/state.py +120 -0
  182. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_loads/work.py +45 -0
  183. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_seeded/__init__.py +9 -0
  184. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_seeded/codec.py +87 -0
  185. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_seeded/core.py +197 -0
  186. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_seeded/element.py +245 -0
  187. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_seeded/state.py +122 -0
  188. anysolver-0.4.5/src/anysolver/_ge_beam3_p5_seeded/work.py +47 -0
  189. anysolver-0.4.5/src/anysolver/_ge_beam3_pose_joint.py +249 -0
  190. anysolver-0.4.5/src/anysolver/_ge_beam3_precise_geometric_work.py +136 -0
  191. anysolver-0.4.5/src/anysolver/_ge_beam3_reassembled_signed_modes.py +101 -0
  192. anysolver-0.4.5/src/anysolver/_ge_beam3_reference_identity.py +92 -0
  193. anysolver-0.4.5/src/anysolver/_ge_beam3_refined_fibre_schur_solver.py +104 -0
  194. anysolver-0.4.5/src/anysolver/_ge_beam3_refinement_capacity.py +19 -0
  195. anysolver-0.4.5/src/anysolver/_ge_beam3_relative_virgin_reference_modes.py +60 -0
  196. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_arc.py +350 -0
  197. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_arc_geometry.py +66 -0
  198. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_arc_modal.py +125 -0
  199. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_elastic.py +134 -0
  200. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_fibre.py +124 -0
  201. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_fibre_control.py +270 -0
  202. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_fibre_element.py +58 -0
  203. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_fibre_modal.py +155 -0
  204. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_fibre_modes.py +189 -0
  205. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_fibre_program.py +68 -0
  206. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_fibre_state.py +267 -0
  207. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_force_program.py +72 -0
  208. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_generalized.py +145 -0
  209. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_generalized_modal.py +171 -0
  210. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_generalized_program.py +63 -0
  211. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_generalized_state.py +287 -0
  212. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_nodal_loading.py +111 -0
  213. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_plastic.py +116 -0
  214. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_plastic_modes.py +144 -0
  215. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_plastic_program.py +69 -0
  216. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_plastic_state.py +165 -0
  217. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_state.py +194 -0
  218. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_translation_control.py +345 -0
  219. anysolver-0.4.5/src/anysolver/_ge_beam3_retained_translation_modal.py +137 -0
  220. anysolver-0.4.5/src/anysolver/_ge_beam3_schur_line_program.py +98 -0
  221. anysolver-0.4.5/src/anysolver/_ge_beam3_seeded_fibre_control.py +175 -0
  222. anysolver-0.4.5/src/anysolver/_ge_beam3_seeded_load_program.py +301 -0
  223. anysolver-0.4.5/src/anysolver/_ge_beam3_seeded_loaded_modal.py +226 -0
  224. anysolver-0.4.5/src/anysolver/_ge_beam3_seeded_signed_modes.py +150 -0
  225. anysolver-0.4.5/src/anysolver/_ge_beam3_shared_kinematic_split.py +53 -0
  226. anysolver-0.4.5/src/anysolver/_ge_beam3_shell_joint_state.py +390 -0
  227. anysolver-0.4.5/src/anysolver/_ge_beam3_shell_joint_trial.py +217 -0
  228. anysolver-0.4.5/src/anysolver/_ge_beam3_signed_loaded_modes.py +140 -0
  229. anysolver-0.4.5/src/anysolver/_ge_beam3_spatial_fibre_program.py +113 -0
  230. anysolver-0.4.5/src/anysolver/_ge_beam3_spatial_nodal_moments.py +38 -0
  231. anysolver-0.4.5/src/anysolver/_ge_beam3_station_resultant_cell.py +234 -0
  232. anysolver-0.4.5/src/anysolver/_ge_beam3_variational_shell.py +145 -0
  233. anysolver-0.4.5/src/anysolver/_ge_beam3_virgin_reference_modes.py +60 -0
  234. anysolver-0.4.5/src/anysolver/_native_dyadic_interval_inertia.py +64 -0
  235. anysolver-0.4.5/src/anysolver/_native_exact_shift_chain_modes.py +140 -0
  236. anysolver-0.4.5/src/anysolver/_native_exact_shift_inertia.py +86 -0
  237. anysolver-0.4.5/src/anysolver/_native_factor_chain_modes.py +192 -0
  238. anysolver-0.4.5/src/anysolver/_native_large_factor_chain.py +55 -0
  239. anysolver-0.4.5/src/anysolver/_native_material_protocol.py +51 -0
  240. anysolver-0.4.5/src/anysolver/_native_modal_capacity.py +26 -0
  241. anysolver-0.4.5/src/anysolver/_native_paired_factor_chain_modes.py +244 -0
  242. anysolver-0.4.5/src/anysolver/_native_reassembled_factor_modes.py +185 -0
  243. anysolver-0.4.5/src/anysolver/_native_reference_factor_spectrum.py +102 -0
  244. anysolver-0.4.5/src/anysolver/_native_reference_modal.py +180 -0
  245. anysolver-0.4.5/src/anysolver/_native_relative_factor_chain_modes.py +204 -0
  246. anysolver-0.4.5/src/anysolver/_native_relative_reference_factor_spectrum.py +110 -0
  247. anysolver-0.4.5/src/anysolver/_native_signed_factor_modes.py +257 -0
  248. anysolver-0.4.5/src/anysolver/_native_signed_kinetic_factor_modes.py +279 -0
  249. anysolver-0.4.5/src/anysolver/_native_stationary_spectrum.py +79 -0
  250. anysolver-0.4.5/src/anysolver/_paired_modal_arithmetic.py +71 -0
  251. anysolver-0.4.5/src/anysolver/_relative_reference_svd.py +44 -0
  252. anysolver-0.4.5/src/anysolver/arc_length.py +2398 -0
  253. anysolver-0.4.5/src/anysolver/b3_ge.py +169 -0
  254. anysolver-0.4.5/src/anysolver/beam_shell_verification.py +4685 -0
  255. anysolver-0.4.5/src/anysolver/boundary.py +812 -0
  256. anysolver-0.4.5/src/anysolver/contact.py +4657 -0
  257. anysolver-0.4.5/src/anysolver/elements.py +6140 -0
  258. anysolver-0.4.5/src/anysolver/fracture.py +621 -0
  259. anysolver-0.4.5/src/anysolver/ge_beam3_curved_reference.py +725 -0
  260. anysolver-0.4.5/src/anysolver/ge_beam3_element.py +885 -0
  261. anysolver-0.4.5/src/anysolver/ge_beam3_mixed_element.py +1216 -0
  262. anysolver-0.4.5/src/anysolver/ge_beam3_mixed_state.py +814 -0
  263. anysolver-0.4.5/src/anysolver/ge_beam3_native.py +129 -0
  264. anysolver-0.4.5/src/anysolver/ge_beam3_state.py +672 -0
  265. anysolver-0.4.5/src/anysolver/kernel_warmup.py +228 -0
  266. anysolver-0.4.5/src/anysolver/matrix_assembly.py +7034 -0
  267. anysolver-0.4.5/src/anysolver/nonlinear_element_evaluation.py +117 -0
  268. anysolver-0.4.5/src/anysolver/nonlinear_restart.py +1465 -0
  269. anysolver-0.4.5/src/anysolver/nonlinear_state.py +2800 -0
  270. anysolver-0.4.5/src/anysolver/nonlinear_static.py +6663 -0
  271. anysolver-0.4.5/src/anysolver/runtime.py +9324 -0
  272. anysolver-0.4.2/CHANGELOG.md +0 -210
  273. anysolver-0.4.2/MANIFEST.in +0 -13
  274. anysolver-0.4.2/PKG-INFO +0 -342
  275. anysolver-0.4.2/README.md +0 -300
  276. anysolver-0.4.2/dependency-licenses.json +0 -92
  277. anysolver-0.4.2/docs/E3_HW29_SOURCE_IDENTITY.md +0 -141
  278. anysolver-0.4.2/docs/E3_MITC9I_REFERENCE.md +0 -160
  279. anysolver-0.4.2/docs/E3_ROUTE_SELECTION_COMPLETION.md +0 -47
  280. anysolver-0.4.2/docs/E3_ROUTE_SELECTION_INDEPENDENT_REVIEW.md +0 -221
  281. anysolver-0.4.2/docs/E3_ROUTE_SELECTION_REPORT.md +0 -93
  282. anysolver-0.4.2/docs/E4_BASELINE_AND_AUTHORITY.md +0 -20
  283. anysolver-0.4.2/docs/E4_COMPLETION.md +0 -60
  284. anysolver-0.4.2/docs/E4_INDEPENDENT_REVIEW.md +0 -253
  285. anysolver-0.4.2/docs/E4_OPEN_CORE_IDENTITY.md +0 -223
  286. anysolver-0.4.2/docs/E4_PL_Q1AA_LOCAL_QUALIFICATION.md +0 -17
  287. anysolver-0.4.2/docs/E4_PL_Q1A_INDEPENDENT_REVIEW.md +0 -82
  288. anysolver-0.4.2/docs/E4_PL_Q1A_LOCAL_ALGEBRA.md +0 -175
  289. anysolver-0.4.2/docs/E4_PL_Q1A_PLANAR_IDENTITY.md +0 -236
  290. anysolver-0.4.2/docs/E4_PL_Q1A_PLAN_REVIEW.md +0 -113
  291. anysolver-0.4.2/docs/E4_PL_Q1A_QUALIFICATION_REPORT.md +0 -87
  292. anysolver-0.4.2/docs/E4_PL_Q1B_COMPLETION.md +0 -16
  293. anysolver-0.4.2/docs/E4_PL_Q1B_LOCAL_QUALIFICATION.md +0 -7
  294. anysolver-0.4.2/docs/E4_PL_Q1F_COMPLETION.md +0 -17
  295. anysolver-0.4.2/docs/E4_PL_Q1F_DOMAIN_COERCIVITY.md +0 -64
  296. anysolver-0.4.2/docs/E4_PL_Q1G_COMPLETION.md +0 -15
  297. anysolver-0.4.2/docs/E4_PL_Q1G_DOMAIN_COERCIVITY.md +0 -22
  298. anysolver-0.4.2/docs/E4_PL_Q1R_COMPLETION.md +0 -40
  299. anysolver-0.4.2/docs/E4_PL_Q1R_FRAME_IDENTITY.md +0 -359
  300. anysolver-0.4.2/docs/E4_PL_Q1R_INDEPENDENT_REVIEW.md +0 -120
  301. anysolver-0.4.2/docs/E4_PL_Q1R_LOCAL_QUALIFICATION.md +0 -77
  302. anysolver-0.4.2/docs/E4_PL_Q1R_PLAN_REVIEW.md +0 -153
  303. anysolver-0.4.2/docs/E4_PL_Q1S_COMPLETION.md +0 -53
  304. anysolver-0.4.2/docs/E4_PL_Q1S_LOCAL_QUALIFICATION.md +0 -90
  305. anysolver-0.4.2/docs/E4_PL_Q1T_COMPLETION.md +0 -63
  306. anysolver-0.4.2/docs/E4_PL_Q1T_LOCAL_QUALIFICATION.md +0 -105
  307. anysolver-0.4.2/docs/E4_PL_Q1U_COMPLETION.md +0 -25
  308. anysolver-0.4.2/docs/E4_PL_Q1U_LOCAL_QUALIFICATION.md +0 -13
  309. anysolver-0.4.2/docs/E4_PL_Q1V_COMPLETION.md +0 -25
  310. anysolver-0.4.2/docs/E4_PL_Q1V_LOCAL_QUALIFICATION.md +0 -15
  311. anysolver-0.4.2/docs/E4_PL_Q1W_BOUNDED_RESULT.md +0 -25
  312. anysolver-0.4.2/docs/E4_PL_Q1X_BOUNDED_RESULT.md +0 -27
  313. anysolver-0.4.2/docs/E4_PL_Q1Y2_PIPELINED_LOCAL_ALGEBRA.md +0 -30
  314. anysolver-0.4.2/docs/E4_PL_Q1Y3_LOCAL_ALGEBRA_CLOSURE.md +0 -25
  315. anysolver-0.4.2/docs/E4_PL_Q1Y_BOUNDED_LOCAL_ALGEBRA.md +0 -9
  316. anysolver-0.4.2/docs/E4_PL_Q1Z2_Q3STAR_SUPPORT_CLOSURE.md +0 -18
  317. anysolver-0.4.2/docs/E4_PL_Q1Z_SUPPORT_KKT_CLOSURE.md +0 -22
  318. anysolver-0.4.2/docs/E4_PL_VARIATIONAL_CLOSURE.md +0 -263
  319. anysolver-0.4.2/docs/E4_ROUTE_REPORT.md +0 -116
  320. anysolver-0.4.2/docs/E4_WS_FEASIBILITY_THEOREM.md +0 -100
  321. anysolver-0.4.2/docs/S4_CANDIDATE_A_OPEN_A1_RANK_CERTIFICATE.md +0 -63
  322. anysolver-0.4.2/docs/S4_CANDIDATE_A_OPEN_A2_INF_SUP_CERTIFICATE.md +0 -92
  323. anysolver-0.4.2/docs/S4_CANDIDATE_A_OPEN_INDEPENDENT_REVIEW.md +0 -79
  324. anysolver-0.4.2/docs/S4_CANDIDATE_A_OPEN_QUALIFICATION_REPORT.md +0 -89
  325. anysolver-0.4.2/docs/S4_CANDIDATE_C_QUOTIENT_DERIVATION.md +0 -131
  326. anysolver-0.4.2/docs/S4_CANDIDATE_C_QUOTIENT_INDEPENDENT_REVIEW.md +0 -104
  327. anysolver-0.4.2/docs/S4_CANDIDATE_C_QUOTIENT_QUALIFICATION_REPORT.md +0 -89
  328. anysolver-0.4.2/docs/S4_CANDIDATE_E0_FORMULATION_DERIVATION.md +0 -82
  329. anysolver-0.4.2/docs/S4_CANDIDATE_E0_INDEPENDENT_REVIEW.md +0 -86
  330. anysolver-0.4.2/docs/S4_CANDIDATE_E0_QUALIFICATION_REPORT.md +0 -90
  331. anysolver-0.4.2/docs/S4_CANDIDATE_E1_A_DERIVATION.md +0 -73
  332. anysolver-0.4.2/docs/S4_CANDIDATE_E1_A_INDEPENDENT_REVIEW.md +0 -211
  333. anysolver-0.4.2/docs/S4_CANDIDATE_E1_QUALIFICATION_REPORT.md +0 -102
  334. anysolver-0.4.2/docs/S4_CANDIDATE_E1_R_DERIVATION.md +0 -78
  335. anysolver-0.4.2/docs/S4_CANDIDATE_E1_R_INDEPENDENT_REVIEW.md +0 -205
  336. anysolver-0.4.2/docs/S4_DRILL_CONSTRAINT_DERIVATION.md +0 -211
  337. anysolver-0.4.2/docs/S4_E2_A_EXTENSION_CLOSURE.md +0 -48
  338. anysolver-0.4.2/docs/S4_E2_A_FORMULATION_DERIVATION.md +0 -242
  339. anysolver-0.4.2/docs/S4_E2_A_INDEPENDENT_REVIEW.md +0 -166
  340. anysolver-0.4.2/docs/S4_E2_A_QUALIFICATION_REPORT.md +0 -113
  341. anysolver-0.4.2/docs/S4_EQ21_EQ25_CORRECTION_PLAN.md +0 -141
  342. anysolver-0.4.2/docs/S4_FULL_PRODUCTION_QUALIFICATION_PROGRAM.md +0 -289
  343. anysolver-0.4.2/docs/S4_GEOMETRY_HANDOFF.md +0 -512
  344. anysolver-0.4.2/docs/S4_IMPROVED_FORMULATION.md +0 -513
  345. anysolver-0.4.2/docs/S4_IMPROVED_QUALIFICATION_FINAL_STATUS.md +0 -58
  346. anysolver-0.4.2/docs/S4_NULLSPACE_SEMANTICS_PROOF.md +0 -331
  347. anysolver-0.4.2/docs/S4_NULLSPACE_SEMANTICS_PROOF_PLAN.md +0 -680
  348. anysolver-0.4.2/docs/S4_PLAN_BASELINE_ADDENDUM.md +0 -68
  349. anysolver-0.4.2/docs/S4_REDUCED_RESEARCH.md +0 -201
  350. anysolver-0.4.2/docs/S4_RESTRICTED_RELEASE_STATUS.md +0 -99
  351. anysolver-0.4.2/docs/S4_STAGE_M_CANDIDATE_A_DISCRETIZATION_DERIVATION.md +0 -310
  352. anysolver-0.4.2/docs/S4_STAGE_M_CANDIDATE_A_DISCRETIZATION_REPORT.md +0 -82
  353. anysolver-0.4.2/docs/S4_STAGE_M_CONSTRAINED_DERIVATION.md +0 -77
  354. anysolver-0.4.2/docs/S4_STAGE_M_ENERGETIC_DERIVATION.md +0 -350
  355. anysolver-0.4.2/docs/S4_STAGE_M_MECHANICS_SELECTION_PLAN.md +0 -228
  356. anysolver-0.4.2/docs/S4_STAGE_M_SELECTION_REPORT.md +0 -89
  357. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_COMPANION_IMPLEMENTATION_PLAN.md +0 -101
  358. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V2_FORMULATION_PLAN.md +0 -46
  359. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V3_FORMULATION_PREREGISTRATION_PLAN.md +0 -99
  360. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V4A_Q4_SUBCELL_PREREGISTRATION_PLAN.md +0 -85
  361. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V4B_Q4_SUBCELL_DRILL_RELEASE_PREREGISTRATION_PLAN.md +0 -95
  362. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V4C_PHYSICAL_FIRST_SUBCELL_PREREGISTRATION_PLAN.md +0 -88
  363. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V4D_HERMITE_EDGE_PREREGISTRATION_PLAN.md +0 -82
  364. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V4E_SHEAR_DIAGNOSIS_PREREGISTRATION_PLAN.md +0 -58
  365. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5A_MIN3_SOURCE_AUTHORITY_PLAN.md +0 -89
  366. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5B_RELAXATION_AUTHORITY_PLAN.md +0 -99
  367. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5B_RELAXED_REPAIR_FUNNEL_PLAN.md +0 -85
  368. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5C_STAGE4A_REAUTHORIZATION_PLAN.md +0 -65
  369. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5D_RESPONSE_METRIC_DIAGNOSIS_PLAN.md +0 -60
  370. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5E_STAGE4A_SPATIAL_RESPONSE_PLAN.md +0 -57
  371. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5F_PRODUCTION_PARITY_PLAN.md +0 -54
  372. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V5G_STAGE4B_EXTENSION_AUTHORITY_PLAN.md +0 -48
  373. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6P_STAGE4A_COMPLETION_PLAN.md +0 -17
  374. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6Q_25PCT_SPATIAL_CORRECTION_PLAN.md +0 -45
  375. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6R_GATE_DECISION_AGREEMENT_PLAN.md +0 -31
  376. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6S_STAGE4B_PLAN.md +0 -42
  377. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6T_GLOBAL_ASSEMBLY_CACHE_PLAN.md +0 -34
  378. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6U_PERFORMANCE_SUCCESSOR_PLAN.md +0 -28
  379. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6V_ACTIVATION_GAP_AUDIT_PLAN.md +0 -34
  380. anysolver-0.4.2/docs/agent_plans/S3_E4_PL_V6W_FINAL_QUALIFICATION_PLAN.md +0 -29
  381. anysolver-0.4.2/docs/agent_plans/S4_CANDIDATE_A_OPEN_QUALIFICATION_PLAN.md +0 -79
  382. anysolver-0.4.2/docs/agent_plans/S4_CANDIDATE_C_LINEAR_QUOTIENT_QUALIFICATION_PLAN.md +0 -101
  383. anysolver-0.4.2/docs/agent_plans/S4_CANDIDATE_E0_DNV_LINEAR_BUCKLING_QUALIFICATION_PLAN.md +0 -110
  384. anysolver-0.4.2/docs/agent_plans/S4_CANDIDATE_E1_ALLMAN_SESTRA_QUALIFICATION_PLAN.md +0 -115
  385. anysolver-0.4.2/docs/agent_plans/S4_E2_A_SOURCE_KINEMATICS_PLAN.md +0 -121
  386. anysolver-0.4.2/docs/agent_plans/S4_E3_A_VARIATIONAL_CLOSURE_STUDY_PLAN.md +0 -100
  387. anysolver-0.4.2/docs/agent_plans/S4_E3_HW29_MITC9I_ROUTE_SELECTION_PLAN.md +0 -123
  388. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_LINEAR_QUALIFICATION_PLAN.md +0 -89
  389. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_PLANAR_LINEAR_QUALIFICATION_PLAN.md +0 -95
  390. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1AA_LOCAL_QUALIFICATION_SYNTHESIS_PLAN.md +0 -17
  391. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1B_NONINTRUSION_STABILITY_LOCKING_PLAN.md +0 -157
  392. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1C_LOCKING_REPAIR_PLAN.md +0 -21
  393. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1D_ULTRATHIN_CONDITIONING_PLAN.md +0 -11
  394. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1E_ASSEMBLED_READJUDICATION_PLAN.md +0 -24
  395. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1F_DOMAIN_COERCIVITY_PLAN.md +0 -117
  396. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1G_RIGID_RANGE_COERCIVITY_PLAN.md +0 -45
  397. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1H_DOMAIN_COERCIVITY_COMPLETION_PLAN.md +0 -51
  398. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1I_ASSEMBLED_QUALIFICATION_SYNTHESIS_PLAN.md +0 -33
  399. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1J_DORMANT_PRODUCTION_PARITY_PLAN.md +0 -60
  400. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1K_WARPED_PARITY_PLAN.md +0 -36
  401. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1L_DEFAULT_ACTIVATION_PLAN.md +0 -31
  402. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1M_BURNIN_HARDENING_PLAN.md +0 -163
  403. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1R_NUMBERED_FRAME_PLAN.md +0 -156
  404. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1S_IMPLEMENTATION_COMPLETION_PLAN.md +0 -491
  405. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1T_EXACT_ORACLE_COMPLETION_PLAN.md +0 -206
  406. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1U_EXECUTION_GUARD_COMPLETION_PLAN.md +0 -123
  407. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1V_LOCAL_COMPLETION_PLAN.md +0 -83
  408. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1W_BOUNDED_EXACT_PROOF_PLAN.md +0 -31
  409. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1X_BOUNDED_TRANSPORT_CLOSURE_PLAN.md +0 -35
  410. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1Y2_PIPELINED_LOCAL_ALGEBRA_PLAN.md +0 -24
  411. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1Y3_MITC_CHECKER_REPAIR_PLAN.md +0 -17
  412. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1Y_BOUNDED_LOCAL_ALGEBRA_PLAN.md +0 -25
  413. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1Z2_Q3STAR_SUPPORT_CLOSURE_PLAN.md +0 -17
  414. anysolver-0.4.2/docs/agent_plans/S4_E4_PL_Q1Z_BOUNDED_SUPPORT_KKT_PLAN.md +0 -22
  415. anysolver-0.4.2/docs/agent_plans/S4_E4_VARIATIONAL_DRILL_CLOSURE_PLAN.md +0 -113
  416. anysolver-0.4.2/docs/agent_plans/s4_batch_qualification_agent.md +0 -66
  417. anysolver-0.4.2/docs/agent_plans/s4_drill_constraint_tor_agent.md +0 -34
  418. anysolver-0.4.2/docs/agent_plans/s4_eq21_eq25_editor_agent.md +0 -75
  419. anysolver-0.4.2/docs/agent_plans/s4_handoff_director_agent.md +0 -64
  420. anysolver-0.4.2/docs/agent_plans/s4_handoff_numeric_hardening_addendum.md +0 -172
  421. anysolver-0.4.2/docs/agent_plans/s4_nullspace_heimdall_auditor.md +0 -84
  422. anysolver-0.4.2/docs/agent_plans/s4_nullspace_vidar_editor.md +0 -135
  423. anysolver-0.4.2/docs/agent_plans/s4_reference_core_agent.md +0 -62
  424. anysolver-0.4.2/docs/agent_plans/s4_stage_m_320_timeout_execution_addendum.md +0 -87
  425. anysolver-0.4.2/docs/agent_plans/s4_stage_m_candidate_a_discretization_addendum.md +0 -270
  426. anysolver-0.4.2/docs/reference_cases/README.md +0 -35
  427. anysolver-0.4.2/docs/reference_cases/e4_pl_s3_v2_dkmt_equation_map.md +0 -483
  428. anysolver-0.4.2/pyproject.toml +0 -65
  429. anysolver-0.4.2/reports/extract_mat_mesh_io_performance_review.md +0 -327
  430. anysolver-0.4.2/scripts/benchmark_advanced_s4_batches.py +0 -241
  431. anysolver-0.4.2/scripts/benchmark_contact_work_buffer.py +0 -255
  432. anysolver-0.4.2/scripts/benchmark_damage_matrix_updates.py +0 -189
  433. anysolver-0.4.2/scripts/benchmark_e4_pl_s3_reference_batch.py +0 -441
  434. anysolver-0.4.2/scripts/benchmark_impact_reduced_assembly.py +0 -275
  435. anysolver-0.4.2/scripts/benchmark_impact_tangent_reuse.py +0 -153
  436. anysolver-0.4.2/scripts/benchmark_nonlinear_assembly.py +0 -224
  437. anysolver-0.4.2/scripts/benchmark_recovery_batches.py +0 -128
  438. anysolver-0.4.2/scripts/benchmark_s4_improved.py +0 -280
  439. anysolver-0.4.2/scripts/benchmark_sol_ultra_performance.py +0 -1571
  440. anysolver-0.4.2/scripts/benchmark_sol_ultra_thread_scaling.py +0 -982
  441. anysolver-0.4.2/scripts/check_license_compliance.py +0 -226
  442. anysolver-0.4.2/scripts/check_s4_geometry_handoff.py +0 -477
  443. anysolver-0.4.2/scripts/compare_fe_baselines.py +0 -45
  444. anysolver-0.4.2/scripts/compare_s4_improved.py +0 -171
  445. anysolver-0.4.2/scripts/compare_sol_ultra_performance.py +0 -689
  446. anysolver-0.4.2/scripts/fetch_calculix_shell_reference.py +0 -79
  447. anysolver-0.4.2/scripts/generate_fe_baselines.py +0 -29
  448. anysolver-0.4.2/scripts/measure_e4_pl_q1m_baseline.py +0 -207
  449. anysolver-0.4.2/scripts/run_beam_shell_verification.py +0 -44
  450. anysolver-0.4.2/scripts/run_beam_validity.py +0 -58
  451. anysolver-0.4.2/scripts/run_buckling_validity.py +0 -55
  452. anysolver-0.4.2/scripts/run_capacity_workflow.py +0 -68
  453. anysolver-0.4.2/scripts/run_cylinder_benchmark.py +0 -57
  454. anysolver-0.4.2/scripts/run_e4_pl_burnin_gate.py +0 -7262
  455. anysolver-0.4.2/scripts/run_element_qualification.py +0 -70
  456. anysolver-0.4.2/scripts/run_external_references.py +0 -63
  457. anysolver-0.4.2/scripts/run_fe_benchmarks.py +0 -97
  458. anysolver-0.4.2/scripts/run_fe_verification.py +0 -737
  459. anysolver-0.4.2/scripts/run_internal_shell_benchmark.py +0 -64
  460. anysolver-0.4.2/scripts/run_mass_modal_validity.py +0 -120
  461. anysolver-0.4.2/scripts/run_mesh_load_bc_verification.py +0 -33
  462. anysolver-0.4.2/scripts/run_plasticity_qualification.py +0 -64
  463. anysolver-0.4.2/scripts/run_portable_ci.py +0 -426
  464. anysolver-0.4.2/scripts/run_recovery_policy.py +0 -30
  465. anysolver-0.4.2/scripts/run_s4_improved_qualification.py +0 -825
  466. anysolver-0.4.2/scripts/run_s4_validity.py +0 -84
  467. anysolver-0.4.2/scripts/verify_sol_ultra_numerics.py +0 -2834
  468. anysolver-0.4.2/scripts/write_production_readiness.py +0 -31
  469. anysolver-0.4.2/src/ANYsolver.egg-info/PKG-INFO +0 -342
  470. anysolver-0.4.2/src/ANYsolver.egg-info/SOURCES.txt +0 -711
  471. anysolver-0.4.2/src/anysolver/__init__.py +0 -952
  472. anysolver-0.4.2/src/anysolver/arc_length.py +0 -2397
  473. anysolver-0.4.2/src/anysolver/beam_shell_verification.py +0 -4550
  474. anysolver-0.4.2/src/anysolver/boundary.py +0 -805
  475. anysolver-0.4.2/src/anysolver/contact.py +0 -4648
  476. anysolver-0.4.2/src/anysolver/elements.py +0 -6126
  477. anysolver-0.4.2/src/anysolver/fracture.py +0 -620
  478. anysolver-0.4.2/src/anysolver/kernel_warmup.py +0 -180
  479. anysolver-0.4.2/src/anysolver/matrix_assembly.py +0 -7023
  480. anysolver-0.4.2/src/anysolver/nonlinear_element_evaluation.py +0 -104
  481. anysolver-0.4.2/src/anysolver/nonlinear_restart.py +0 -1453
  482. anysolver-0.4.2/src/anysolver/nonlinear_state.py +0 -2692
  483. anysolver-0.4.2/src/anysolver/nonlinear_static.py +0 -6471
  484. anysolver-0.4.2/src/anysolver/runtime.py +0 -9280
  485. anysolver-0.4.2/tests/_e4_pl_s3_native_trial.py +0 -83
  486. anysolver-0.4.2/tests/conftest.py +0 -16
  487. anysolver-0.4.2/tests/fixtures/fe_baselines/baseline.json +0 -219
  488. anysolver-0.4.2/tests/test_advanced_s4_batches.py +0 -338
  489. anysolver-0.4.2/tests/test_analysis_session.py +0 -393
  490. anysolver-0.4.2/tests/test_anyfileio_version_compatibility.py +0 -761
  491. anysolver-0.4.2/tests/test_anymesher_version_compatibility.py +0 -255
  492. anysolver-0.4.2/tests/test_arc_length.py +0 -393
  493. anysolver-0.4.2/tests/test_batch_b_activation.py +0 -11
  494. anysolver-0.4.2/tests/test_beam_axis_conventions.py +0 -155
  495. anysolver-0.4.2/tests/test_beam_shell_verification.py +0 -302
  496. anysolver-0.4.2/tests/test_constraint_audit.py +0 -160
  497. anysolver-0.4.2/tests/test_contact_work_buffer.py +0 -201
  498. anysolver-0.4.2/tests/test_corotational.py +0 -470
  499. anysolver-0.4.2/tests/test_corotational_performance.py +0 -173
  500. anysolver-0.4.2/tests/test_damage_matrix_performance.py +0 -347
  501. anysolver-0.4.2/tests/test_e3_baseline.py +0 -151
  502. anysolver-0.4.2/tests/test_e3_closeout.py +0 -274
  503. anysolver-0.4.2/tests/test_e3_hw29_identity.py +0 -251
  504. anysolver-0.4.2/tests/test_e3_mitc9i_reference.py +0 -240
  505. anysolver-0.4.2/tests/test_e3_route_selection.py +0 -159
  506. anysolver-0.4.2/tests/test_e4_baseline.py +0 -239
  507. anysolver-0.4.2/tests/test_e4_closeout.py +0 -270
  508. anysolver-0.4.2/tests/test_e4_core_identity.py +0 -164
  509. anysolver-0.4.2/tests/test_e4_pl_burnin.py +0 -1554
  510. anysolver-0.4.2/tests/test_e4_pl_component_snapshot_integrity.py +0 -347
  511. anysolver-0.4.2/tests/test_e4_pl_current_state_input_ownership.py +0 -210
  512. anysolver-0.4.2/tests/test_e4_pl_default_activation.py +0 -113
  513. anysolver-0.4.2/tests/test_e4_pl_dormant_element.py +0 -673
  514. anysolver-0.4.2/tests/test_e4_pl_functional_constructor_policy.py +0 -353
  515. anysolver-0.4.2/tests/test_e4_pl_guarded_observations.py +0 -574
  516. anysolver-0.4.2/tests/test_e4_pl_identity.py +0 -181
  517. anysolver-0.4.2/tests/test_e4_pl_mixed_current_state_route.py +0 -1750
  518. anysolver-0.4.2/tests/test_e4_pl_orchestrator_operation_lease.py +0 -1373
  519. anysolver-0.4.2/tests/test_e4_pl_parity_matrix.py +0 -101
  520. anysolver-0.4.2/tests/test_e4_pl_planar_physical_recovery.py +0 -819
  521. anysolver-0.4.2/tests/test_e4_pl_q1a_authority.py +0 -208
  522. anysolver-0.4.2/tests/test_e4_pl_q1a_exact.py +0 -344
  523. anysolver-0.4.2/tests/test_e4_pl_q1aa_local_qualification_synthesis.py +0 -106
  524. anysolver-0.4.2/tests/test_e4_pl_q1b_assembled_stability.py +0 -33
  525. anysolver-0.4.2/tests/test_e4_pl_q1b_closeout.py +0 -74
  526. anysolver-0.4.2/tests/test_e4_pl_q1b_contract.py +0 -211
  527. anysolver-0.4.2/tests/test_e4_pl_q1b_implementation_authority.py +0 -75
  528. anysolver-0.4.2/tests/test_e4_pl_q1b_locking_refinement.py +0 -39
  529. anysolver-0.4.2/tests/test_e4_pl_q1b_nonintrusion_recovery.py +0 -29
  530. anysolver-0.4.2/tests/test_e4_pl_q1b_preregistration_authority.py +0 -212
  531. anysolver-0.4.2/tests/test_e4_pl_q1b_runner_bounds.py +0 -37
  532. anysolver-0.4.2/tests/test_e4_pl_q1c_locking_repair.py +0 -114
  533. anysolver-0.4.2/tests/test_e4_pl_q1d_ultrathin_conditioning.py +0 -191
  534. anysolver-0.4.2/tests/test_e4_pl_q1e_assembled_readjudication.py +0 -189
  535. anysolver-0.4.2/tests/test_e4_pl_q1f_closeout.py +0 -519
  536. anysolver-0.4.2/tests/test_e4_pl_q1f_preregistration_authority.py +0 -349
  537. anysolver-0.4.2/tests/test_e4_pl_q1g_closeout.py +0 -84
  538. anysolver-0.4.2/tests/test_e4_pl_q1g_rigid_range_coercivity.py +0 -142
  539. anysolver-0.4.2/tests/test_e4_pl_q1h_domain_coercivity.py +0 -228
  540. anysolver-0.4.2/tests/test_e4_pl_q1i_assembled_qualification.py +0 -150
  541. anysolver-0.4.2/tests/test_e4_pl_q1r_closeout.py +0 -257
  542. anysolver-0.4.2/tests/test_e4_pl_q1r_preregistration_authority.py +0 -327
  543. anysolver-0.4.2/tests/test_e4_pl_q1s_closeout.py +0 -388
  544. anysolver-0.4.2/tests/test_e4_pl_q1s_frame_and_fields.py +0 -117
  545. anysolver-0.4.2/tests/test_e4_pl_q1s_global_supports.py +0 -51
  546. anysolver-0.4.2/tests/test_e4_pl_q1s_local_algebra.py +0 -63
  547. anysolver-0.4.2/tests/test_e4_pl_q1s_preregistration_authority.py +0 -410
  548. anysolver-0.4.2/tests/test_e4_pl_q1s_recovery.py +0 -87
  549. anysolver-0.4.2/tests/test_e4_pl_q1s_terminal_and_agreement.py +0 -116
  550. anysolver-0.4.2/tests/test_e4_pl_q1t_closeout.py +0 -477
  551. anysolver-0.4.2/tests/test_e4_pl_q1t_contract.py +0 -124
  552. anysolver-0.4.2/tests/test_e4_pl_q1t_exact_backend.py +0 -59
  553. anysolver-0.4.2/tests/test_e4_pl_q1t_frame_and_fields.py +0 -63
  554. anysolver-0.4.2/tests/test_e4_pl_q1t_global_supports.py +0 -22
  555. anysolver-0.4.2/tests/test_e4_pl_q1t_local_algebra.py +0 -31
  556. anysolver-0.4.2/tests/test_e4_pl_q1t_preregistration_authority.py +0 -260
  557. anysolver-0.4.2/tests/test_e4_pl_q1t_recovery.py +0 -33
  558. anysolver-0.4.2/tests/test_e4_pl_q1t_terminal_and_agreement.py +0 -45
  559. anysolver-0.4.2/tests/test_e4_pl_q1u_authority_guard.py +0 -254
  560. anysolver-0.4.2/tests/test_e4_pl_q1u_closeout.py +0 -200
  561. anysolver-0.4.2/tests/test_e4_pl_q1u_contract.py +0 -407
  562. anysolver-0.4.2/tests/test_e4_pl_q1u_exact_backend.py +0 -59
  563. anysolver-0.4.2/tests/test_e4_pl_q1u_frame_and_fields.py +0 -62
  564. anysolver-0.4.2/tests/test_e4_pl_q1u_global_supports.py +0 -21
  565. anysolver-0.4.2/tests/test_e4_pl_q1u_local_algebra.py +0 -30
  566. anysolver-0.4.2/tests/test_e4_pl_q1u_preregistration_authority.py +0 -192
  567. anysolver-0.4.2/tests/test_e4_pl_q1u_recovery.py +0 -32
  568. anysolver-0.4.2/tests/test_e4_pl_q1u_terminal_and_agreement.py +0 -45
  569. anysolver-0.4.2/tests/test_e4_pl_q1v_authority_guard.py +0 -291
  570. anysolver-0.4.2/tests/test_e4_pl_q1v_closeout.py +0 -213
  571. anysolver-0.4.2/tests/test_e4_pl_q1v_commissioning.py +0 -121
  572. anysolver-0.4.2/tests/test_e4_pl_q1v_contract.py +0 -488
  573. anysolver-0.4.2/tests/test_e4_pl_q1v_exact_backend.py +0 -141
  574. anysolver-0.4.2/tests/test_e4_pl_q1v_frame_and_fields.py +0 -62
  575. anysolver-0.4.2/tests/test_e4_pl_q1v_global_supports.py +0 -21
  576. anysolver-0.4.2/tests/test_e4_pl_q1v_local_algebra.py +0 -30
  577. anysolver-0.4.2/tests/test_e4_pl_q1v_preregistration_authority.py +0 -470
  578. anysolver-0.4.2/tests/test_e4_pl_q1v_recovery.py +0 -32
  579. anysolver-0.4.2/tests/test_e4_pl_q1v_terminal_and_agreement.py +0 -45
  580. anysolver-0.4.2/tests/test_e4_pl_q1w_bounded_proof.py +0 -194
  581. anysolver-0.4.2/tests/test_e4_pl_q1x_bounded_transport.py +0 -288
  582. anysolver-0.4.2/tests/test_e4_pl_q1y2_pipelined_local_algebra.py +0 -180
  583. anysolver-0.4.2/tests/test_e4_pl_q1y3_mitc_checker_repair.py +0 -178
  584. anysolver-0.4.2/tests/test_e4_pl_q1y_bounded_local_algebra.py +0 -185
  585. anysolver-0.4.2/tests/test_e4_pl_q1z2_q3star_support_closure.py +0 -103
  586. anysolver-0.4.2/tests/test_e4_pl_q1z_bounded_support_kkt.py +0 -136
  587. anysolver-0.4.2/tests/test_e4_pl_q4_current_tangent.py +0 -1110
  588. anysolver-0.4.2/tests/test_e4_pl_q4_state_lifecycle.py +0 -1564
  589. anysolver-0.4.2/tests/test_e4_pl_q4_stationary_conditioning.py +0 -164
  590. anysolver-0.4.2/tests/test_e4_pl_s3_assembly_fast_total.py +0 -487
  591. anysolver-0.4.2/tests/test_e4_pl_s3_bubble_policy.py +0 -196
  592. anysolver-0.4.2/tests/test_e4_pl_s3_committed_state.py +0 -843
  593. anysolver-0.4.2/tests/test_e4_pl_s3_contact_virtual_work.py +0 -773
  594. anysolver-0.4.2/tests/test_e4_pl_s3_current_tangent_buckling.py +0 -672
  595. anysolver-0.4.2/tests/test_e4_pl_s3_descriptor_hardening.py +0 -323
  596. anysolver-0.4.2/tests/test_e4_pl_s3_descriptor_spectrum.py +0 -683
  597. anysolver-0.4.2/tests/test_e4_pl_s3_direct_nonlinear_response.py +0 -460
  598. anysolver-0.4.2/tests/test_e4_pl_s3_domain_coercivity.py +0 -449
  599. anysolver-0.4.2/tests/test_e4_pl_s3_dynamic_guard.py +0 -108
  600. anysolver-0.4.2/tests/test_e4_pl_s3_exact_oracle.py +0 -406
  601. anysolver-0.4.2/tests/test_e4_pl_s3_fast_total.py +0 -410
  602. anysolver-0.4.2/tests/test_e4_pl_s3_formulation_contract.py +0 -1078
  603. anysolver-0.4.2/tests/test_e4_pl_s3_generalized_initial_fields.py +0 -767
  604. anysolver-0.4.2/tests/test_e4_pl_s3_generalized_nonlinear.py +0 -600
  605. anysolver-0.4.2/tests/test_e4_pl_s3_geometric_stiffness.py +0 -594
  606. anysolver-0.4.2/tests/test_e4_pl_s3_guard_persistence.py +0 -843
  607. anysolver-0.4.2/tests/test_e4_pl_s3_independent_linear_reference.py +0 -214
  608. anysolver-0.4.2/tests/test_e4_pl_s3_mass.py +0 -381
  609. anysolver-0.4.2/tests/test_e4_pl_s3_mixed_eigen_performance.py +0 -489
  610. anysolver-0.4.2/tests/test_e4_pl_s3_mixed_mesh_manifest.py +0 -781
  611. anysolver-0.4.2/tests/test_e4_pl_s3_mixed_mesh_qualification_runner.py +0 -511
  612. anysolver-0.4.2/tests/test_e4_pl_s3_mixed_structural_qualification.py +0 -639
  613. anysolver-0.4.2/tests/test_e4_pl_s3_modal.py +0 -420
  614. anysolver-0.4.2/tests/test_e4_pl_s3_modal_provenance.py +0 -205
  615. anysolver-0.4.2/tests/test_e4_pl_s3_model_bound_nonlinear_hook.py +0 -363
  616. anysolver-0.4.2/tests/test_e4_pl_s3_native_tl_covariance.py +0 -359
  617. anysolver-0.4.2/tests/test_e4_pl_s3_native_tl_full_d3.py +0 -661
  618. anysolver-0.4.2/tests/test_e4_pl_s3_native_tl_kernel.py +0 -426
  619. anysolver-0.4.2/tests/test_e4_pl_s3_native_tl_response.py +0 -279
  620. anysolver-0.4.2/tests/test_e4_pl_s3_nonlinear_workflows.py +0 -160
  621. anysolver-0.4.2/tests/test_e4_pl_s3_objective_pl.py +0 -423
  622. anysolver-0.4.2/tests/test_e4_pl_s3_opt_in.py +0 -977
  623. anysolver-0.4.2/tests/test_e4_pl_s3_patch_recovery.py +0 -406
  624. anysolver-0.4.2/tests/test_e4_pl_s3_physical_director_reversal.py +0 -631
  625. anysolver-0.4.2/tests/test_e4_pl_s3_physical_recovery.py +0 -1282
  626. anysolver-0.4.2/tests/test_e4_pl_s3_prestressed_modal_buckling.py +0 -2433
  627. anysolver-0.4.2/tests/test_e4_pl_s3_q4_burnin_authority.py +0 -7361
  628. anysolver-0.4.2/tests/test_e4_pl_s3_qv9_v1_nogo_closeout.py +0 -68
  629. anysolver-0.4.2/tests/test_e4_pl_s3_reference_batch.py +0 -1412
  630. anysolver-0.4.2/tests/test_e4_pl_s3_reference_surface_offset.py +0 -633
  631. anysolver-0.4.2/tests/test_e4_pl_s3_restart_history.py +0 -325
  632. anysolver-0.4.2/tests/test_e4_pl_s3_shared_rotation_kinematics.py +0 -248
  633. anysolver-0.4.2/tests/test_e4_pl_s3_state_lifecycle.py +0 -640
  634. anysolver-0.4.2/tests/test_e4_pl_s3_state_schema_closure.py +0 -894
  635. anysolver-0.4.2/tests/test_e4_pl_s3_transient_algebraic.py +0 -1452
  636. anysolver-0.4.2/tests/test_e4_pl_s3_v2_authority.py +0 -372
  637. anysolver-0.4.2/tests/test_e4_pl_s3_v2_bounded_process.py +0 -844
  638. anysolver-0.4.2/tests/test_e4_pl_s3_v2_candidate_binding.py +0 -211
  639. anysolver-0.4.2/tests/test_e4_pl_s3_v2_component_cache.py +0 -346
  640. anysolver-0.4.2/tests/test_e4_pl_s3_v2_dkmt_derivation.py +0 -287
  641. anysolver-0.4.2/tests/test_e4_pl_s3_v2_flat_candidate_review.py +0 -157
  642. anysolver-0.4.2/tests/test_e4_pl_s3_v2_flat_funnel.py +0 -916
  643. anysolver-0.4.2/tests/test_e4_pl_s3_v2_flat_funnel_checker.py +0 -372
  644. anysolver-0.4.2/tests/test_e4_pl_s3_v2_flat_funnel_producer.py +0 -897
  645. anysolver-0.4.2/tests/test_e4_pl_s3_v2_independent_reference.py +0 -320
  646. anysolver-0.4.2/tests/test_e4_pl_s3_v2_mixed_scope.py +0 -187
  647. anysolver-0.4.2/tests/test_e4_pl_s3_v2_production.py +0 -887
  648. anysolver-0.4.2/tests/test_e4_pl_s3_v2_production_reference.py +0 -306
  649. anysolver-0.4.2/tests/test_e4_pl_s3_v2_stage4a_authority.py +0 -1673
  650. anysolver-0.4.2/tests/test_e4_pl_s3_v2_stage4a_coordinator.py +0 -4852
  651. anysolver-0.4.2/tests/test_e4_pl_s3_v2b_interface_closeout.py +0 -23
  652. anysolver-0.4.2/tests/test_e4_pl_s3_v2b_interface_funnel.py +0 -106
  653. anysolver-0.4.2/tests/test_e4_pl_s3_v2b_production.py +0 -200
  654. anysolver-0.4.2/tests/test_e4_pl_s3_v2c_production.py +0 -210
  655. anysolver-0.4.2/tests/test_e4_pl_s3_v2d_linear_native_parity.py +0 -260
  656. anysolver-0.4.2/tests/test_e4_pl_s3_v2d_native_state_corotational.py +0 -292
  657. anysolver-0.4.2/tests/test_e4_pl_s3_v3_equation_authority.py +0 -122
  658. anysolver-0.4.2/tests/test_e4_pl_s3_v3_preregistration.py +0 -119
  659. anysolver-0.4.2/tests/test_e4_pl_s3_v3a_implementation_screen.py +0 -138
  660. anysolver-0.4.2/tests/test_e4_pl_s3_v4a_preregistration.py +0 -118
  661. anysolver-0.4.2/tests/test_e4_pl_s3_v4a_q4_subcell_screen.py +0 -150
  662. anysolver-0.4.2/tests/test_e4_pl_s3_v4b_drill_release_screen.py +0 -127
  663. anysolver-0.4.2/tests/test_e4_pl_s3_v4b_preregistration.py +0 -109
  664. anysolver-0.4.2/tests/test_e4_pl_s3_v4c_physical_first_screen.py +0 -132
  665. anysolver-0.4.2/tests/test_e4_pl_s3_v4c_preregistration.py +0 -72
  666. anysolver-0.4.2/tests/test_e4_pl_s3_v4d_hermite_edge_screen.py +0 -132
  667. anysolver-0.4.2/tests/test_e4_pl_s3_v4d_preregistration.py +0 -70
  668. anysolver-0.4.2/tests/test_e4_pl_s3_v4e_preregistration.py +0 -54
  669. anysolver-0.4.2/tests/test_e4_pl_s3_v4e_shear_diagnosis.py +0 -98
  670. anysolver-0.4.2/tests/test_e4_pl_s3_v5a_min3_screen.py +0 -124
  671. anysolver-0.4.2/tests/test_e4_pl_s3_v5a_preregistration.py +0 -155
  672. anysolver-0.4.2/tests/test_e4_pl_s3_v5b_relaxation_authority.py +0 -160
  673. anysolver-0.4.2/tests/test_e4_pl_s3_v5b_relaxed_screen.py +0 -144
  674. anysolver-0.4.2/tests/test_e4_pl_s3_v5c_stage4a.py +0 -121
  675. anysolver-0.4.2/tests/test_e4_pl_s3_v5d_response_metric.py +0 -152
  676. anysolver-0.4.2/tests/test_e4_pl_s3_v5e_stage4a_spatial.py +0 -167
  677. anysolver-0.4.2/tests/test_e4_pl_s3_v5f_production_parity.py +0 -132
  678. anysolver-0.4.2/tests/test_e4_pl_s3_v5g_stage4b_extension_authority.py +0 -82
  679. anysolver-0.4.2/tests/test_e4_pl_s3_v5h_closeout.py +0 -103
  680. anysolver-0.4.2/tests/test_e4_pl_s3_v5h_local_parity.py +0 -198
  681. anysolver-0.4.2/tests/test_e4_pl_s3_v5i_r1_closeout.py +0 -51
  682. anysolver-0.4.2/tests/test_e4_pl_s3_v5i_r1_diagnosis.py +0 -88
  683. anysolver-0.4.2/tests/test_e4_pl_s3_v5i_stage4b.py +0 -128
  684. anysolver-0.4.2/tests/test_e4_pl_s3_v5i_stage4b_closeout.py +0 -75
  685. anysolver-0.4.2/tests/test_e4_pl_s3_v5k_closeout.py +0 -68
  686. anysolver-0.4.2/tests/test_e4_pl_s3_v5k_protocol.py +0 -32
  687. anysolver-0.4.2/tests/test_e4_pl_s3_v5k_repair.py +0 -165
  688. anysolver-0.4.2/tests/test_e4_pl_s3_v5l_closeout.py +0 -51
  689. anysolver-0.4.2/tests/test_e4_pl_s3_v5l_protocol.py +0 -32
  690. anysolver-0.4.2/tests/test_e4_pl_s3_v5l_stage4b.py +0 -52
  691. anysolver-0.4.2/tests/test_e4_pl_s3_v5m_closeout.py +0 -44
  692. anysolver-0.4.2/tests/test_e4_pl_s3_v5m_parity.py +0 -90
  693. anysolver-0.4.2/tests/test_e4_pl_s3_v5m_protocol.py +0 -72
  694. anysolver-0.4.2/tests/test_e4_pl_s3_v5n_activation_audit.py +0 -78
  695. anysolver-0.4.2/tests/test_e4_pl_s3_v5n_closeout.py +0 -32
  696. anysolver-0.4.2/tests/test_e4_pl_s3_v6_native_parity_source_authority.py +0 -105
  697. anysolver-0.4.2/tests/test_e4_pl_s3_v6_native_parity_source_closeout.py +0 -72
  698. anysolver-0.4.2/tests/test_e4_pl_s3_v6a_linear_native_parity_closeout.py +0 -89
  699. anysolver-0.4.2/tests/test_e4_pl_s3_v6a_linear_native_parity_contract.py +0 -124
  700. anysolver-0.4.2/tests/test_e4_pl_s3_v6b_native_state_corotational_closeout.py +0 -121
  701. anysolver-0.4.2/tests/test_e4_pl_s3_v6b_native_state_corotational_contract.py +0 -245
  702. anysolver-0.4.2/tests/test_e4_pl_s3_v6c_offset_load_restart.py +0 -378
  703. anysolver-0.4.2/tests/test_e4_pl_s3_v6c_offset_load_restart_closeout.py +0 -123
  704. anysolver-0.4.2/tests/test_e4_pl_s3_v6c_offset_load_restart_contract.py +0 -163
  705. anysolver-0.4.2/tests/test_e4_pl_s3_v6d_activity_contact_batch.py +0 -301
  706. anysolver-0.4.2/tests/test_e4_pl_s3_v6d_activity_contact_batch_closeout.py +0 -123
  707. anysolver-0.4.2/tests/test_e4_pl_s3_v6d_activity_contact_batch_contract.py +0 -146
  708. anysolver-0.4.2/tests/test_e4_pl_s3_v6e_final_parity.py +0 -221
  709. anysolver-0.4.2/tests/test_e4_pl_s3_v6e_final_parity_closeout.py +0 -93
  710. anysolver-0.4.2/tests/test_e4_pl_s3_v6f_final_parity_audit.py +0 -137
  711. anysolver-0.4.2/tests/test_e4_pl_s3_v6g_closeout.py +0 -72
  712. anysolver-0.4.2/tests/test_e4_pl_s3_v6g_recovery_current_eigen.py +0 -248
  713. anysolver-0.4.2/tests/test_e4_pl_s3_v6h_closeout.py +0 -76
  714. anysolver-0.4.2/tests/test_e4_pl_s3_v6h_stage4a_authority.py +0 -198
  715. anysolver-0.4.2/tests/test_e4_pl_s3_v6i_stage4a_execution_authority.py +0 -287
  716. anysolver-0.4.2/tests/test_e4_pl_s3_v6i_stage4a_execution_closeout.py +0 -109
  717. anysolver-0.4.2/tests/test_e4_pl_s3_v6j_stage4a_execution_authority.py +0 -193
  718. anysolver-0.4.2/tests/test_e4_pl_s3_v6j_stage4a_execution_closeout.py +0 -113
  719. anysolver-0.4.2/tests/test_e4_pl_s3_v6k_stage4a_execution_authority.py +0 -169
  720. anysolver-0.4.2/tests/test_e4_pl_s3_v6k_stage4a_execution_closeout.py +0 -112
  721. anysolver-0.4.2/tests/test_e4_pl_s3_v6k_stage4a_request_authority.py +0 -123
  722. anysolver-0.4.2/tests/test_e4_pl_s3_v6k_stage4a_request_publisher.py +0 -83
  723. anysolver-0.4.2/tests/test_e4_pl_s3_v6l_stage4a_execution_authority.py +0 -196
  724. anysolver-0.4.2/tests/test_e4_pl_s3_v6l_stage4a_execution_closeout.py +0 -125
  725. anysolver-0.4.2/tests/test_e4_pl_s3_v6l_stage4a_request_authority.py +0 -148
  726. anysolver-0.4.2/tests/test_e4_pl_s3_v6m_bounded_timeout_closeout.py +0 -60
  727. anysolver-0.4.2/tests/test_e4_pl_s3_v6m_stage4a_execution_authority.py +0 -103
  728. anysolver-0.4.2/tests/test_e4_pl_s3_v6m_stage4a_execution_closeout.py +0 -73
  729. anysolver-0.4.2/tests/test_e4_pl_s3_v6m_stage4a_request_authority.py +0 -100
  730. anysolver-0.4.2/tests/test_e4_pl_s3_v6n_lease_optimization_closeout.py +0 -65
  731. anysolver-0.4.2/tests/test_e4_pl_s3_v6n_stage4a_profile.py +0 -97
  732. anysolver-0.4.2/tests/test_e4_pl_s3_v6o_stage4a_execution_closeout.py +0 -92
  733. anysolver-0.4.2/tests/test_e4_pl_s3_v6o_stage4a_missing_leaf_graph.py +0 -68
  734. anysolver-0.4.2/tests/test_e4_pl_s3_v6o_stage4a_request_authority.py +0 -90
  735. anysolver-0.4.2/tests/test_e4_pl_s3_v6p_stage4a_closeout.py +0 -69
  736. anysolver-0.4.2/tests/test_e4_pl_s3_v6p_stage4a_completion.py +0 -81
  737. anysolver-0.4.2/tests/test_e4_pl_s3_v6p_stage4a_execution_authority.py +0 -86
  738. anysolver-0.4.2/tests/test_e4_pl_s3_v6q_25pct_spatial.py +0 -175
  739. anysolver-0.4.2/tests/test_e4_pl_s3_v6r_gate_decision.py +0 -97
  740. anysolver-0.4.2/tests/test_e4_pl_s3_v6s_stage4b.py +0 -113
  741. anysolver-0.4.2/tests/test_e4_pl_s3_v6s_stage4b_closeout.py +0 -47
  742. anysolver-0.4.2/tests/test_e4_pl_s3_v6t_global_cache.py +0 -95
  743. anysolver-0.4.2/tests/test_e4_pl_s3_v6t_global_cache_authority.py +0 -56
  744. anysolver-0.4.2/tests/test_e4_pl_s3_v6t_global_cache_closeout.py +0 -46
  745. anysolver-0.4.2/tests/test_e4_pl_s3_v6u_performance.py +0 -93
  746. anysolver-0.4.2/tests/test_e4_pl_s3_v6u_performance_closeout.py +0 -71
  747. anysolver-0.4.2/tests/test_e4_pl_s3_v6v_activation_gap_audit.py +0 -123
  748. anysolver-0.4.2/tests/test_e4_pl_s3_v6v_activation_gap_closeout.py +0 -60
  749. anysolver-0.4.2/tests/test_e4_pl_s3_v6w_final_qualification.py +0 -93
  750. anysolver-0.4.2/tests/test_e4_pl_s3_v6w_final_qualification_closeout.py +0 -64
  751. anysolver-0.4.2/tests/test_e4_pl_transient_authority.py +0 -380
  752. anysolver-0.4.2/tests/test_e4_pl_warped_qualification.py +0 -545
  753. anysolver-0.4.2/tests/test_e4_pl_workflow_parity.py +0 -351
  754. anysolver-0.4.2/tests/test_e4_route.py +0 -182
  755. anysolver-0.4.2/tests/test_e4_ws_feasibility.py +0 -139
  756. anysolver-0.4.2/tests/test_element_activity.py +0 -237
  757. anysolver-0.4.2/tests/test_element_activity_integration.py +0 -100
  758. anysolver-0.4.2/tests/test_experimental_csr_assembly.py +0 -56
  759. anysolver-0.4.2/tests/test_external_references.py +0 -340
  760. anysolver-0.4.2/tests/test_extracted_package_wiring.py +0 -40
  761. anysolver-0.4.2/tests/test_fe_solver_anystructure_fem_mode.py +0 -506
  762. anysolver-0.4.2/tests/test_fe_solver_architecture.py +0 -147
  763. anysolver-0.4.2/tests/test_fe_solver_buckling.py +0 -472
  764. anysolver-0.4.2/tests/test_fe_solver_capacity_workflow.py +0 -158
  765. anysolver-0.4.2/tests/test_fe_solver_contact.py +0 -937
  766. anysolver-0.4.2/tests/test_fe_solver_corotational_beam.py +0 -121
  767. anysolver-0.4.2/tests/test_fe_solver_cylinder_benchmarks.py +0 -80
  768. anysolver-0.4.2/tests/test_fe_solver_dynamics.py +0 -99
  769. anysolver-0.4.2/tests/test_fe_solver_element_qualification.py +0 -179
  770. anysolver-0.4.2/tests/test_fe_solver_element_quality.py +0 -233
  771. anysolver-0.4.2/tests/test_fe_solver_fracture.py +0 -373
  772. anysolver-0.4.2/tests/test_fe_solver_infrastructure.py +0 -935
  773. anysolver-0.4.2/tests/test_fe_solver_mass_modal.py +0 -296
  774. anysolver-0.4.2/tests/test_fe_solver_nonlinear_dnv.py +0 -329
  775. anysolver-0.4.2/tests/test_fe_solver_nonlinear_limit_point.py +0 -99
  776. anysolver-0.4.2/tests/test_fe_solver_nonlinear_static.py +0 -420
  777. anysolver-0.4.2/tests/test_fe_solver_plasticity_qualification.py +0 -164
  778. anysolver-0.4.2/tests/test_fe_solver_recovery_policy.py +0 -263
  779. anysolver-0.4.2/tests/test_fe_solver_reference_cases.py +0 -328
  780. anysolver-0.4.2/tests/test_fe_solver_s4_validity.py +0 -104
  781. anysolver-0.4.2/tests/test_fe_solver_shell_verification.py +0 -251
  782. anysolver-0.4.2/tests/test_fe_solver_theory.py +0 -439
  783. anysolver-0.4.2/tests/test_fe_solver_triangular_shell.py +0 -250
  784. anysolver-0.4.2/tests/test_fe_solver_triangular_shell_backend.py +0 -441
  785. anysolver-0.4.2/tests/test_follower_pressure.py +0 -680
  786. anysolver-0.4.2/tests/test_generalized_beam_sections.py +0 -502
  787. anysolver-0.4.2/tests/test_generalized_section_api_workflows.py +0 -282
  788. anysolver-0.4.2/tests/test_generalized_section_mass_properties.py +0 -306
  789. anysolver-0.4.2/tests/test_generalized_shell_sections.py +0 -419
  790. anysolver-0.4.2/tests/test_generalized_state_recovery.py +0 -318
  791. anysolver-0.4.2/tests/test_geometry_panel.py +0 -114
  792. anysolver-0.4.2/tests/test_hht_alpha.py +0 -173
  793. anysolver-0.4.2/tests/test_hill48_plane_stress_plasticity.py +0 -368
  794. anysolver-0.4.2/tests/test_impact_reduced_assembly.py +0 -315
  795. anysolver-0.4.2/tests/test_impact_tangent_reuse.py +0 -230
  796. anysolver-0.4.2/tests/test_initial_fields_and_staged_history.py +0 -693
  797. anysolver-0.4.2/tests/test_license_compliance.py +0 -40
  798. anysolver-0.4.2/tests/test_local_patch_transition.py +0 -920
  799. anysolver-0.4.2/tests/test_material_history_recovery.py +0 -392
  800. anysolver-0.4.2/tests/test_mesh_load_bc_verification.py +0 -70
  801. anysolver-0.4.2/tests/test_mesher_improvements.py +0 -126
  802. anysolver-0.4.2/tests/test_mixed_shell_quadrature_grouping.py +0 -426
  803. anysolver-0.4.2/tests/test_namespace_neutral_deepcopy.py +0 -240
  804. anysolver-0.4.2/tests/test_native_rotation_state.py +0 -691
  805. anysolver-0.4.2/tests/test_nodal_stress_recovery.py +0 -112
  806. anysolver-0.4.2/tests/test_nonlinear_analysis_diagnostics.py +0 -68
  807. anysolver-0.4.2/tests/test_nonlinear_impact_plasticity.py +0 -651
  808. anysolver-0.4.2/tests/test_nonlinear_performance.py +0 -689
  809. anysolver-0.4.2/tests/test_nonlinear_performance_batch_b.py +0 -238
  810. anysolver-0.4.2/tests/test_nonlinear_performance_batch_c.py +0 -758
  811. anysolver-0.4.2/tests/test_nonlinear_restart_checkpoint.py +0 -468
  812. anysolver-0.4.2/tests/test_nonlinear_state_batches.py +0 -355
  813. anysolver-0.4.2/tests/test_nonlinear_state_lifecycle.py +0 -414
  814. anysolver-0.4.2/tests/test_nonlinear_static_state_lifecycle.py +0 -368
  815. anysolver-0.4.2/tests/test_orthotropic_elements.py +0 -791
  816. anysolver-0.4.2/tests/test_orthotropic_material_contract.py +0 -94
  817. anysolver-0.4.2/tests/test_orthotropic_workflow_integration.py +0 -690
  818. anysolver-0.4.2/tests/test_performance_improvements.py +0 -465
  819. anysolver-0.4.2/tests/test_phase2.py +0 -218
  820. anysolver-0.4.2/tests/test_plane_stress_analytical_tangent.py +0 -337
  821. anysolver-0.4.2/tests/test_production_readiness.py +0 -125
  822. anysolver-0.4.2/tests/test_production_validation.py +0 -190
  823. anysolver-0.4.2/tests/test_quadratic_beam_nonlinear.py +0 -148
  824. anysolver-0.4.2/tests/test_qualified_assembly_exception_precedence.py +0 -73
  825. anysolver-0.4.2/tests/test_qualified_mutation_epoch.py +0 -1047
  826. anysolver-0.4.2/tests/test_qualified_q4_assembly_authority.py +0 -344
  827. anysolver-0.4.2/tests/test_recovery_batches.py +0 -186
  828. anysolver-0.4.2/tests/test_recovery_qualification.py +0 -482
  829. anysolver-0.4.2/tests/test_runtime_api.py +0 -379
  830. anysolver-0.4.2/tests/test_s3_v2d_default_activation.py +0 -294
  831. anysolver-0.4.2/tests/test_s4_candidate_a_open_a1_rank.py +0 -172
  832. anysolver-0.4.2/tests/test_s4_candidate_a_open_a2_inf_sup.py +0 -225
  833. anysolver-0.4.2/tests/test_s4_candidate_a_open_qualification.py +0 -296
  834. anysolver-0.4.2/tests/test_s4_candidate_c_quotient_exact.py +0 -227
  835. anysolver-0.4.2/tests/test_s4_candidate_c_quotient_qualification.py +0 -200
  836. anysolver-0.4.2/tests/test_s4_candidate_e0_closeout.py +0 -125
  837. anysolver-0.4.2/tests/test_s4_candidate_e0_source_gate.py +0 -259
  838. anysolver-0.4.2/tests/test_s4_candidate_e1_a_exact_rank.py +0 -68
  839. anysolver-0.4.2/tests/test_s4_candidate_e1_a_qualification.py +0 -140
  840. anysolver-0.4.2/tests/test_s4_candidate_e1_closeout.py +0 -484
  841. anysolver-0.4.2/tests/test_s4_candidate_e1_r_exact_regularizer.py +0 -99
  842. anysolver-0.4.2/tests/test_s4_candidate_e1_r_qualification.py +0 -174
  843. anysolver-0.4.2/tests/test_s4_director_field.py +0 -476
  844. anysolver-0.4.2/tests/test_s4_drill_constraint_derivation.py +0 -262
  845. anysolver-0.4.2/tests/test_s4_e2_a_closeout.py +0 -341
  846. anysolver-0.4.2/tests/test_s4_e2_a_exact_kinematics.py +0 -273
  847. anysolver-0.4.2/tests/test_s4_e2_a_qualification.py +0 -238
  848. anysolver-0.4.2/tests/test_s4_eq21_eq25_reference.py +0 -535
  849. anysolver-0.4.2/tests/test_s4_geometry_handoff.py +0 -422
  850. anysolver-0.4.2/tests/test_s4_improved_qualification.py +0 -164
  851. anysolver-0.4.2/tests/test_s4_improved_qualification_closeout.py +0 -299
  852. anysolver-0.4.2/tests/test_s4_nullspace_semantics_proof.py +0 -365
  853. anysolver-0.4.2/tests/test_s4_restricted_activity.py +0 -73
  854. anysolver-0.4.2/tests/test_s4_restricted_integration.py +0 -150
  855. anysolver-0.4.2/tests/test_s4_stage_m_candidate_a_discretization.py +0 -137
  856. anysolver-0.4.2/tests/test_s4_stage_m_mechanics.py +0 -929
  857. anysolver-0.4.2/tests/test_sesam_fem.py +0 -130
  858. anysolver-0.4.2/tests/test_sol_ultra_benchmark_script.py +0 -170
  859. anysolver-0.4.2/tests/test_sol_ultra_comparison_script.py +0 -196
  860. anysolver-0.4.2/tests/test_sol_ultra_numerical_verification.py +0 -331
  861. anysolver-0.4.2/tests/test_sol_ultra_thread_scaling_script.py +0 -93
  862. anysolver-0.4.2/tests/test_solver_control_contracts.py +0 -801
  863. anysolver-0.4.2/tests/test_threading_policy.py +0 -342
  864. anysolver-0.4.2/tests/test_transient_reduced_output.py +0 -126
  865. anysolver-0.4.2/tests/test_vectorized_hill48.py +0 -545
  866. {anysolver-0.4.2 → anysolver-0.4.5}/COPYRIGHT +0 -0
  867. {anysolver-0.4.2 → anysolver-0.4.5}/LICENSE +0 -0
  868. {anysolver-0.4.2 → anysolver-0.4.5}/LICENSING.md +0 -0
  869. {anysolver-0.4.2 → anysolver-0.4.5}/MIGRATION.md +0 -0
  870. {anysolver-0.4.2 → anysolver-0.4.5}/THIRD_PARTY_NOTICES.md +0 -0
  871. {anysolver-0.4.2 → anysolver-0.4.5}/docs/ARCHITECTURE.md +0 -0
  872. {anysolver-0.4.2 → anysolver-0.4.5}/docs/ARC_LENGTH.md +0 -0
  873. {anysolver-0.4.2 → anysolver-0.4.5}/docs/E4_PL_MIGRATION.md +0 -0
  874. {anysolver-0.4.2 → anysolver-0.4.5}/docs/NONLINEAR_PERFORMANCE.md +0 -0
  875. {anysolver-0.4.2 → anysolver-0.4.5}/docs/PERFORMANCE_ARCHITECTURE.md +0 -0
  876. {anysolver-0.4.2 → anysolver-0.4.5}/docs/QUALITY_CONTROL.md +0 -0
  877. {anysolver-0.4.2 → anysolver-0.4.5}/docs/THEORY.md +0 -0
  878. {anysolver-0.4.2 → anysolver-0.4.5}/setup.cfg +0 -0
  879. {anysolver-0.4.2 → anysolver-0.4.5}/src/ANYsolver.egg-info/dependency_links.txt +0 -0
  880. {anysolver-0.4.2 → anysolver-0.4.5}/src/ANYsolver.egg-info/requires.txt +0 -0
  881. {anysolver-0.4.2 → anysolver-0.4.5}/src/ANYsolver.egg-info/top_level.txt +0 -0
  882. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/_native_rotation_state.py +0 -0
  883. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/_qualified_authority_epoch.py +0 -0
  884. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/activity.py +0 -0
  885. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/algebraic_dynamics.py +0 -0
  886. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/analysis_session.py +0 -0
  887. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/anystructure_fem_mode.py +0 -0
  888. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/assembly.py +0 -0
  889. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/baselines.py +0 -0
  890. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/beam_sections.py +0 -0
  891. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/beam_validity.py +0 -0
  892. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/benchmarks.py +0 -0
  893. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/buckling.py +0 -0
  894. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/buckling_validity.py +0 -0
  895. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/capacity_workflow.py +0 -0
  896. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/cases.py +0 -0
  897. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/composite_strip_verification.py +0 -0
  898. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/constraint_audit.py +0 -0
  899. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/contact_performance.py +0 -0
  900. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/control.py +0 -0
  901. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/corotational.py +0 -0
  902. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/corotational_performance.py +0 -0
  903. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/current_state_tangent.py +0 -0
  904. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/cylinder_benchmarks.py +0 -0
  905. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/damage_matrix_performance.py +0 -0
  906. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/dynamics.py +0 -0
  907. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_element.py +0 -0
  908. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_element.py +0 -0
  909. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_initial_fields.py +0 -0
  910. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_state.py +0 -0
  911. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_v2_element.py +0 -0
  912. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_v2b_element.py +0 -0
  913. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_v2c_element.py +0 -0
  914. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_v2d_element.py +0 -0
  915. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/e4_pl_s3_v2d_state.py +0 -0
  916. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/element_capabilities.py +0 -0
  917. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/element_qualification.py +0 -0
  918. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/experimental_csr_assembly.py +0 -0
  919. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/external_references.py +0 -0
  920. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/fe_core.py +0 -0
  921. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/impact_performance.py +0 -0
  922. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/impact_reduced_assembly.py +0 -0
  923. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/imperfections.py +0 -0
  924. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/initial_field_state.py +0 -0
  925. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/jit_compiler.py +0 -0
  926. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/linalg.py +0 -0
  927. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/mass_properties.py +0 -0
  928. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/material_curves.py +0 -0
  929. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/materials.py +0 -0
  930. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/mesh_gen.py +0 -0
  931. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/mesh_load_bc_verification.py +0 -0
  932. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/modal.py +0 -0
  933. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/nonlinear.py +0 -0
  934. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/nonlinear_analysis_diagnostics.py +0 -0
  935. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/nonlinear_performance.py +0 -0
  936. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/nonlinear_performance_batch_b.py +0 -0
  937. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/nonlinear_performance_batch_c.py +0 -0
  938. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/nonlinear_performance_bootstrap.py +0 -0
  939. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/nonlinear_reduced_assembly.py +0 -0
  940. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/outcomes.py +0 -0
  941. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/plasticity.py +0 -0
  942. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/plasticity_qualification.py +0 -0
  943. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/production_readiness.py +0 -0
  944. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/quality_control.py +0 -0
  945. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/quantities.py +0 -0
  946. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/recovery.py +0 -0
  947. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/recovery_batches.py +0 -0
  948. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/recovery_policy.py +0 -0
  949. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/recovery_s4.py +0 -0
  950. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/reference_cases.py +0 -0
  951. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/results.py +0 -0
  952. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/s3_reference_batch.py +0 -0
  953. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/s3_v2c_fast_assembly.py +0 -0
  954. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/s3_v2d_fast_assembly.py +0 -0
  955. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/s4_validity.py +0 -0
  956. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sections.py +0 -0
  957. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/__init__.py +0 -0
  958. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/__main__.py +0 -0
  959. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/diagnostics.py +0 -0
  960. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/document.py +0 -0
  961. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/exporter.py +0 -0
  962. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/importer.py +0 -0
  963. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/records.py +0 -0
  964. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/schema.py +0 -0
  965. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/sif_importer.py +0 -0
  966. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/sesam_fem/validation.py +0 -0
  967. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_benchmarks.py +0 -0
  968. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/director_field.py +0 -0
  969. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/geometry_provenance.py +0 -0
  970. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/mitc4_plus_d_quality.py +0 -0
  971. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/mitc4_plus_d_reference.py +0 -0
  972. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/mitc4_plus_d_scalar.py +0 -0
  973. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/protocol.py +0 -0
  974. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/q4_common.py +0 -0
  975. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_formulations/s4_restricted_policy.py +0 -0
  976. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/shell_sections.py +0 -0
  977. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/test_cases.py +0 -0
  978. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/threading_policy.py +0 -0
  979. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/validation.py +0 -0
  980. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/vectorized_beam.py +0 -0
  981. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/vectorized_generalized_shell.py +0 -0
  982. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/vectorized_hill48.py +0 -0
  983. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/vectorized_nonlinear.py +0 -0
  984. {anysolver-0.4.2 → anysolver-0.4.5}/src/anysolver/vectorized_stiffness.py +0 -0
@@ -0,0 +1,250 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## 0.4.5 - 2026-09-16
6
+
7
+ - Publish the bounded B3-GE opt-in release after correcting the isolated
8
+ installed-wheel gate to install the wheel's declared runtime dependencies.
9
+ - Preserve the failed v0.4.4 GitHub publication attempt as process evidence;
10
+ no v0.4.4 artifacts reached PyPI.
11
+ - Keep legacy B3 as the default and leave qualified Q4/S3 mechanics and
12
+ defaults unchanged.
13
+
14
+ ## 0.4.4 - 2026-09-16
15
+
16
+ - Publish the accepted `B3-GE` model-owned geometrically exact beam workflow
17
+ as an explicit `b3-ge` opt-in. Legacy B3 remains the default for every
18
+ existing three-node beam route and historical record.
19
+ - Bind the minor release to the accepted G7 production-opt-in evidence and a
20
+ bounded installed-wheel gate. Qualified Q4/S3 mechanics and defaults are
21
+ unchanged.
22
+ - Remove unreferenced development notes from the active tree and exclude
23
+ research plans, raw evidence, tests, and build scripts from release source
24
+ archives. The complete pre-cleanup tree remains available at the archive tag
25
+ `archive/anysolver-pre-0.4.4-development-20260916`.
26
+
27
+ ## 0.4.3 - 2026-09-09
28
+
29
+ - Add the explicitly selected `ge-beam3` straight mixed beam and the reviewed
30
+ `ge-beam3-native` model-owned straight/regular-curved beam workflows, with
31
+ declared generalized and physical-fibre sections, authenticated history,
32
+ recovery, restart, and admitted reference/current-rest spectral analysis.
33
+ - Add the reviewed objective eccentric generalized-beam connection to one
34
+ owned elastic qualified Q4 or S3 V2D through the native workflow API.
35
+ - Preserve the full development/qualification history and its scoped
36
+ independent acceptance. This is not qualification of generic mixed FEModel
37
+ routing, plastic/fibre-shell coupling, finite-velocity rotational dynamics,
38
+ arbitrary sections, or stable postbuckling paths from rest.
39
+ - Keep existing B2/B3, qualified Q4/S3 mechanics and all defaults unchanged.
40
+ See `docs/GE_BEAM3_NATIVE_WORKFLOWS.md` for the supported API and limitations.
41
+ - Separate the explicit current GE runtime CI inventory from preserved extended
42
+ experiments. Historical evidence and the unpublished qualification wheel
43
+ remain immutable; the versioned release wheel is verified separately.
44
+
45
+ ## 0.4.2 - 2026-09-03
46
+
47
+ - Canonicalize solver-owned compact qualified-Q4 plastic state once at the
48
+ accepted Newton finalization boundary. Public sealing remains fail-closed,
49
+ while restart and subsequent current-tangent replay become byte-exact.
50
+ - Preserve qualified Q4/S3 mechanics, coefficients, recovery, formulation
51
+ identities, and defaults.
52
+
53
+ ## 0.4.1 - 2026-09-03
54
+
55
+ - Correct the coordinated ecosystem dependency bands to require ANYmaterial
56
+ 0.2.x, ANYmesher 0.4.x, and ANYfileio 0.3.1 or newer. Version 0.4.0 carried the
57
+ pre-activation bands and cannot be resolved together with ANYfem 0.4.0.
58
+ - Add a release gate that resolves the built wheel with the exact coordinated
59
+ sibling releases before trusted publication.
60
+ - Admit only a fixed binary64 last-place envelope when scalar final-state
61
+ replay validates compact qualified-Q4 plastic states produced by vectorized
62
+ assembly. This fixes sealing after valid plastic increments while preserving
63
+ exact origin/configuration hashes, exact rich-state replay, and strict
64
+ rejection of material history differences. Qualified Q4/S3 mechanics and
65
+ formulation defaults are unchanged.
66
+
67
+ ## 0.4.0 - 2026-09-03
68
+
69
+ - Relicense ANYsolver source releases from GPL-3.0-or-later to MPL-2.0.
70
+ Earlier published versions retain the licence terms that applied to them.
71
+ - Publish a machine-readable direct-dependency licence inventory and preserve
72
+ third-party notices in source and wheel distributions. The extracted ANY
73
+ dependencies remain separately licensed and are not bundled or relicensed
74
+ by ANYsolver.
75
+ - Add release-time checks for repository metadata, notices, dependency
76
+ inventory, and licence files in built distributions.
77
+ - Document the qualified-S3 admission boundary for automatically imprinted
78
+ four-way shell intersections. These junctions continue to fail closed rather
79
+ than bypassing qualification or silently selecting legacy S3.
80
+ - Activate the V6W-qualified native-parity S3 V2D companion as the default
81
+ three-node shell for new/current-policy models. Historical records without
82
+ formulation authority remain explicit `legacy-s3`, direct `ShellElement`
83
+ construction remains legacy, and qualified S3 creation fails closed without
84
+ an authoritative physical owner normal. Qualified Q4 mechanics are unchanged.
85
+ - Mark the coordinated breaking activation boundary as ANYsolver 0.4.0 and
86
+ admit the compatible ANYmesher 0.3 line while retaining the strict 0.4 cap.
87
+
88
+ - Add the explicitly selected `e4-pl-s3`/`qualified-s3` linear MITC3+
89
+ companion candidate with frozen source identity, two bubble rotations,
90
+ basis-invariant three-mode PL completion, stable serialization identity,
91
+ authoritative-normal admission, formulation-native local recovery, and
92
+ analytic nodal-plus-bubble mass with the frozen Guyan reduction. The modal
93
+ solver excludes exact zero-inertia drill coordinates without inventing mass,
94
+ using coordinate-invariant static condensation for bounded systems and a
95
+ fail-closed swapped descriptor pencil for larger systems. The candidate now
96
+ also supplies formulation-native total-Lagrangian layered response,
97
+ stateless generalized-section geometry with analytically integrated initial
98
+ stress resultants and generalized eigenstrains, contact virtual work,
99
+ committed recovery without fabricated layer data, physical-director
100
+ reversal, current-state modal/buckling operators, and solver-owned
101
+ static/arc-length checkpoints. The original candidate remained opt-in until
102
+ the independent V6W qualification and this successor activation boundary.
103
+ - Keep qualified E4-PL as the production Q4 default and begin the explicit
104
+ legacy-Q4 retirement window. Legacy Q4 selectors now emit a dedicated
105
+ deprecation warning, diagnostics expose the selected formulation and
106
+ rollback lifecycle, and migration guidance freezes availability through
107
+ 0.4.x with removal no earlier than 0.5.0 after two clean release gates.
108
+ TRI3, TRI6, Q8, and Q8R remain unchanged.
109
+
110
+ ## 0.3.0 - 2026-08-23
111
+
112
+ - Preserve the corrected published-2025 S4 reference, nullspace proof, geometry
113
+ handoff, and qualification scaffold as dormant release evidence. The legacy
114
+ S4 remains the production default and improved-S4 activation remains
115
+ unavailable under the recorded restrictions; no gauge constraint, invented
116
+ stiffness, dispatch route, or activity-policy change is introduced.
117
+ - Widen the declared ANYfileio consumer range to `>=0.1,<0.3`, add pinned
118
+ source compatibility cells for the 0.1 and 0.2 public contracts, and align
119
+ the publication dependency gate. Installed-wheel, index-resolver, and
120
+ publication qualification remain separate release gates.
121
+ - Widen the declared ANYmesher consumer range to `>=0.1,<0.3`, add CI coverage
122
+ for pinned 0.1.0 and 0.2.1 endpoints, preserve the public neutral panel, mesh,
123
+ quality, and section contract, retain the strict 0.3 cap, and align CI and
124
+ publication dependency gates with the declared metadata.
125
+ - Complete the Sol Ultra `performance_2` campaign with qualified static/arc
126
+ persistent nonlinear state transactions, compiled canonical-curve Hill-48 batches,
127
+ orthotropic/generalized S4 kernels, revision-cached corotational block
128
+ transforms, large-selection isotropic S4 recovery, and direct reduced
129
+ elastic nonlinear-impact assembly. Unsupported formulations, curves, state
130
+ layouts, impact plastic/fiber history, small recovery selections, affine
131
+ constraints, and damage/state scopes retain explicit scalar or
132
+ full-coordinate fallbacks with reason diagnostics.
133
+ - Add conservative opt-in impact tangent/factorization reuse, compact lazy
134
+ contact records, and revision-guarded incremental damage K/M updates. A zero
135
+ reuse budget remains the full-Newton oracle; contact, convergence, plastic,
136
+ damage, deletion, time-step, and line-search changes force a refresh. Damage
137
+ plan setup is gated by projected future events and retained-memory headroom;
138
+ invalidation returns to the exact rebuild and never scales point masses.
139
+ - Add the optional caller-owned `AnalysisSession` for bounded K/M/constraint,
140
+ reduced-matrix, output-row, and factorization reuse across repeated linear,
141
+ modal, buckling, transient, and capacity work. Linear transient loads are
142
+ preprojected once and selected history output avoids full-vector
143
+ reconstruction when recovery does not require it. Explicit solver,
144
+ assembly, and recovery thread scopes remain independently controlled and are
145
+ restored after each call.
146
+ - Release 0.2.0 extraction boundary: material behavior now comes from
147
+ `ANYmaterial`, neutral geometry/meshing from `ANYmesher`, and SESAM/CalculiX
148
+ parsing and writing from `ANYfileio`. ANYsolver retains solver-specific
149
+ FEModel adapters, MPC elements, boundary interpretation, external execution,
150
+ comparisons, and the 0.2.x legacy import facades. Deterministic FE baselines
151
+ remain unchanged.
152
+ - Add dependency-free generalized section contracts: pre-integrated shell
153
+ `A/B/D/As` with membrane-bending coupling and optional areal inertia, plus a
154
+ coupled beam 6x6 stiffness and optional mass-per-length law. Generated
155
+ geometry accepts inline or named definitions; recovery exposes exact
156
+ generalized strains/resultants, nonlinear shell acceleration falls back
157
+ deterministically, and unsupported CalculiX/fiber/plastic mappings fail
158
+ closed.
159
+ - Add a dependency-free structural material contract and homogeneous
160
+ orthotropic engineering materials for shells and beams. This includes
161
+ projected shell material directions/angles, explicit orthotropic beam
162
+ torsional rigidity, generated-geometry and CalculiX shell interchange, and
163
+ deterministic fallback from isotropic accelerated kernels to general
164
+ assembly.
165
+ - Add material-axis Hill-48 shell plasticity with directional-strength
166
+ hardening, consistent tangent plus numerical oracle/fallback, stored physical
167
+ stress recovery, labelled Hill equivalent stress/utilization, orthotropic
168
+ beam-fiber longitudinal yielding, and damage/contact integration. General
169
+ anisotropy, laminates, ply failure, and shear/torsion plastic interaction
170
+ remain outside scope.
171
+ - Add an exact constant-stress analytical/CalculiX orthotropic S4 reference
172
+ deck, perfect-plastic Hill behavior when no hardening curve is supplied, and
173
+ current-strength Hill utilization with physical-stress recovery provenance.
174
+
175
+ ## 0.1.3 - 2026-07-28
176
+
177
+ - Complete the generated-geometry runtime bridge: apply configured shear force
178
+ and torsional moment, pass current-area follower pressure only to supported
179
+ nonlinear static/arc-length paths, retain the selected corotational
180
+ kinematics in arc length, and fail closed for incompatible follower paths.
181
+ Runtime prestress recovery now consumes matching committed nonlinear
182
+ histories and exposes Gauss-point membrane/bending resultants plus recovery
183
+ provenance.
184
+ - Correct nonlinear display recovery so plastic-history von Mises values use
185
+ only the return-mapped shell in-plane or beam-fiber components, while purely
186
+ elastic nonlinear states retain their full equivalent stress. Preserve
187
+ combinations with elastically reconstructed transverse shear/torsion as a
188
+ separately labelled model-scope diagnostic.
189
+ - Add the public `resolve_runtime_analysis()` contract so application GUIs can
190
+ reflect normalized nonlinear/material/control/kinematics selections without
191
+ importing private runtime helpers.
192
+
193
+ ## 0.1.2 - 2026-07-28
194
+
195
+ - Add opt-in executable CalculiX reference validation with isolated case runs,
196
+ stale-output protection, timeouts, solver version/hash provenance, ASCII
197
+ FRD/DAT parsing, tolerance-controlled comparisons, and preserved evidence
198
+ semantics. Deck-only generation remains explicitly `not_executed`; stale
199
+ non-executed legacy reports are regenerated deterministically, while invalid
200
+ executed evidence is preserved and rejected for diagnosis.
201
+ - Add current-area follower pressure and its exact, generally nonsymmetric
202
+ external-load tangent to nonlinear static and arc-length solves. Extend
203
+ shell initial-stress stiffness to the Mindlin translation/director field
204
+ using membrane, bending, and second stress moments, and add the qualified
205
+ thin-ring pressure-buckling gate.
206
+ - Add an opt-in consistent corotational tangent through the full
207
+ pull-back/frame/rotate-forward chain rule. `auto` retains the lower-cost
208
+ rotated tangent for ordinary loads and selects the consistent tangent for
209
+ follower pressure.
210
+ - Unify nonlinear stress recovery around committed shell-layer and beam-fiber
211
+ histories, matching solution displacements, objective corotational frames,
212
+ component-level provenance, and explicit elastic fallbacks. Add guarded
213
+ full-integration Q4/Q8 patch recovery that separates discontinuities and
214
+ labels its optional surface-stress L2 indicator as non-energy-norm.
215
+ - Add shell membrane/bending stress and prestrain fields plus beam-fiber
216
+ initial fields, with zero-load equilibration, immutable field provenance,
217
+ exact load-stage boundary commits, and persistent plastic history through
218
+ multi-stage displacement control.
219
+ - Replace the default finite-difference plane-stress algorithmic tangent with
220
+ the analytical consistent derivative of the discrete return map. Retain the
221
+ representable-step numerical tangent as a qualification oracle and guarded
222
+ invalid-row fallback, add a safeguarded local consistency solve with
223
+ fail-closed residual checks, and add constitutive and full-Newton
224
+ parity/performance evidence.
225
+ ## 0.1.1 - 2026-07-25
226
+
227
+ - Correct the layered-shell membrane/bending coupling tangent and keep the
228
+ accelerated plastic shell path consistent with the scalar return mapping.
229
+ - Fail closed for curved B3 members, experimental Q8R qualification, unsupported
230
+ DNV-RP-C208 thickness rows, and path-dependent staged displacement control.
231
+ - Include point masses in reported mass properties, make buckling constraints
232
+ call-order independent, and correct CalculiX gravity export.
233
+ - Remove quadratic model-construction and beam/shell coupling lookup scaling,
234
+ safely reset precomputed incoming elements, cache recovery operators and
235
+ topology signatures, defer optional acceleration imports, and use lower
236
+ PyPardiso thresholds only for compatible retained patterns.
237
+ - Preserve straight-sided B3 midpoint geometry through adaptive cylinder
238
+ refinement and reconstruct complete elastic layer states after accelerated
239
+ nonlinear solves.
240
+ - Add explicit runtime exports, generic generated-geometry API aliases, and
241
+ package-root arc-length exports.
242
+ - Adopt the pure-solver test files from ANYstructure (triangular shell
243
+ backend, local patch transition, geometry panel).
244
+
245
+ ## 0.1.0 - 2026-07-22
246
+
247
+ - Transfer the qualified beam/shell solver from ANYintelligent into its own package.
248
+ - Add the headless runtime meshing and analysis facade formerly embedded in ANYstructure.
249
+ - Publish the Python import namespace as `anysolver` without a legacy `fe_solver` shim.
250
+ - Preserve SESAM interchange, verification, qualification, benchmark, and baseline workflows.
@@ -0,0 +1,22 @@
1
+ include LICENSE
2
+ include COPYRIGHT
3
+ include LICENSING.md
4
+ include THIRD_PARTY_NOTICES.md
5
+ include dependency-licenses.json
6
+ include README.md
7
+ include CHANGELOG.md
8
+ include MIGRATION.md
9
+ prune docs
10
+ include docs/ARCHITECTURE.md
11
+ include docs/ARC_LENGTH.md
12
+ include docs/B3_GE_PRODUCTION_OPT_IN.md
13
+ include docs/E4_PL_MIGRATION.md
14
+ include docs/GE_BEAM3_NATIVE_WORKFLOWS.md
15
+ include docs/NONLINEAR_PERFORMANCE.md
16
+ include docs/PERFORMANCE_ARCHITECTURE.md
17
+ include docs/QUALITY_CONTROL.md
18
+ include docs/THEORY.md
19
+ include docs/releases/ANYsolver_0.4.5.md
20
+ prune reports
21
+ prune scripts
22
+ prune tests
@@ -0,0 +1,355 @@
1
+ Metadata-Version: 2.4
2
+ Name: ANYsolver
3
+ Version: 0.4.5
4
+ Summary: Qualified beam and shell finite-element solver
5
+ Author-email: Audun Arnesen Nyhus <audunarn@gmail.com>
6
+ License-Expression: MPL-2.0
7
+ Project-URL: Homepage, https://github.com/audunarn/ANYsolver
8
+ Project-URL: Repository, https://github.com/audunarn/ANYsolver
9
+ Project-URL: Issues, https://github.com/audunarn/ANYsolver/issues
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Topic :: Scientific/Engineering
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ License-File: COPYRIGHT
22
+ License-File: THIRD_PARTY_NOTICES.md
23
+ Requires-Dist: numpy>=1.26
24
+ Requires-Dist: scipy>=1.11
25
+ Requires-Dist: threadpoolctl>=3.5
26
+ Requires-Dist: ANYmaterial<0.3,>=0.2
27
+ Requires-Dist: ANYmesher<0.5,>=0.4
28
+ Requires-Dist: ANYfileio<0.4,>=0.3.1
29
+ Provides-Extra: numba
30
+ Requires-Dist: numba>=0.59; extra == "numba"
31
+ Provides-Extra: pardiso
32
+ Requires-Dist: pypardiso>=0.4; extra == "pardiso"
33
+ Provides-Extra: accelerated
34
+ Requires-Dist: numba>=0.59; extra == "accelerated"
35
+ Requires-Dist: pypardiso>=0.4; extra == "accelerated"
36
+ Provides-Extra: dev
37
+ Requires-Dist: build>=1.2; extra == "dev"
38
+ Requires-Dist: mpmath==1.3.0; extra == "dev"
39
+ Requires-Dist: pytest>=8; extra == "dev"
40
+ Requires-Dist: twine>=5; extra == "dev"
41
+ Dynamic: license-file
42
+
43
+ # ANYsolver finite-element solver
44
+
45
+ `anysolver` is a headless structural FE solver for beam,
46
+ shell, stiffened-panel, and cylindrical-shell analysis. It is an engineering
47
+ solver with an explicit qualification scope, not a general-purpose CAD,
48
+ contact, or fracture platform.
49
+
50
+ Install the released package with:
51
+
52
+ ```powershell
53
+ python -m pip install ANYsolver
54
+ ```
55
+
56
+ For coordinated local development across sibling repositories, install the
57
+ checkouts first:
58
+
59
+ ```powershell
60
+ python -m pip install -e C:\Github\ANYmaterial
61
+ python -m pip install -e C:\Github\ANYmesh
62
+ python -m pip install -e C:\Github\ANYfileIO
63
+ python -m pip install -e C:\Github\ANYsolver
64
+ ```
65
+
66
+ ### Release order for the 0.4 line
67
+
68
+ ANYsolver 0.4 depends on compatible extracted packages. Publish them to the
69
+ same target index in this order:
70
+
71
+ 1. `ANYmaterial` and `ANYmesher` (either order).
72
+ 2. `ANYfileio`, which depends on both.
73
+ 3. `ANYsolver` 0.4.x, which depends on all three.
74
+
75
+ Apply that order separately to TestPyPI and PyPI. The compatible sibling
76
+ releases are available on PyPI. The publish workflow checks the selected
77
+ target index and refuses to build or upload ANYsolver unless
78
+ `ANYmaterial>=0.1,<0.2`, `ANYmesher>=0.1,<0.4`, and
79
+ `ANYfileio>=0.1,<0.3` can already be resolved there. CI also uses pinned sibling
80
+ source checkouts to exercise the exact compatibility graph.
81
+
82
+ ANYsolver uses the neutral mesh, panel-generation, quality, and section APIs
83
+ available in ANYmesher 0.1 and retains compatibility through the additive 0.3
84
+ line. The strict `<0.4` cap prevents an unqualified major contract change.
85
+ The endpoint compatibility job exercises pinned 0.1.0 and 0.2.1 installed
86
+ wheels on Windows AMD64 CPython 3.13; that focused job is not a wider platform
87
+ or interpreter qualification claim.
88
+
89
+ Core analyses and the solver-owned generated-geometry workflow are available
90
+ directly from `anysolver`; the lightweight normalized flat-panel and cylinder
91
+ facade is exposed through `anysolver.runtime`:
92
+
93
+ ```python
94
+ from anysolver import (
95
+ FEModel,
96
+ GeneratedGeometryFEMConfig,
97
+ LoadCase,
98
+ run_generated_geometry_fem,
99
+ solve_linear,
100
+ )
101
+ from anysolver.runtime import (
102
+ LightweightFEMConfig,
103
+ resolve_runtime_analysis,
104
+ run_production_fem,
105
+ )
106
+ ```
107
+
108
+ The runtime facade applies its normalized axial force, bending moment, shear
109
+ force, torsional moment, and pressure inputs to the generated model. Set
110
+ `LightweightFEMConfig.follower_pressure=True` only for nonlinear static or
111
+ arc-length analysis using the `static only` or `nonlinear static` runtime
112
+ path; incompatible linear, stepwise eigenvalue-buckling, transient, collision,
113
+ and structured-capacity paths return an explicit `invalid_follower_pressure`
114
+ status. Arc length retains the requested von Karman or corotational
115
+ kinematics. Production runtime failures remain failures rather than being
116
+ replaced by an estimator.
117
+
118
+ Application integrations should use `resolve_runtime_analysis(config)` to
119
+ reflect the solver's effective nonlinear/material/control/kinematics choices;
120
+ the normalization helpers with leading underscores are implementation details.
121
+
122
+ The generic `GeneratedGeometryFEM*` names are the preferred workflow API.
123
+ Historical `AnyStructureFEM*` aliases remain available only for downstream
124
+ compatibility. Material selection is owned by `ANYmaterial`; the root-level
125
+ `dnv_c208_steel_properties()` and `dnv_c208_steel_curve()` names are temporary
126
+ compatibility imports over its canonical table and validation.
127
+
128
+ The source code and tests are authoritative. Generated reports under
129
+ `reports/` are dated evidence snapshots and must be regenerated after solver
130
+ changes before making release claims.
131
+
132
+ ## Functional overview
133
+
134
+ Production four-node shell selectors use the qualified E4-PL formulation by
135
+ default. New/current-policy three-node shell selectors use the independently
136
+ qualified E4-PL S3 V2D companion; historical S3 records without formulation
137
+ authority remain explicit legacy. TRI6, Q8, and Q8R remain on their established
138
+ implementations.
139
+
140
+ Qualified S3 admission intentionally fails closed where a triangle touches a
141
+ shell edge with more than two incident elements. Automatically imprinted
142
+ four-way sheet intersections therefore require junction-aware meshing support
143
+ or an explicit model-level legacy-S3 rollback; the mesher never silently
144
+ changes the formulation.
145
+ The explicit legacy-Q4 rollback is deprecated during the 0.4.x burn-in and is
146
+ scheduled for removal no earlier than 0.5.0; see
147
+ [the E4-PL migration guide](docs/E4_PL_MIGRATION.md) for diagnostics, rollback,
148
+ and release gates.
149
+
150
+ | Area | Implemented functionality |
151
+ | --- | --- |
152
+ | Model | Six DOFs per node; SI units; materials, density, nodal mass, shell/beam topology, supports, and MPC constraints. `audit_constraints()` reports equation provenance, feasibility, structural rank, dependency depth, and independent DOFs before assembly. |
153
+ | Materials | Constitutive objects, elastic reductions, Hill-48 yield data, and DNV curves come from `ANYmaterial`; ANYsolver owns their use in element integration and nonlinear solution. Orthotropic shells support material direction/angle and Hill-48 plasticity; orthotropic beams use local material axes and an explicit section torsional rigidity. |
154
+ | Shells | 3- and 6-node triangles; 4-node MITC-style and 8-node Mindlin-Reissner quadrilaterals; isotropic, rotated orthotropic, or pre-integrated generalized `A/B/D/As` section stiffness. Generalized sections retain membrane-bending coupling and recover exact strains/resultants without inventing ply stresses. |
155
+ | Beams | 2-node and straight-sided 3-node Timoshenko beams with axial, biaxial bending, direction-dependent shear, torsion, consistent/lumped mass options, geometric stiffness, optional fiber-section plasticity, or a fully coupled local 6x6 generalized section law. |
156
+ | Coupling | Coincident or eccentric beam-shell kinematics through explicit interpolated MPC transformations. |
157
+ | Loads | Nodal force/moment, dead or current-area follower shell pressure, in-plane edge loads, acceleration/gravity, prescribed displacement, load combinations, proportional and staged nonlinear loads. Follower pressure includes its exact, generally nonsymmetric external-load tangent. |
158
+ | Linear analysis | Static single- and multiple-RHS solves, reactions and MPC-force diagnostics, free-free rigid-body nullspace handling, sparse factorization reuse, and post-solve affine-constraint residual checks. |
159
+ | Modal and mass | Consistent mass assembly, point masses, model mass/inertia properties, constrained and free-free vibration modes. |
160
+ | Buckling | Linear eigenvalue buckling for beam axial force and shell Mindlin initial-stress resultants, including sparse shift-invert and repeated-mode diagnostics. A follower-load stiffness can be included when its constrained tangent is symmetric; a general nonsymmetric follower eigenproblem is outside scope. |
161
+ | Nonlinear static | Incremental Newton solution, adaptive stepping, force or displacement control, dead or follower pressure, von Karman or opt-in corotational kinematics, rotated or consistent corotational tangent, layered shell J2 or orthotropic Hill-48 plasticity with safeguarded local solves and consistent tangents, beam fiber plasticity, stage-boundary commits, true preload/restart displacement control, and simplified element erosion. |
162
+ | Continuation | Bounded Crisfield-style spherical arc-length tracing through a first limit point and a guarded descending branch, including current-area follower pressure and its load tangent. |
163
+ | Dynamics | Newmark or HHT-alpha implicit transient response, Rayleigh damping, prescribed shell pressure patches, selected/envelope history storage, and memory preflight. |
164
+ | Impact/contact | One rigid sphere with frictionless penalty contact against shells and opt-in beam-axis segments; event substepping, Aitken relaxation, nonlinear material response, and engineering damage/erosion options. |
165
+ | Imperfections | Stress-free eigenmode, member-bow, plate-wave, flange-twist, explicit, and composite imperfection fields. |
166
+ | Initial fields | Element-local shell membrane/bending stress or membrane/curvature prestrain, arbitrary configured beam-fiber stress/prestrain distributions, zero-external-load equilibration, admissibility checks, and provenance kept separate from geometric imperfections. |
167
+ | Workflows | Normalized generated geometry to static/prestress/buckling; traceable static-to-buckling-to-imperfect nonlinear-capacity workflow. |
168
+ | Interchange | `ANYfileio` owns SESAM/CalculiX parsing, validation, neutral semantics, and guarded writing. ANYsolver retains only neutral-record-to-`FEModel` adapters and the legacy compatibility imports introduced for the 0.2 line. |
169
+ | Results | Result provenance; unified elastic or committed shell-layer/beam-fiber stress recovery; Gauss-point membrane-force and bending-moment resultants for generated-geometry prestress; guarded Zienkiewicz-Zhu-style patch recovery for qualified shell neighborhoods; selected recovery; reaction filtering; validation diagnostics; deterministic baselines; benchmarks; and generated qualification reports. |
170
+ | External verification | Reproducible CalculiX model flattening, opt-in isolated execution, solver provenance, and tolerance-controlled analytical comparison, using `ANYfileio` for deck writing and FRD/DAT parsing. Deck-only reports remain explicitly `not_executed` and make no numerical-agreement claim. |
171
+
172
+ `StructuralMaterial` is a runtime-checkable, ANYmaterial-owned protocol containing
173
+ `name`, `density`, `elastic_symmetry`, and
174
+ `elastic_compliance_matrix()` in engineering Voigt order
175
+ `[11, 22, 33, 23, 13, 12]`. `FEModel.register_material()` accepts compatible
176
+ external objects through that contract;
177
+ `FEModel.add_orthotropic_material()` constructs the canonical
178
+ `OrthotropicMaterial`.
179
+
180
+ ANYmesher owns neutral mesh topology, numbering, quality and coupling records;
181
+ this package converts them into solver elements and exact constraints.
182
+ ANYfileio owns SESAM and CalculiX syntax; this package converts neutral records
183
+ to FEModel objects and retains execution and validation evidence.
184
+
185
+ Every production solver uses the same fixed/MPC preflight. Invalid or cyclic
186
+ systems fail before assembly or factorization. Linear, modal, buckling,
187
+ nonlinear, arc-length, transient, and impact results include a normalized
188
+ constraint residual diagnostic. Modal and buckling modes correctly verify the
189
+ homogeneous variation equations when the base model has prescribed offsets.
190
+
191
+ `ResourceConfig(solver_threads=N, assembly_threads=M)` now applies scoped
192
+ native and Numba limits. Native pools are restored even after exceptions, and
193
+ parallel Numba assembly suppresses nested BLAS/OpenMP pools to one thread.
194
+ Diagnostics record requested limits, active runtime pools, the selected sparse
195
+ backend, and any limiter/backend fallback. Omitting the resource policy retains
196
+ the backend's existing unrestricted default.
197
+
198
+ Applications that expect a large qualified-Q4 nonlinear analysis can move the
199
+ first-use JIT cost out of the interactive solve path with an explicit warm-up:
200
+
201
+ ```python
202
+ from anysolver import warm_fe_solver_kernels
203
+
204
+ warm_fe_solver_kernels(include_nonlinear_static=True)
205
+ ```
206
+
207
+ This opt-in helper builds and discards a small 4x4 Q4 batch solely to prepare
208
+ the existing native kernel. It does not change the application model, material
209
+ state, element mechanics, or normal solver behavior.
210
+
211
+ `GeneralizedShellSectionProtocol` and `GeneralizedBeamSectionContract` are
212
+ likewise solver-owned structural interfaces. The built-in
213
+ `GeneralizedShellSection(A, B, D, As, ...)` accepts pre-integrated laminate or
214
+ homogenized shell stiffness, while `GeneralizedBeamSection(stiffness, ...)`
215
+ accepts a coupled 6x6 sectional law. They may be attached directly to elements
216
+ or supplied inline/by name through generated geometry. Optional section mass
217
+ data override the legacy homogeneous mass construction; otherwise the attached
218
+ material, thickness, and legacy section geometry continue to define mass.
219
+
220
+ For shells, `material_direction` is projected into the shell plane and then
221
+ `material_angle_deg` is applied right-handed about the positive shell normal;
222
+ without a direction, the angle starts at shell-local x. For beams, material
223
+ axes 1/2/3 are beam-local x/y/z. Orthotropic beam sections must provide a
224
+ positive `cross_section["torsional_rigidity"]` in N*m^2; isotropic beams retain
225
+ `G*J`.
226
+
227
+ Implemented does not automatically mean qualified for every geometry or load
228
+ regime. The live capability matrix is produced by
229
+ `write_production_readiness_artifacts()` and the verification manifest.
230
+
231
+ ## Production scope
232
+
233
+ The qualified target is thin flat or cylindrical shell structure, with beam
234
+ stiffeners/girders represented through the documented coupling, inside the
235
+ verified mesh, material, distortion, eccentricity, and load ranges.
236
+
237
+ Important limits:
238
+
239
+ - no arbitrary CAD topology or automatic general-purpose meshing;
240
+ - no arbitrary 3-D anisotropic material law, ply-stack integration, ply stress
241
+ recovery, tension/compression-asymmetric composite failure, or progressive
242
+ composite damage. Pre-integrated linear shell `A/B/D/As` and beam 6x6
243
+ section laws are supported, including their elastic couplings;
244
+ - Q8R is experimental: its hourglass stabilization is not qualified for thin
245
+ bending and it is deliberately excluded from nonlinear batch acceleration;
246
+ - the 3-node quadratic beam is straight-sided; curved members must be
247
+ represented by straight beam segments until a true curved formulation is
248
+ implemented;
249
+ - the shell initial-stress operator covers the in-plane `N`, `M`, and `H`
250
+ stress moments acting on Mindlin midsurface translations and director
251
+ gradients; it does not add drilling, transverse-normal-stress, or a
252
+ geometrically exact finite-rotation shell/director formulation;
253
+ - current-area follower pressure is supported in nonlinear static and
254
+ arc-length analyses, with its exact load tangent. Linear/dead pressure
255
+ remains the default. Linear buckling rejects a constrained nonsymmetric
256
+ follower-pressure pencil because general complex nonconservative
257
+ eigenanalysis is not implemented;
258
+ - no general shell-shell, body-body, frictional, rolling, or self-contact;
259
+ - no fluid-structure interaction, cavitation, or water-entry model;
260
+ - no cohesive cracks, remeshing, material separation, or fracture-mechanics
261
+ claim—the erosion models are engineering screens;
262
+ - no unrestricted deep post-buckling or automatic bifurcation branch switching;
263
+ - the consistent corotational tangent includes frame derivatives and is
264
+ selected automatically for follower pressure, but its numerical
265
+ frame-sensitivity evaluation is costlier than the rotated tangent used by
266
+ default for ordinary corotational solves;
267
+ - material-history-aware recovery requires retained, matching committed
268
+ nonlinear layer/fiber states; missing or invalid state is reported and the
269
+ affected components fall back explicitly to elastic reconstruction;
270
+ - for legacy isotropic plastic histories, `von_mises` retains the established
271
+ return-mapped shell in-plane or beam-fiber scope. Orthotropic results keep
272
+ `von_mises` as the conventional invariant of the physical stress, including
273
+ matching elastic transverse shear/torsion reconstruction, while
274
+ `equivalent_stress` and `hill_utilization` remain explicitly scoped to the
275
+ Hill-return-mapped components. `mixed_reconstruction_von_mises` and recovery
276
+ provenance identify that mixed constitutive scope;
277
+ - the guarded patch-recovery fit is qualified only for locally planar,
278
+ consistently oriented, homogeneous, full-integration Q4 or Q8 shell
279
+ neighborhoods. Discontinuities remain separate, and the optional normalized
280
+ stress-L2 discrepancy is a diagnostic—not an energy-norm error estimate;
281
+ - initial stress/prestrain fields are qualified only in element-local reference
282
+ coordinates with `kinematics="von_karman"`. Shell fields use the documented
283
+ membrane/positive-face-bending convention, and beam fields require a
284
+ configured fiber section. Input stress must be admissible for the supplied
285
+ hardening state; equilibration may redistribute it and does not reconstruct
286
+ the manufacturing history. A field-bearing restart also requires its
287
+ matching converged displacement vector;
288
+ - the analytical plane-stress tangent is branch-consistent. The numerical
289
+ derivative remains an oracle and automatic invalid-row fallback; local
290
+ yield-residual nonconvergence fails closed;
291
+ - no unverified material laws or distortion ranges;
292
+ - orthotropic and generalized-section shells use the general
293
+ element/nonlinear paths and report deterministic fallback diagnostics;
294
+ generalized beams use the general element path, while the existing
295
+ accelerated shell kernels remain isotropic homogeneous-section only;
296
+ - generalized-section recovery is resultants-only. CalculiX export rejects
297
+ these sections because the current deck mapping cannot preserve their
298
+ coupling; use analytical or a dedicated section-capable reference model;
299
+ - SESAM `FEModel` export remains outside the supported interchange gate;
300
+ - CalculiX comparison requires a compatible local executable and an explicit
301
+ execution request. Deck generation alone is a reproducibility handoff, not
302
+ external numerical evidence.
303
+
304
+ Use `validate_production_model()`, the analysis-specific preflight checks, and
305
+ the generated production-scope artifacts before production use.
306
+
307
+ ## Documentation map
308
+
309
+ - [`ARCHITECTURE.md`](docs/ARCHITECTURE.md): package boundaries, analysis flow, and
310
+ invariants.
311
+ - [`THEORY.md`](docs/THEORY.md): implemented formulations and validity limits.
312
+ - [`ARC_LENGTH.md`](docs/ARC_LENGTH.md): continuation controls and use.
313
+ - [`NONLINEAR_PERFORMANCE.md`](docs/NONLINEAR_PERFORMANCE.md): nonlinear assembly,
314
+ sparse backend, threading, and diagnostics.
315
+ - [`QUALITY_CONTROL.md`](docs/QUALITY_CONTROL.md): verification commands, evidence
316
+ hierarchy, and current checked status.
317
+ - [`reference_cases/README.md`](docs/reference_cases/README.md):
318
+ local CalculiX/PrePoMax reference-case layout.
319
+ - [`MIGRATION.md`](MIGRATION.md): source provenance, inclusion boundary, and
320
+ import changes.
321
+ - [`extract_mat_mesh_io_performance_review.md`](reports/extract_mat_mesh_io_performance_review.md):
322
+ current extraction, assembly, nonlinear, MPC and buckling performance evidence.
323
+ ## Basic verification
324
+
325
+ From the repository root:
326
+
327
+ ```powershell
328
+ python -m pytest tests -q -p no:cacheprovider
329
+ python run_qc.py --no-save
330
+ python scripts/run_fe_verification.py
331
+ ```
332
+
333
+ The last command regenerates the canonical JSON and Markdown evidence under
334
+ `reports/verification/`. Its default external-reference mode generates
335
+ handoff decks with status `not_executed`; that status is not a pass or a claim
336
+ of numerical agreement. To execute the comparisons, provide a compatible
337
+ CalculiX executable on `PATH`, through `ANYSOLVER_CALCULIX_EXECUTABLE`, or with
338
+ `--calculix`, and run:
339
+
340
+ ```powershell
341
+ python scripts/run_fe_verification.py --execute-calculix
342
+ ```
343
+
344
+ An external case becomes passing evidence only after isolated execution,
345
+ successful FRD/DAT parsing, and every declared comparison meeting its
346
+ tolerance.
347
+
348
+ ## License
349
+
350
+ Starting with version 0.4.0, this project is licensed under the Mozilla Public
351
+ License 2.0. See [LICENSE](LICENSE) for the full terms and
352
+ [LICENSING.md](LICENSING.md) for the transition and third-party scope.
353
+
354
+ Earlier published versions remain available under the licence terms that
355
+ applied to those versions.