ANYsolver 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. anysolver/__init__.py +631 -0
  2. anysolver/anystructure_fem_mode.py +942 -0
  3. anysolver/arc_length.py +758 -0
  4. anysolver/assembly.py +950 -0
  5. anysolver/baselines.py +303 -0
  6. anysolver/beam_shell_verification.py +4276 -0
  7. anysolver/beam_validity.py +110 -0
  8. anysolver/benchmarks.py +495 -0
  9. anysolver/boundary.py +476 -0
  10. anysolver/buckling.py +442 -0
  11. anysolver/buckling_validity.py +91 -0
  12. anysolver/capacity_workflow.py +350 -0
  13. anysolver/cases.py +173 -0
  14. anysolver/composite_strip_verification.py +297 -0
  15. anysolver/contact.py +3461 -0
  16. anysolver/corotational.py +371 -0
  17. anysolver/cylinder_benchmarks.py +364 -0
  18. anysolver/dynamics.py +723 -0
  19. anysolver/element_qualification.py +432 -0
  20. anysolver/elements.py +2724 -0
  21. anysolver/external_references.py +369 -0
  22. anysolver/fe_core.py +327 -0
  23. anysolver/fracture.py +551 -0
  24. anysolver/imperfections.py +390 -0
  25. anysolver/jit_compiler.py +108 -0
  26. anysolver/kernel_warmup.py +180 -0
  27. anysolver/linalg.py +760 -0
  28. anysolver/mass_properties.py +179 -0
  29. anysolver/material_curves.py +231 -0
  30. anysolver/matrix_assembly.py +558 -0
  31. anysolver/mesh_gen.py +1065 -0
  32. anysolver/mesh_load_bc_verification.py +609 -0
  33. anysolver/modal.py +282 -0
  34. anysolver/nonlinear.py +300 -0
  35. anysolver/nonlinear_performance.py +920 -0
  36. anysolver/nonlinear_performance_batch_b.py +592 -0
  37. anysolver/nonlinear_performance_batch_c.py +506 -0
  38. anysolver/nonlinear_performance_bootstrap.py +120 -0
  39. anysolver/nonlinear_reduced_assembly.py +760 -0
  40. anysolver/nonlinear_static.py +1518 -0
  41. anysolver/plasticity.py +419 -0
  42. anysolver/plasticity_qualification.py +314 -0
  43. anysolver/production_readiness.py +304 -0
  44. anysolver/quality_control.py +1497 -0
  45. anysolver/recovery.py +505 -0
  46. anysolver/recovery_policy.py +205 -0
  47. anysolver/reference_cases.py +425 -0
  48. anysolver/results.py +503 -0
  49. anysolver/runtime.py +9030 -0
  50. anysolver/s4_validity.py +326 -0
  51. anysolver/sesam_fem/__init__.py +55 -0
  52. anysolver/sesam_fem/__main__.py +80 -0
  53. anysolver/sesam_fem/diagnostics.py +65 -0
  54. anysolver/sesam_fem/document.py +814 -0
  55. anysolver/sesam_fem/exporter.py +84 -0
  56. anysolver/sesam_fem/importer.py +365 -0
  57. anysolver/sesam_fem/records.py +257 -0
  58. anysolver/sesam_fem/schema.py +107 -0
  59. anysolver/sesam_fem/sif_importer.py +397 -0
  60. anysolver/sesam_fem/validation.py +62 -0
  61. anysolver/shell_benchmarks.py +367 -0
  62. anysolver/test_cases.py +610 -0
  63. anysolver/validation.py +416 -0
  64. anysolver/vectorized_nonlinear.py +334 -0
  65. anysolver/vectorized_stiffness.py +571 -0
  66. anysolver-0.1.0.dist-info/METADATA +165 -0
  67. anysolver-0.1.0.dist-info/RECORD +70 -0
  68. anysolver-0.1.0.dist-info/WHEEL +5 -0
  69. anysolver-0.1.0.dist-info/licenses/LICENSE +674 -0
  70. anysolver-0.1.0.dist-info/top_level.txt +1 -0
anysolver/__init__.py ADDED
@@ -0,0 +1,631 @@
1
+ """ANYsolver beam/shell finite-element package.
2
+
3
+ The package provides native model/element/load objects, separate matrix
4
+ assembly, constrained and free-free linear solves, mass/modal and eigenvalue
5
+ buckling analysis, incremental geometric/material nonlinear statics,
6
+ corotational large-rotation response, implicit transient dynamics, limited
7
+ rigid-sphere contact and engineering erosion, generated-geometry/capacity
8
+ workflows, result recovery, and SESAM formatted FEM interchange.
9
+
10
+ All nodes use ``ux, uy, uz, rx, ry, rz`` in SI units. Supports and beam-shell
11
+ MPCs share the affine ``u = T q + u0`` reduction, and K/M/C/KG/F assembly stays
12
+ separate. Bounded arc-length continuation is available from the root API.
13
+
14
+ See the project README and ``docs/`` directory in the source repository for
15
+ the capability boundary, architecture, theory, and qualification evidence.
16
+ """
17
+
18
+ from .fe_core import DOFManager, FEMesh, FEModel, Material, Node
19
+ from .elements import BeamElement, CoupledBeamShellElement, QuadraticBeamElement, ShellElement, create_element
20
+ from .boundary import (
21
+ BoundaryCondition,
22
+ FixedSupport,
23
+ InPlaneLoad,
24
+ LoadCase,
25
+ LoadCombination,
26
+ PinnedSupport,
27
+ RollerSupport,
28
+ SymmetryBC,
29
+ )
30
+ from .cylinder_benchmarks import (
31
+ CylinderBenchmarkConfig,
32
+ CylinderBenchmarkResult,
33
+ CylinderNominalStress,
34
+ CylinderStressStatistics,
35
+ build_cylindrical_shell_benchmark_model,
36
+ nominal_cylinder_membrane_stress,
37
+ run_cylindrical_shell_benchmark,
38
+ )
39
+ from .buckling import BucklingMode, BucklingResult, solve_eigenvalue_buckling
40
+ from .buckling_validity import (
41
+ DEFAULT_BUCKLING_VALIDITY_PATH,
42
+ generate_buckling_validity_report,
43
+ write_buckling_validity_report,
44
+ )
45
+ from .nonlinear import NonlinearLimitPointResult, NonlinearLoadStep, solve_nonlinear_load_stepping
46
+ from .benchmarks import DEFAULT_BENCHMARK_PATH, run_infrastructure_benchmarks, write_benchmark_report
47
+ from .kernel_warmup import warm_fe_solver_kernels
48
+ from .beam_shell_verification import (
49
+ DEFAULT_BEAM_SHELL_VERIFICATION_PATH,
50
+ VerificationCase,
51
+ VerificationCaseResult,
52
+ run_beam_shell_verification,
53
+ verification_manifest_cases,
54
+ write_beam_shell_verification_report,
55
+ )
56
+ from .mesh_load_bc_verification import (
57
+ DEFAULT_MESH_LOAD_BC_VERIFICATION_PATH,
58
+ MeshLoadBCCase,
59
+ MeshLoadBCCaseResult,
60
+ mesh_load_bc_manifest_cases,
61
+ mesh_load_bc_result_by_case,
62
+ run_mesh_load_bc_verification,
63
+ write_mesh_load_bc_verification_report,
64
+ )
65
+ from .production_readiness import (
66
+ DEFAULT_PRODUCTION_READINESS_DIR,
67
+ CapabilityEntry,
68
+ build_capability_matrix,
69
+ build_verification_scope_statement,
70
+ scope_statement_markdown,
71
+ write_production_readiness_artifacts,
72
+ )
73
+ from .beam_validity import (
74
+ DEFAULT_BEAM_VALIDITY_PATH,
75
+ corotational_axial_extension_metric,
76
+ corotational_rigid_rotation_metric,
77
+ generate_beam_validity_report,
78
+ write_beam_validity_report,
79
+ )
80
+ from .capacity_workflow import (
81
+ DEFAULT_CAPACITY_WORKFLOW_PATH,
82
+ CapacityWorkflowConfig,
83
+ CapacityWorkflowResult,
84
+ MeshModeAdequacy,
85
+ default_eigenmode_imperfection,
86
+ evaluate_mode_mesh_adequacy,
87
+ run_capacity_workflow_from_builder,
88
+ run_nonlinear_capacity_workflow,
89
+ write_capacity_workflow_report,
90
+ )
91
+ from .cases import (
92
+ AnalysisCase,
93
+ LoadCaseRef,
94
+ PrestressCase,
95
+ ResultCase,
96
+ load_case_ref,
97
+ load_signature_from_info,
98
+ make_result_case,
99
+ matrix_signature_from_info,
100
+ solver_backend_from_info,
101
+ )
102
+ from .dynamics import (
103
+ PressurePatch,
104
+ TransientConfig,
105
+ TransientResult,
106
+ assemble_pressure_patch_load_vector,
107
+ solve_transient_newmark,
108
+ )
109
+ from .contact import (
110
+ NonlinearTransientConfig,
111
+ RigidSphereImpact,
112
+ SphereContactConfig,
113
+ SphereContactRecord,
114
+ SphereImpactResult,
115
+ assemble_sphere_contact_load_vector,
116
+ recommend_sphere_contact_penalty,
117
+ solve_transient_sphere_impact,
118
+ validate_contact_configuration,
119
+ )
120
+ from .fracture import (
121
+ DeletedElementRecord,
122
+ ElementDeletionConfig,
123
+ FractureConfig,
124
+ ImpactDamageConfig,
125
+ ImpactFractureConfig,
126
+ PlasticImpactDamageConfig,
127
+ )
128
+ from .element_qualification import (
129
+ DEFAULT_ELEMENT_QUALIFICATION_PATH,
130
+ beam_qualification_metrics,
131
+ generate_element_qualification_report,
132
+ q4_q8_convergence_cost_sweep,
133
+ q8_free_mode_metric,
134
+ q8_mass_metric,
135
+ q8_patch_metric,
136
+ q8r_free_mode_metric,
137
+ q8r_hourglass_assessment,
138
+ q8r_mass_metric,
139
+ q8r_patch_metric,
140
+ reference_q8_geometries,
141
+ write_element_qualification_report,
142
+ )
143
+ from .external_references import (
144
+ DEFAULT_EXTERNAL_REFERENCE_PATH,
145
+ ExternalReferenceCase,
146
+ generate_external_reference_cases,
147
+ generate_external_reference_report,
148
+ write_calculix_input_deck,
149
+ write_external_reference_report,
150
+ )
151
+ from .plasticity_qualification import (
152
+ DEFAULT_PLASTICITY_QUALIFICATION_PATH,
153
+ dnv_curve_metric,
154
+ element_tangent_metrics,
155
+ generate_plasticity_qualification_report,
156
+ material_point_path_metrics,
157
+ reference_plastic_curve,
158
+ write_plasticity_qualification_report,
159
+ yield_function_residual,
160
+ )
161
+ from .recovery import (
162
+ MemoryEstimate,
163
+ RecoveryExecutionReport,
164
+ RecoveryConfig,
165
+ ResourcePolicyError,
166
+ ResourceConfig,
167
+ default_recovery_config,
168
+ enforce_memory_limit,
169
+ estimate_model_memory,
170
+ filter_reactions,
171
+ recover_element_stresses,
172
+ recover_element_stresses_with_report,
173
+ recovery_metadata,
174
+ select_node_displacements,
175
+ )
176
+ from .recovery_policy import (
177
+ DEFAULT_RECOVERY_POLICY_PATH,
178
+ generate_recovery_policy_report,
179
+ write_recovery_policy_report,
180
+ )
181
+ from .material_curves import (
182
+ DNVC208MaterialCurve,
183
+ FiberSectionPlasticityConfig,
184
+ curve_from_properties,
185
+ dnv_c208_steel_properties,
186
+ dnv_c208_steel_curve,
187
+ )
188
+ from .imperfections import (
189
+ CompositeImperfection,
190
+ EigenmodeImperfection,
191
+ ImperfectionCalibrationResult,
192
+ ImperfectionField,
193
+ StandardImperfection,
194
+ apply_imperfection,
195
+ calibrate_imperfection_amplitude,
196
+ imperfection_from_buckling_mode,
197
+ standard_flange_twist,
198
+ standard_member_bow,
199
+ standard_plate_mode,
200
+ )
201
+ from .nonlinear_static import (
202
+ DisplacementControl,
203
+ NonlinearConvergenceSettings,
204
+ NonlinearLoadProgram,
205
+ NonlinearLoadStage,
206
+ NonlinearStaticResult,
207
+ NonlinearStaticStep,
208
+ solve_static_nonlinear,
209
+ )
210
+ from .arc_length import ArcLengthControl, ArcLengthResult, ArcLengthStep, solve_static_arc_length
211
+ from .anystructure_fem_mode import (
212
+ AnyStructureFEMConfig,
213
+ AnyStructureFEMResult,
214
+ GeneratedGeometryFEMConfig,
215
+ GeneratedGeometryFEMResult,
216
+ build_fe_model_from_generated_geometry,
217
+ build_symmetric_load_case,
218
+ idealize_generated_geometry_members,
219
+ recover_prestress_from_static_result,
220
+ run_anystructure_fem_mode,
221
+ run_generated_geometry_fem,
222
+ )
223
+ from .matrix_assembly import (
224
+ AssemblyError,
225
+ assemble_damping_matrix,
226
+ assemble_geometric_stiffness_matrix,
227
+ assemble_load_matrix,
228
+ assemble_load_vector,
229
+ assemble_mass_matrix,
230
+ assemble_stiffness_matrix,
231
+ assemble_system,
232
+ )
233
+ from .assembly import (
234
+ build_constraint_transformation,
235
+ compute_constraint_force_diagnostics,
236
+ reconstruct_full_solution,
237
+ solve_linear,
238
+ solve_linear_many,
239
+ solve_nonlinear,
240
+ )
241
+ from .linalg import (
242
+ AutoSparseSolverBackend,
243
+ FactorizationCache,
244
+ FactorizationHandle,
245
+ MatrixClass,
246
+ SparseSolverBackend,
247
+ cached_inverse_operator,
248
+ factorize,
249
+ factorize_cached,
250
+ solve_many,
251
+ sparse_matrix_signature,
252
+ )
253
+ from .mass_properties import MassProperties, calculate_mass_properties, element_mass_points
254
+ from .modal import ModalMode, ModalResult, solve_free_vibration
255
+ from .mesh_gen import (
256
+ MeshConfig,
257
+ PanelGeometry,
258
+ StiffenerCrossSection,
259
+ generate_beam_mesh,
260
+ generate_simple_panel_mesh,
261
+ generate_stiffened_panel_mesh,
262
+ verify_mesh_quality,
263
+ )
264
+ from .results import (
265
+ DisplacementResult,
266
+ FEResult,
267
+ StressResult,
268
+ compare_with_analytical,
269
+ create_fe_result,
270
+ post_process_results,
271
+ recover_nodal_stresses,
272
+ )
273
+ from .validation import (
274
+ LoadResultant,
275
+ ProductionValidationIssue,
276
+ ProductionValidationReport,
277
+ ShellPatchSummary,
278
+ dof_order_signature,
279
+ load_case_resultant,
280
+ load_vector_resultant,
281
+ max_abs,
282
+ mpc_constraint_residuals,
283
+ nullspace_diagnostics,
284
+ shell_element_patch_summary,
285
+ validate_production_model,
286
+ )
287
+ from .reference_cases import (
288
+ CalculixReferenceCase,
289
+ ShellConvergencePoint,
290
+ ShellConvergenceTable,
291
+ classify_reference_case_from_nodes,
292
+ discover_calculix_reference_cases,
293
+ discover_calculix_shell_convergence_tables,
294
+ parse_calculix_shell_convergence_file,
295
+ summarize_inp_geometry,
296
+ upstream_calculix_reference_manifest,
297
+ upstream_calculix_shell_reference_values,
298
+ )
299
+ from .shell_benchmarks import (
300
+ ShellBenchmarkComparison,
301
+ ShellBenchmarkComparisonPoint,
302
+ ShellBenchmarkResult,
303
+ compare_shell_benchmark_to_reference,
304
+ run_simple_supported_shell_benchmark,
305
+ run_simple_supported_shell_convergence,
306
+ shell_benchmark_results_to_convergence_table,
307
+ write_internal_shell_convergence_table,
308
+ )
309
+ from .s4_validity import (
310
+ DEFAULT_S4_VALIDITY_PATH,
311
+ bending_patch_metric,
312
+ free_element_mode_metric,
313
+ generate_s4_validity_report,
314
+ membrane_patch_metric,
315
+ reference_s4_geometries,
316
+ s4_s8_comparison,
317
+ shear_patch_metric,
318
+ thin_plate_locking_sweep,
319
+ write_s4_validity_report,
320
+ )
321
+ from .sesam_fem import (
322
+ FemRawRecord,
323
+ SesamFemDocument,
324
+ SesamFemError,
325
+ SesamFemExportReport,
326
+ SesamFemImportResult,
327
+ export_sesam_fem,
328
+ import_sesam_fem,
329
+ read_raw_records,
330
+ read_sesam_fem_document,
331
+ validate_sesam_fem_document,
332
+ write_sesam_fem_document,
333
+ )
334
+
335
+ __version__ = "0.1.0"
336
+
337
+ __all__ = [
338
+ # Core classes
339
+ "DOFManager",
340
+ "FEMesh",
341
+ "FEModel",
342
+ "Material",
343
+ "Node",
344
+ # Elements
345
+ "BeamElement",
346
+ "CoupledBeamShellElement",
347
+ "QuadraticBeamElement",
348
+ "ShellElement",
349
+ "create_element",
350
+ # Boundary and loads
351
+ "BoundaryCondition",
352
+ "FixedSupport",
353
+ "InPlaneLoad",
354
+ "LoadCase",
355
+ "LoadCombination",
356
+ "PinnedSupport",
357
+ "RollerSupport",
358
+ "SymmetryBC",
359
+ # Cylinder benchmarks
360
+ "CylinderBenchmarkConfig",
361
+ "CylinderBenchmarkResult",
362
+ "CylinderNominalStress",
363
+ "CylinderStressStatistics",
364
+ "build_cylindrical_shell_benchmark_model",
365
+ "nominal_cylinder_membrane_stress",
366
+ "run_cylindrical_shell_benchmark",
367
+ # Buckling
368
+ "BucklingMode",
369
+ "BucklingResult",
370
+ "solve_eigenvalue_buckling",
371
+ "DEFAULT_BUCKLING_VALIDITY_PATH",
372
+ "generate_buckling_validity_report",
373
+ "write_buckling_validity_report",
374
+ # Nonlinear stability
375
+ "NonlinearLimitPointResult",
376
+ "NonlinearLoadStep",
377
+ "solve_nonlinear_load_stepping",
378
+ # Case/provenance model
379
+ "AnalysisCase",
380
+ "LoadCaseRef",
381
+ "PrestressCase",
382
+ "ResultCase",
383
+ "load_case_ref",
384
+ "load_signature_from_info",
385
+ "make_result_case",
386
+ "matrix_signature_from_info",
387
+ "solver_backend_from_info",
388
+ "DEFAULT_BENCHMARK_PATH",
389
+ "run_infrastructure_benchmarks",
390
+ "write_benchmark_report",
391
+ "warm_fe_solver_kernels",
392
+ "DEFAULT_BEAM_SHELL_VERIFICATION_PATH",
393
+ "VerificationCase",
394
+ "VerificationCaseResult",
395
+ "run_beam_shell_verification",
396
+ "verification_manifest_cases",
397
+ "write_beam_shell_verification_report",
398
+ "DEFAULT_MESH_LOAD_BC_VERIFICATION_PATH",
399
+ "MeshLoadBCCase",
400
+ "MeshLoadBCCaseResult",
401
+ "mesh_load_bc_manifest_cases",
402
+ "mesh_load_bc_result_by_case",
403
+ "run_mesh_load_bc_verification",
404
+ "write_mesh_load_bc_verification_report",
405
+ "DEFAULT_PRODUCTION_READINESS_DIR",
406
+ "CapabilityEntry",
407
+ "build_capability_matrix",
408
+ "build_verification_scope_statement",
409
+ "scope_statement_markdown",
410
+ "write_production_readiness_artifacts",
411
+ "DEFAULT_BEAM_VALIDITY_PATH",
412
+ "corotational_axial_extension_metric",
413
+ "corotational_rigid_rotation_metric",
414
+ "generate_beam_validity_report",
415
+ "write_beam_validity_report",
416
+ "DEFAULT_CAPACITY_WORKFLOW_PATH",
417
+ "CapacityWorkflowConfig",
418
+ "CapacityWorkflowResult",
419
+ "MeshModeAdequacy",
420
+ "default_eigenmode_imperfection",
421
+ "evaluate_mode_mesh_adequacy",
422
+ "run_capacity_workflow_from_builder",
423
+ "run_nonlinear_capacity_workflow",
424
+ "write_capacity_workflow_report",
425
+ # Linear transient dynamics / slamming v1
426
+ "PressurePatch",
427
+ "TransientConfig",
428
+ "TransientResult",
429
+ "assemble_pressure_patch_load_vector",
430
+ "solve_transient_newmark",
431
+ "NonlinearTransientConfig",
432
+ "RigidSphereImpact",
433
+ "SphereContactConfig",
434
+ "SphereContactRecord",
435
+ "SphereImpactResult",
436
+ "assemble_sphere_contact_load_vector",
437
+ "recommend_sphere_contact_penalty",
438
+ "solve_transient_sphere_impact",
439
+ "validate_contact_configuration",
440
+ "DeletedElementRecord",
441
+ "ElementDeletionConfig",
442
+ "FractureConfig",
443
+ "ImpactDamageConfig",
444
+ "ImpactFractureConfig",
445
+ "PlasticImpactDamageConfig",
446
+ "DEFAULT_ELEMENT_QUALIFICATION_PATH",
447
+ "beam_qualification_metrics",
448
+ "generate_element_qualification_report",
449
+ "q4_q8_convergence_cost_sweep",
450
+ "q8_free_mode_metric",
451
+ "q8_mass_metric",
452
+ "q8_patch_metric",
453
+ "q8r_free_mode_metric",
454
+ "q8r_hourglass_assessment",
455
+ "q8r_mass_metric",
456
+ "q8r_patch_metric",
457
+ "reference_q8_geometries",
458
+ "write_element_qualification_report",
459
+ "DEFAULT_EXTERNAL_REFERENCE_PATH",
460
+ "ExternalReferenceCase",
461
+ "generate_external_reference_cases",
462
+ "generate_external_reference_report",
463
+ "write_calculix_input_deck",
464
+ "write_external_reference_report",
465
+ "DEFAULT_PLASTICITY_QUALIFICATION_PATH",
466
+ "dnv_curve_metric",
467
+ "element_tangent_metrics",
468
+ "generate_plasticity_qualification_report",
469
+ "material_point_path_metrics",
470
+ "reference_plastic_curve",
471
+ "write_plasticity_qualification_report",
472
+ "yield_function_residual",
473
+ "MemoryEstimate",
474
+ "RecoveryExecutionReport",
475
+ "RecoveryConfig",
476
+ "ResourcePolicyError",
477
+ "ResourceConfig",
478
+ "default_recovery_config",
479
+ "enforce_memory_limit",
480
+ "estimate_model_memory",
481
+ "filter_reactions",
482
+ "recover_element_stresses",
483
+ "recover_element_stresses_with_report",
484
+ "recovery_metadata",
485
+ "select_node_displacements",
486
+ "DEFAULT_RECOVERY_POLICY_PATH",
487
+ "generate_recovery_policy_report",
488
+ "write_recovery_policy_report",
489
+ # Incremental geometric/material nonlinear statics
490
+ "DNVC208MaterialCurve",
491
+ "FiberSectionPlasticityConfig",
492
+ "curve_from_properties",
493
+ "dnv_c208_steel_properties",
494
+ "dnv_c208_steel_curve",
495
+ "CompositeImperfection",
496
+ "EigenmodeImperfection",
497
+ "ImperfectionCalibrationResult",
498
+ "ImperfectionField",
499
+ "StandardImperfection",
500
+ "apply_imperfection",
501
+ "calibrate_imperfection_amplitude",
502
+ "imperfection_from_buckling_mode",
503
+ "standard_flange_twist",
504
+ "standard_member_bow",
505
+ "standard_plate_mode",
506
+ "DisplacementControl",
507
+ "NonlinearConvergenceSettings",
508
+ "NonlinearLoadProgram",
509
+ "NonlinearLoadStage",
510
+ "NonlinearStaticResult",
511
+ "NonlinearStaticStep",
512
+ "solve_static_nonlinear",
513
+ "ArcLengthControl",
514
+ "ArcLengthResult",
515
+ "ArcLengthStep",
516
+ "solve_static_arc_length",
517
+ # Generated-geometry FEM mode
518
+ "AnyStructureFEMConfig",
519
+ "AnyStructureFEMResult",
520
+ "GeneratedGeometryFEMConfig",
521
+ "GeneratedGeometryFEMResult",
522
+ "build_fe_model_from_generated_geometry",
523
+ "build_symmetric_load_case",
524
+ "idealize_generated_geometry_members",
525
+ "recover_prestress_from_static_result",
526
+ "run_anystructure_fem_mode",
527
+ "run_generated_geometry_fem",
528
+ # Assembly and solving
529
+ "AssemblyError",
530
+ "assemble_damping_matrix",
531
+ "assemble_geometric_stiffness_matrix",
532
+ "assemble_load_matrix",
533
+ "assemble_load_vector",
534
+ "assemble_mass_matrix",
535
+ "assemble_stiffness_matrix",
536
+ "assemble_system",
537
+ "build_constraint_transformation",
538
+ "compute_constraint_force_diagnostics",
539
+ "reconstruct_full_solution",
540
+ "solve_linear",
541
+ "solve_linear_many",
542
+ "solve_nonlinear",
543
+ "MatrixClass",
544
+ "AutoSparseSolverBackend",
545
+ "SparseSolverBackend",
546
+ "FactorizationCache",
547
+ "FactorizationHandle",
548
+ "cached_inverse_operator",
549
+ "factorize",
550
+ "factorize_cached",
551
+ "solve_many",
552
+ "sparse_matrix_signature",
553
+ "MassProperties",
554
+ "calculate_mass_properties",
555
+ "element_mass_points",
556
+ "ModalMode",
557
+ "ModalResult",
558
+ "solve_free_vibration",
559
+ # Mesh generation
560
+ "MeshConfig",
561
+ "PanelGeometry",
562
+ "StiffenerCrossSection",
563
+ "generate_beam_mesh",
564
+ "generate_simple_panel_mesh",
565
+ "generate_stiffened_panel_mesh",
566
+ "verify_mesh_quality",
567
+ # Results
568
+ "DisplacementResult",
569
+ "FEResult",
570
+ "StressResult",
571
+ "compare_with_analytical",
572
+ "create_fe_result",
573
+ "post_process_results",
574
+ "recover_nodal_stresses",
575
+ # Validation helpers
576
+ "LoadResultant",
577
+ "ProductionValidationIssue",
578
+ "ProductionValidationReport",
579
+ "ShellPatchSummary",
580
+ "dof_order_signature",
581
+ "load_case_resultant",
582
+ "load_vector_resultant",
583
+ "max_abs",
584
+ "mpc_constraint_residuals",
585
+ "nullspace_diagnostics",
586
+ "shell_element_patch_summary",
587
+ "validate_production_model",
588
+ # Reference cases
589
+ "CalculixReferenceCase",
590
+ "ShellConvergencePoint",
591
+ "ShellConvergenceTable",
592
+ "classify_reference_case_from_nodes",
593
+ "discover_calculix_reference_cases",
594
+ "discover_calculix_shell_convergence_tables",
595
+ "parse_calculix_shell_convergence_file",
596
+ "summarize_inp_geometry",
597
+ "upstream_calculix_reference_manifest",
598
+ "upstream_calculix_shell_reference_values",
599
+ # Shell benchmarks
600
+ "ShellBenchmarkComparison",
601
+ "ShellBenchmarkComparisonPoint",
602
+ "ShellBenchmarkResult",
603
+ "compare_shell_benchmark_to_reference",
604
+ "run_simple_supported_shell_benchmark",
605
+ "run_simple_supported_shell_convergence",
606
+ "shell_benchmark_results_to_convergence_table",
607
+ "write_internal_shell_convergence_table",
608
+ # S4 validity
609
+ "DEFAULT_S4_VALIDITY_PATH",
610
+ "bending_patch_metric",
611
+ "free_element_mode_metric",
612
+ "generate_s4_validity_report",
613
+ "membrane_patch_metric",
614
+ "reference_s4_geometries",
615
+ "s4_s8_comparison",
616
+ "shear_patch_metric",
617
+ "thin_plate_locking_sweep",
618
+ "write_s4_validity_report",
619
+ # SESAM formatted FEM import/export
620
+ "FemRawRecord",
621
+ "SesamFemDocument",
622
+ "SesamFemError",
623
+ "SesamFemExportReport",
624
+ "SesamFemImportResult",
625
+ "export_sesam_fem",
626
+ "import_sesam_fem",
627
+ "read_raw_records",
628
+ "read_sesam_fem_document",
629
+ "validate_sesam_fem_document",
630
+ "write_sesam_fem_document",
631
+ ]