linstabpy 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- linstabpy-1.0.0/CITATION.cff +61 -0
- linstabpy-1.0.0/LICENSE +674 -0
- linstabpy-1.0.0/MANIFEST.in +2 -0
- linstabpy-1.0.0/NOTICE +53 -0
- linstabpy-1.0.0/PKG-INFO +1071 -0
- linstabpy-1.0.0/README.md +1032 -0
- linstabpy-1.0.0/pyproject.toml +146 -0
- linstabpy-1.0.0/setup.cfg +4 -0
- linstabpy-1.0.0/src/linstabpy/__init__.py +83 -0
- linstabpy-1.0.0/src/linstabpy/baseflow/__init__.py +8 -0
- linstabpy-1.0.0/src/linstabpy/baseflow/baseflow.py +58 -0
- linstabpy-1.0.0/src/linstabpy/baseflow/grid_fields.py +146 -0
- linstabpy-1.0.0/src/linstabpy/baseflow/preprocess.py +250 -0
- linstabpy-1.0.0/src/linstabpy/baseflow/shock_cleanup.py +465 -0
- linstabpy-1.0.0/src/linstabpy/baseflow/sponge.py +443 -0
- linstabpy-1.0.0/src/linstabpy/baseflow/viscosity.py +66 -0
- linstabpy-1.0.0/src/linstabpy/boundary_conditions/__init__.py +44 -0
- linstabpy-1.0.0/src/linstabpy/boundary_conditions/dirichlet.py +436 -0
- linstabpy-1.0.0/src/linstabpy/boundary_conditions/neumann.py +349 -0
- linstabpy-1.0.0/src/linstabpy/boundary_conditions/recipe.py +543 -0
- linstabpy-1.0.0/src/linstabpy/config/__init__.py +29 -0
- linstabpy-1.0.0/src/linstabpy/config/defaults.py +89 -0
- linstabpy-1.0.0/src/linstabpy/config/env_registry.py +261 -0
- linstabpy-1.0.0/src/linstabpy/config/schema.py +341 -0
- linstabpy-1.0.0/src/linstabpy/config/typed.py +668 -0
- linstabpy-1.0.0/src/linstabpy/driver/__init__.py +14 -0
- linstabpy-1.0.0/src/linstabpy/driver/cli.py +242 -0
- linstabpy-1.0.0/src/linstabpy/driver/io.py +111 -0
- linstabpy-1.0.0/src/linstabpy/driver/payload.py +120 -0
- linstabpy-1.0.0/src/linstabpy/driver/preflight.py +625 -0
- linstabpy-1.0.0/src/linstabpy/driver/run.py +1826 -0
- linstabpy-1.0.0/src/linstabpy/linalg/__init__.py +40 -0
- linstabpy-1.0.0/src/linstabpy/linalg/backends.py +641 -0
- linstabpy-1.0.0/src/linstabpy/linalg/cudss_factor.py +426 -0
- linstabpy-1.0.0/src/linstabpy/linalg/factorize.py +1115 -0
- linstabpy-1.0.0/src/linstabpy/linalg/shifted.py +62 -0
- linstabpy-1.0.0/src/linstabpy/mesh/__init__.py +44 -0
- linstabpy-1.0.0/src/linstabpy/mesh/fdweights.py +38 -0
- linstabpy-1.0.0/src/linstabpy/mesh/filters.py +489 -0
- linstabpy-1.0.0/src/linstabpy/mesh/mesh.py +1859 -0
- linstabpy-1.0.0/src/linstabpy/mesh/sbp.py +951 -0
- linstabpy-1.0.0/src/linstabpy/mesh/sbp_generator.py +438 -0
- linstabpy-1.0.0/src/linstabpy/metrics_schema.py +151 -0
- linstabpy-1.0.0/src/linstabpy/mumps_options.py +14 -0
- linstabpy-1.0.0/src/linstabpy/operators/__init__.py +20 -0
- linstabpy-1.0.0/src/linstabpy/operators/assembly.py +1988 -0
- linstabpy-1.0.0/src/linstabpy/operators/coefficients.py +1831 -0
- linstabpy-1.0.0/src/linstabpy/operators/energy_norm.py +92 -0
- linstabpy-1.0.0/src/linstabpy/operators/metrics.py +297 -0
- linstabpy-1.0.0/src/linstabpy/operators/spatial.py +293 -0
- linstabpy-1.0.0/src/linstabpy/resolvent/__init__.py +29 -0
- linstabpy-1.0.0/src/linstabpy/resolvent/analysis.py +513 -0
- linstabpy-1.0.0/src/linstabpy/resolvent/conservative_forcing.py +341 -0
- linstabpy-1.0.0/src/linstabpy/resolvent/gain.py +205 -0
- linstabpy-1.0.0/src/linstabpy/resolvent/operator.py +128 -0
- linstabpy-1.0.0/src/linstabpy/solvers/__init__.py +31 -0
- linstabpy-1.0.0/src/linstabpy/solvers/_eps_helpers.py +142 -0
- linstabpy-1.0.0/src/linstabpy/solvers/eigenvalue.py +757 -0
- linstabpy-1.0.0/src/linstabpy/solvers/petsc_utils.py +20 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/__init__.py +79 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/anchors.py +363 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/band_marking.py +306 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/break_even.py +277 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/certification.py +411 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/map_record.py +174 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/map_walk.py +621 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/ram_autoselect.py +435 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/recycling.py +346 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/resolvent_map.py +1690 -0
- linstabpy-1.0.0/src/linstabpy/solvers/router/stable_sweep.py +1183 -0
- linstabpy-1.0.0/src/linstabpy/solvers/spatial_eig.py +218 -0
- linstabpy-1.0.0/src/linstabpy/stability/__init__.py +38 -0
- linstabpy-1.0.0/src/linstabpy/stability/_eigenvalues.py +831 -0
- linstabpy-1.0.0/src/linstabpy/stability/acceptance.py +303 -0
- linstabpy-1.0.0/src/linstabpy/stability/sensitivity.py +216 -0
- linstabpy-1.0.0/src/linstabpy/utils/__init__.py +10 -0
- linstabpy-1.0.0/src/linstabpy/utils/_solver_cfg.py +169 -0
- linstabpy-1.0.0/src/linstabpy/utils/cost_metrics.py +147 -0
- linstabpy-1.0.0/src/linstabpy/utils/floquet.py +71 -0
- linstabpy-1.0.0/src/linstabpy/utils/petsc_core.py +912 -0
- linstabpy-1.0.0/src/linstabpy/utils/petsc_init.py +120 -0
- linstabpy-1.0.0/src/linstabpy/utils/provenance.py +216 -0
- linstabpy-1.0.0/src/linstabpy/utils/yaml_io.py +65 -0
- linstabpy-1.0.0/src/linstabpy.egg-info/PKG-INFO +1071 -0
- linstabpy-1.0.0/src/linstabpy.egg-info/SOURCES.txt +211 -0
- linstabpy-1.0.0/src/linstabpy.egg-info/dependency_links.txt +1 -0
- linstabpy-1.0.0/src/linstabpy.egg-info/entry_points.txt +2 -0
- linstabpy-1.0.0/src/linstabpy.egg-info/requires.txt +15 -0
- linstabpy-1.0.0/src/linstabpy.egg-info/top_level.txt +1 -0
- linstabpy-1.0.0/tests/test_adaptive_anchors.py +237 -0
- linstabpy-1.0.0/tests/test_analytical.py +474 -0
- linstabpy-1.0.0/tests/test_assembly_axy_distributed_raises.py +86 -0
- linstabpy-1.0.0/tests/test_assembly_block_oracle.py +140 -0
- linstabpy-1.0.0/tests/test_assembly_dedup.py +71 -0
- linstabpy-1.0.0/tests/test_assembly_dissipation.py +273 -0
- linstabpy-1.0.0/tests/test_assembly_metrics_diff_tool.py +103 -0
- linstabpy-1.0.0/tests/test_assembly_parity_tool.py +124 -0
- linstabpy-1.0.0/tests/test_assembly_perf.py +100 -0
- linstabpy-1.0.0/tests/test_backend_probe.py +250 -0
- linstabpy-1.0.0/tests/test_band_marking.py +213 -0
- linstabpy-1.0.0/tests/test_baseflow.py +187 -0
- linstabpy-1.0.0/tests/test_boundary_conditions.py +1228 -0
- linstabpy-1.0.0/tests/test_boundary_conditions_oracle.py +105 -0
- linstabpy-1.0.0/tests/test_break_even.py +216 -0
- linstabpy-1.0.0/tests/test_case_fields.py +461 -0
- linstabpy-1.0.0/tests/test_certification_gate.py +261 -0
- linstabpy-1.0.0/tests/test_coefficients.py +103 -0
- linstabpy-1.0.0/tests/test_compressed_anchors.py +205 -0
- linstabpy-1.0.0/tests/test_config.py +1062 -0
- linstabpy-1.0.0/tests/test_config_load.py +47 -0
- linstabpy-1.0.0/tests/test_config_schema.py +312 -0
- linstabpy-1.0.0/tests/test_console_script.py +12 -0
- linstabpy-1.0.0/tests/test_cost_metrics.py +210 -0
- linstabpy-1.0.0/tests/test_cudss_backend.py +290 -0
- linstabpy-1.0.0/tests/test_deny_list_math_frozen.py +230 -0
- linstabpy-1.0.0/tests/test_dissipation_one_block.py +81 -0
- linstabpy-1.0.0/tests/test_driver_cli.py +505 -0
- linstabpy-1.0.0/tests/test_driver_heartbeat.py +50 -0
- linstabpy-1.0.0/tests/test_driver_io.py +182 -0
- linstabpy-1.0.0/tests/test_driver_raw_eigs.py +64 -0
- linstabpy-1.0.0/tests/test_driver_resolvent_region.py +249 -0
- linstabpy-1.0.0/tests/test_dual_factor_adjoint.py +357 -0
- linstabpy-1.0.0/tests/test_energy_norm_oracle.py +135 -0
- linstabpy-1.0.0/tests/test_env_registry.py +168 -0
- linstabpy-1.0.0/tests/test_environment_yml.py +117 -0
- linstabpy-1.0.0/tests/test_evp_growthrate_sign.py +195 -0
- linstabpy-1.0.0/tests/test_example_dmudt_flag.py +39 -0
- linstabpy-1.0.0/tests/test_example_runner_selectors.py +90 -0
- linstabpy-1.0.0/tests/test_factor_backends.py +1522 -0
- linstabpy-1.0.0/tests/test_factor_solve_block_mpi.py +61 -0
- linstabpy-1.0.0/tests/test_figure_style.py +70 -0
- linstabpy-1.0.0/tests/test_filters.py +235 -0
- linstabpy-1.0.0/tests/test_flatplate_sawtooth_clean.py +75 -0
- linstabpy-1.0.0/tests/test_floquet_spatial_shift.py +184 -0
- linstabpy-1.0.0/tests/test_forcing_norm_selection.py +192 -0
- linstabpy-1.0.0/tests/test_forcing_response_mats_loud_fail.py +28 -0
- linstabpy-1.0.0/tests/test_gpu_backend_comparison.py +226 -0
- linstabpy-1.0.0/tests/test_grid_fields.py +183 -0
- linstabpy-1.0.0/tests/test_input_validation.py +207 -0
- linstabpy-1.0.0/tests/test_install_isolation.py +230 -0
- linstabpy-1.0.0/tests/test_integration.py +240 -0
- linstabpy-1.0.0/tests/test_lnse_equivalence_harness.py +190 -0
- linstabpy-1.0.0/tests/test_lnse_verification.py +1394 -0
- linstabpy-1.0.0/tests/test_map_record.py +71 -0
- linstabpy-1.0.0/tests/test_map_walk.py +376 -0
- linstabpy-1.0.0/tests/test_map_walk_mpi.py +121 -0
- linstabpy-1.0.0/tests/test_mark_unstable_band.py +215 -0
- linstabpy-1.0.0/tests/test_martini_example_layout.py +61 -0
- linstabpy-1.0.0/tests/test_martini_hdf5_extract.py +39 -0
- linstabpy-1.0.0/tests/test_martini_parity_compare.py +678 -0
- linstabpy-1.0.0/tests/test_matlab_source_parity.py +56 -0
- linstabpy-1.0.0/tests/test_mesh.py +1423 -0
- linstabpy-1.0.0/tests/test_mesh_dissipation.py +237 -0
- linstabpy-1.0.0/tests/test_mesh_utilities.py +68 -0
- linstabpy-1.0.0/tests/test_metamorphic.py +359 -0
- linstabpy-1.0.0/tests/test_metrics_schema.py +146 -0
- linstabpy-1.0.0/tests/test_mpi_collective_lint.py +200 -0
- linstabpy-1.0.0/tests/test_mpi_thread_level.py +188 -0
- linstabpy-1.0.0/tests/test_mumps_blr_ordering_parity.py +313 -0
- linstabpy-1.0.0/tests/test_mumps_parity_baseline.py +129 -0
- linstabpy-1.0.0/tests/test_neumann_oracle.py +190 -0
- linstabpy-1.0.0/tests/test_numerics.py +497 -0
- linstabpy-1.0.0/tests/test_operators.py +2561 -0
- linstabpy-1.0.0/tests/test_parity_vs_mumps.py +448 -0
- linstabpy-1.0.0/tests/test_payload.py +125 -0
- linstabpy-1.0.0/tests/test_petsc_vec_mpi.py +77 -0
- linstabpy-1.0.0/tests/test_planar_limit_coefficients.py +213 -0
- linstabpy-1.0.0/tests/test_preflight.py +582 -0
- linstabpy-1.0.0/tests/test_provenance.py +238 -0
- linstabpy-1.0.0/tests/test_public_provenance_checker.py +73 -0
- linstabpy-1.0.0/tests/test_ram_autoselect.py +213 -0
- linstabpy-1.0.0/tests/test_recycling.py +337 -0
- linstabpy-1.0.0/tests/test_refactorize_fast_path.py +77 -0
- linstabpy-1.0.0/tests/test_refactorize_mpi_guard.py +129 -0
- linstabpy-1.0.0/tests/test_resolvent_analysis_flag.py +41 -0
- linstabpy-1.0.0/tests/test_resolvent_conservative_forcing.py +570 -0
- linstabpy-1.0.0/tests/test_resolvent_discount.py +208 -0
- linstabpy-1.0.0/tests/test_resolvent_map_amortized_parity.py +162 -0
- linstabpy-1.0.0/tests/test_resolvent_map_regime_b.py +226 -0
- linstabpy-1.0.0/tests/test_resolvent_map_store_mpi.py +51 -0
- linstabpy-1.0.0/tests/test_resolvent_operator.py +115 -0
- linstabpy-1.0.0/tests/test_resolvent_sign_convention.py +128 -0
- linstabpy-1.0.0/tests/test_resolvent_sign_effect.py +85 -0
- linstabpy-1.0.0/tests/test_resolvent_sign_oracle.py +162 -0
- linstabpy-1.0.0/tests/test_results_alpha_filter.py +133 -0
- linstabpy-1.0.0/tests/test_router_e2e.py +189 -0
- linstabpy-1.0.0/tests/test_router_entry.py +625 -0
- linstabpy-1.0.0/tests/test_runtime_dissipation.py +475 -0
- linstabpy-1.0.0/tests/test_savarino_line_campaign.py +241 -0
- linstabpy-1.0.0/tests/test_savarino_mapwalk.py +228 -0
- linstabpy-1.0.0/tests/test_sawtooth_field.py +20 -0
- linstabpy-1.0.0/tests/test_sbp_dissipation.py +258 -0
- linstabpy-1.0.0/tests/test_sbp_generator.py +249 -0
- linstabpy-1.0.0/tests/test_sensitivity.py +191 -0
- linstabpy-1.0.0/tests/test_sensitivity_inputs.py +133 -0
- linstabpy-1.0.0/tests/test_shock_cleanup.py +387 -0
- linstabpy-1.0.0/tests/test_solver_config.py +371 -0
- linstabpy-1.0.0/tests/test_solvers.py +1513 -0
- linstabpy-1.0.0/tests/test_solvers_inexact.py +224 -0
- linstabpy-1.0.0/tests/test_song2023_validation.py +157 -0
- linstabpy-1.0.0/tests/test_song_integration.py +165 -0
- linstabpy-1.0.0/tests/test_song_parametric_parity.py +219 -0
- linstabpy-1.0.0/tests/test_song_reference_baseflow.py +36 -0
- linstabpy-1.0.0/tests/test_sponge.py +398 -0
- linstabpy-1.0.0/tests/test_st_sub_pc_applied.py +114 -0
- linstabpy-1.0.0/tests/test_stability_acceptance.py +236 -0
- linstabpy-1.0.0/tests/test_stable_sweep.py +178 -0
- linstabpy-1.0.0/tests/test_symbolic_equation_parity.py +1191 -0
- linstabpy-1.0.0/tests/test_symbolic_multirhs.py +200 -0
- linstabpy-1.0.0/tests/test_tracked_file_size.py +64 -0
- linstabpy-1.0.0/tests/test_utils.py +417 -0
- linstabpy-1.0.0/tests/test_version_consistency.py +63 -0
- linstabpy-1.0.0/tests/test_viscosity.py +122 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
title: linstabpy
|
|
3
|
+
message: >-
|
|
4
|
+
If you use linstabpy in published work, please cite the LinStabPy
|
|
5
|
+
paper (Hamada et al., under revision) as the preferred citation,
|
|
6
|
+
together with the LinStab2D methodology paper (Martini & Schmidt
|
|
7
|
+
2024) listed under references.
|
|
8
|
+
type: software
|
|
9
|
+
authors:
|
|
10
|
+
- given-names: Gabriel Y. R.
|
|
11
|
+
family-names: Hamada
|
|
12
|
+
- given-names: William R.
|
|
13
|
+
family-names: Wolf
|
|
14
|
+
- given-names: Carlos
|
|
15
|
+
family-names: Junqueira-Junior
|
|
16
|
+
- given-names: Jean-Christophe
|
|
17
|
+
family-names: Robinet
|
|
18
|
+
- given-names: Ricardo A. S.
|
|
19
|
+
family-names: Frantz
|
|
20
|
+
repository-code: 'https://github.com/openfluids/linstabpy'
|
|
21
|
+
url: 'https://github.com/openfluids/linstabpy'
|
|
22
|
+
license: GPL-3.0-only
|
|
23
|
+
version: 1.0.0
|
|
24
|
+
date-released: '2026-10-30'
|
|
25
|
+
# There is no software DOI: the public repository is the archive.
|
|
26
|
+
preferred-citation:
|
|
27
|
+
type: article
|
|
28
|
+
title: >-
|
|
29
|
+
LinStabPy: an efficient Python framework for compressible
|
|
30
|
+
stability and resolvent analysis
|
|
31
|
+
authors:
|
|
32
|
+
- given-names: Gabriel Y. R.
|
|
33
|
+
family-names: Hamada
|
|
34
|
+
- given-names: William R.
|
|
35
|
+
family-names: Wolf
|
|
36
|
+
- given-names: Carlos
|
|
37
|
+
family-names: Junqueira-Junior
|
|
38
|
+
- given-names: Jean-Christophe
|
|
39
|
+
family-names: Robinet
|
|
40
|
+
- given-names: Ricardo A. S.
|
|
41
|
+
family-names: Frantz
|
|
42
|
+
journal: Theoretical and Computational Fluid Dynamics
|
|
43
|
+
year: 2026
|
|
44
|
+
notes: Under revision.
|
|
45
|
+
references:
|
|
46
|
+
- type: article
|
|
47
|
+
title: >-
|
|
48
|
+
LinStab2D: stability and resolvent analysis of compressible
|
|
49
|
+
viscous flows in MATLAB
|
|
50
|
+
authors:
|
|
51
|
+
- given-names: Eduardo
|
|
52
|
+
family-names: Martini
|
|
53
|
+
- given-names: Oliver T.
|
|
54
|
+
family-names: Schmidt
|
|
55
|
+
journal: Theoretical and Computational Fluid Dynamics
|
|
56
|
+
year: 2024
|
|
57
|
+
volume: 38
|
|
58
|
+
issue: 5
|
|
59
|
+
start: 665
|
|
60
|
+
end: 685
|
|
61
|
+
doi: 10.1007/s00162-024-00706-0
|