capytaine 2.2__tar.gz → 2.3__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.
- {capytaine-2.2 → capytaine-2.3}/.github/workflows/build_docs.yml +4 -1
- capytaine-2.3/.github/workflows/build_wheels.yaml +64 -0
- {capytaine-2.2 → capytaine-2.3}/.github/workflows/test_new_commits.yaml +17 -12
- {capytaine-2.2 → capytaine-2.3}/.github/workflows/test_with_latest_dependencies.yaml +5 -8
- {capytaine-2.2 → capytaine-2.3}/.gitignore +1 -0
- {capytaine-2.2 → capytaine-2.3}/.pre-commit-config.yaml +1 -1
- capytaine-2.3/CONTRIBUTING.md +18 -0
- {capytaine-2.2 → capytaine-2.3}/Makefile +4 -2
- capytaine-2.3/PKG-INFO +761 -0
- {capytaine-2.2 → capytaine-2.3}/README.md +2 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/__about__.py +1 -1
- {capytaine-2.2 → capytaine-2.3}/capytaine/__init__.py +2 -1
- {capytaine-2.2 → capytaine-2.3}/capytaine/bem/airy_waves.py +7 -2
- {capytaine-2.2 → capytaine-2.3}/capytaine/bem/engines.py +2 -2
- {capytaine-2.2 → capytaine-2.3}/capytaine/bem/problems_and_results.py +82 -35
- {capytaine-2.2 → capytaine-2.3}/capytaine/bem/solver.py +138 -41
- {capytaine-2.2 → capytaine-2.3}/capytaine/bodies/bodies.py +40 -12
- {capytaine-2.2 → capytaine-2.3}/capytaine/bodies/predefined/rectangles.py +2 -0
- capytaine-2.3/capytaine/green_functions/FinGreen3D/.gitignore +1 -0
- capytaine-2.3/capytaine/green_functions/FinGreen3D/FinGreen3D.f90 +3589 -0
- capytaine-2.3/capytaine/green_functions/FinGreen3D/LICENSE +165 -0
- capytaine-2.3/capytaine/green_functions/FinGreen3D/Makefile +16 -0
- capytaine-2.3/capytaine/green_functions/FinGreen3D/README.md +24 -0
- capytaine-2.3/capytaine/green_functions/FinGreen3D/test_program.f90 +39 -0
- capytaine-2.3/capytaine/green_functions/LiangWuNoblesse/.gitignore +1 -0
- capytaine-2.3/capytaine/green_functions/LiangWuNoblesse/LICENSE +504 -0
- capytaine-2.3/capytaine/green_functions/LiangWuNoblesse/LiangWuNoblesseWaveTerm.f90 +751 -0
- capytaine-2.3/capytaine/green_functions/LiangWuNoblesse/Makefile +18 -0
- capytaine-2.3/capytaine/green_functions/LiangWuNoblesse/README.md +2 -0
- capytaine-2.3/capytaine/green_functions/LiangWuNoblesse/test_program.f90 +28 -0
- capytaine-2.3/capytaine/green_functions/abstract_green_function.py +64 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/delhommeau.py +186 -115
- capytaine-2.3/capytaine/green_functions/hams.py +204 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/Makefile +17 -4
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/benchmarks/openmp/benchmark_omp.f90 +7 -53
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/benchmarks/profiling/benchmark_profiling.f90 +6 -51
- capytaine-2.3/capytaine/green_functions/libDelhommeau/benchmarks/rankine/benchmark_rankine.f90 +71 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/benchmarks/tabulations/benchmark_tabulation.f90 +1 -1
- capytaine-2.3/capytaine/green_functions/libDelhommeau/benchmarks/waves/benchmark_waves.f90 +186 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/examples/minimal/minimal_example.f90 +25 -40
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/examples/minimal/minimal_example.py +5 -5
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/src/Delhommeau_integrals.f90 +95 -89
- capytaine-2.3/capytaine/green_functions/libDelhommeau/src/FinGreen3D.f90 +3589 -0
- capytaine-2.3/capytaine/green_functions/libDelhommeau/src/Green_Rankine.f90 +331 -0
- capytaine-2.3/capytaine/green_functions/libDelhommeau/src/Green_wave.f90 +604 -0
- capytaine-2.3/capytaine/green_functions/libDelhommeau/src/LiangWuNoblesseWaveTerm.f90 +751 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/src/constants.f90 +8 -1
- capytaine-2.3/capytaine/green_functions/libDelhommeau/src/interface.f90 +59 -0
- capytaine-2.3/capytaine/green_functions/libDelhommeau/src/matrices.f90 +421 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/src/old_Prony_decomposition.f90 +15 -14
- {capytaine-2.2 → capytaine-2.3}/capytaine/io/bemio.py +14 -2
- {capytaine-2.2 → capytaine-2.3}/capytaine/io/mesh_loaders.py +2 -1
- capytaine-2.3/capytaine/io/wamit.py +479 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/io/xarray.py +252 -100
- {capytaine-2.2 → capytaine-2.3}/capytaine/matrices/block.py +4 -2
- {capytaine-2.2 → capytaine-2.3}/capytaine/matrices/linear_solvers.py +1 -1
- {capytaine-2.2 → capytaine-2.3}/capytaine/matrices/low_rank.py +3 -1
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/clipper.py +4 -3
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/collections.py +11 -1
- capytaine-2.3/capytaine/meshes/mesh_like_protocol.py +37 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/meshes.py +22 -9
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/properties.py +58 -24
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/symmetric.py +11 -2
- {capytaine-2.2 → capytaine-2.3}/capytaine/post_pro/kochin.py +4 -4
- {capytaine-2.2 → capytaine-2.3}/capytaine/tools/lists_of_points.py +3 -3
- capytaine-2.3/capytaine/tools/prony_decomposition.py +150 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/tools/symbolic_multiplication.py +30 -2
- capytaine-2.3/capytaine/tools/timer.py +64 -0
- {capytaine-2.2 → capytaine-2.3}/docs/changelog.rst +151 -1
- capytaine-2.3/docs/citing.rst +127 -0
- capytaine-2.2/CONTRIBUTING.md → capytaine-2.3/docs/developer_manual/contributing.rst +14 -24
- {capytaine-2.2 → capytaine-2.3}/docs/developer_manual/index.rst +3 -0
- {capytaine-2.2 → capytaine-2.3}/docs/developer_manual/installation.rst +98 -80
- capytaine-2.3/docs/developer_manual/making_a_release.rst +104 -0
- capytaine-2.3/docs/developer_manual/testing.rst +141 -0
- capytaine-2.3/docs/examples/A_beginners_cookbook.rst +84 -0
- capytaine-2.3/docs/examples/B_intermediate_cookbook.rst +93 -0
- capytaine-2.3/docs/examples/C_advanced_cookbook.rst +87 -0
- capytaine-2.3/docs/examples/index.rst +12 -0
- capytaine-2.2/docs/user_manual/examples/radiation_cylinder.py → capytaine-2.3/docs/examples/src/A1_radiation_cylinder.py +13 -11
- capytaine-2.2/docs/user_manual/examples/multibody.py → capytaine-2.3/docs/examples/src/A2_multibody.py +0 -3
- capytaine-2.3/docs/examples/src/A3_finite_depth_cylinder.py +46 -0
- capytaine-2.2/docs/user_manual/examples/custom_dofs.py → capytaine-2.3/docs/examples/src/A4_custom_dofs.py +0 -2
- capytaine-2.2/docs/user_manual/examples/elasticity_of_beam.py → capytaine-2.3/docs/examples/src/A7_elasticity_of_beam.py +0 -3
- capytaine-2.3/docs/examples/src/A8_export_dataset.py +45 -0
- capytaine-2.2/docs/user_manual/examples/pressure_on_hull.py → capytaine-2.3/docs/examples/src/B1_pressure_on_hull.py +4 -1
- capytaine-2.2/docs/user_manual/examples/haskind.py → capytaine-2.3/docs/examples/src/B2_haskind.py +1 -5
- capytaine-2.2/docs/user_manual/examples/free_surface_elevation.py → capytaine-2.3/docs/examples/src/B3_free_surface_elevation.py +0 -2
- capytaine-2.2/docs/user_manual/examples/kochin.py → capytaine-2.3/docs/examples/src/B4_kochin.py +1 -1
- capytaine-2.2/docs/user_manual/examples/plot_velocity_in_domain.py → capytaine-2.3/docs/examples/src/B5_plot_velocity_in_domain.py +4 -4
- capytaine-2.2/docs/user_manual/examples/animate_free_surface.py → capytaine-2.3/docs/examples/src/B6_animate_free_surface.py +0 -2
- capytaine-2.3/docs/examples/src/B8_pressure_infinite_frequency.py +26 -0
- capytaine-2.3/docs/examples/src/C10_custom_linear_solver_on_gpu.py +90 -0
- capytaine-2.2/docs/user_manual/examples/plot_influence_matrix.py → capytaine-2.3/docs/examples/src/C5_plot_influence_matrix.py +0 -2
- capytaine-2.2/docs/user_manual/examples/axisymmetric_buoy.py → capytaine-2.3/docs/examples/src/C6_axisymmetric_buoy.py +1 -3
- capytaine-2.2/docs/user_manual/examples/preconditioner.py → capytaine-2.3/docs/examples/src/C7_h_matrices_with_preconditionner.py +0 -2
- capytaine-2.3/docs/examples/src/C8_compare_Green_functions.py +41 -0
- capytaine-2.3/docs/examples/src/C9_custom_Green_function.py +106 -0
- {capytaine-2.2/docs/user_manual/examples → capytaine-2.3/docs/examples/src}/quickstart.py +2 -2
- capytaine-2.3/docs/examples/validation.rst +17 -0
- {capytaine-2.2 → capytaine-2.3}/docs/index.rst +7 -2
- {capytaine-2.2 → capytaine-2.3}/docs/theory_manual/theory.rst +41 -1
- capytaine-2.3/docs/user_manual/Panel_convention.svg +187 -0
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/body.rst +3 -10
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/conventions.rst +1 -1
- capytaine-2.3/docs/user_manual/export_output.rst +166 -0
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/index.rst +1 -2
- capytaine-2.3/docs/user_manual/installation.rst +156 -0
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/mesh.rst +69 -36
- capytaine-2.3/docs/user_manual/post_pro.rst +256 -0
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/problem_setup.rst +46 -4
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/quickstart.rst +2 -4
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/resolution.rst +120 -21
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/tutorial.rst +1 -1
- {capytaine-2.2 → capytaine-2.3}/editable_install_requirements.txt +4 -3
- {capytaine-2.2 → capytaine-2.3}/meson.build +15 -8
- {capytaine-2.2 → capytaine-2.3}/noxfile.py +34 -21
- {capytaine-2.2 → capytaine-2.3}/pyproject.toml +17 -6
- {capytaine-2.2 → capytaine-2.3}/pytest/envs/2023-08-01-py3.8.txt +13 -1
- capytaine-2.3/pytest/envs/2024-10-22-py3.12.txt +81 -0
- capytaine-2.3/pytest/envs/2025-04-18-py3.12.txt +93 -0
- capytaine-2.2/pytest/test_bem_engines.py → capytaine-2.3/pytest/test_bem_engines_basic_matric_engine.py +24 -4
- capytaine-2.2/pytest/test_bem_hierarchical_toeplitz_matrices.py → capytaine-2.3/pytest/test_bem_engines_hierarchical_toeplitz_matrices.py +16 -16
- {capytaine-2.2 → capytaine-2.3}/pytest/test_bem_irregular_frequencies_removal.py +40 -4
- {capytaine-2.2 → capytaine-2.3}/pytest/test_bem_linear_combination_of_dofs.py +4 -4
- capytaine-2.3/pytest/test_bem_no_free_surface.py +27 -0
- capytaine-2.3/pytest/test_bem_problems_and_results.py +329 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_bem_solver.py +48 -17
- capytaine-2.3/pytest/test_bem_zero_and_infinite_freq.py +212 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_bodies.py +53 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_bodies_predefined.py +11 -0
- capytaine-2.3/pytest/test_consistency_with_HAMS.py +55 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_consistency_with_Nemoh_2.py +2 -0
- capytaine-2.3/pytest/test_consistency_with_analytical_solutions.py +31 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_forward_speed.py +7 -7
- capytaine-2.3/pytest/test_green_functions_finite_depth.py +202 -0
- capytaine-2.2/pytest/test_bem_green_function_fortran_core.py → capytaine-2.3/pytest/test_green_functions_fortran_core.py +61 -71
- capytaine-2.3/pytest/test_green_functions_table_density.py +140 -0
- capytaine-2.3/pytest/test_io_bemio.py +26 -0
- capytaine-2.2/pytest/test_io.py → capytaine-2.3/pytest/test_io_legacy.py +3 -64
- {capytaine-2.2 → capytaine-2.3}/pytest/test_io_meshes.py +1 -1
- {capytaine-2.2 → capytaine-2.3}/pytest/test_io_meshes_gdf.py +0 -1
- capytaine-2.3/pytest/test_io_wamit.py +313 -0
- capytaine-2.3/pytest/test_io_xarray.py +333 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_meshes.py +47 -79
- capytaine-2.3/pytest/test_meshes_clipping.py +102 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_meshes_collections_and_symmetries.py +15 -0
- capytaine-2.3/pytest/test_meshes_interface.py +81 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_meshes_lid_generation.py +70 -1
- capytaine-2.3/pytest/test_tool_symbolic_multiplication.py +67 -0
- capytaine-2.2/.github/workflows/build_wheels.yaml +0 -46
- capytaine-2.2/Dockerfile +0 -13
- capytaine-2.2/PKG-INFO +0 -751
- capytaine-2.2/capytaine/green_functions/abstract_green_function.py +0 -12
- capytaine-2.2/capytaine/green_functions/libDelhommeau/src/Green_Rankine.f90 +0 -148
- capytaine-2.2/capytaine/green_functions/libDelhommeau/src/Green_wave.f90 +0 -402
- capytaine-2.2/capytaine/green_functions/libDelhommeau/src/matrices.f90 +0 -302
- capytaine-2.2/capytaine/tools/prony_decomposition.py +0 -94
- capytaine-2.2/capytaine.scm +0 -61
- capytaine-2.2/docs/citing.rst +0 -61
- capytaine-2.2/docs/user_manual/cookbook.rst +0 -161
- capytaine-2.2/docs/user_manual/examples/compare_Green_functions.py +0 -33
- capytaine-2.2/docs/user_manual/examples/custom_Green_function.py +0 -62
- capytaine-2.2/docs/user_manual/examples/finite_depth_cylinder.py +0 -52
- capytaine-2.2/docs/user_manual/installation.rst +0 -149
- capytaine-2.2/docs/user_manual/outputs.rst +0 -289
- capytaine-2.2/docs/user_manual/post_pro.rst +0 -120
- capytaine-2.2/pytest/Nemoh_verification_cases/Nemoh.m +0 -121
- capytaine-2.2/pytest/test_bem_green_function_table_density.py +0 -107
- capytaine-2.2/pytest/test_bem_problems_and_results.py +0 -349
- capytaine-2.2/pytest/test_bem_zero_and_infinite_freq.py +0 -58
- capytaine-2.2/pytest/test_tool_symbolic_multiplication.py +0 -102
- {capytaine-2.2 → capytaine-2.3}/.zenodo.json +0 -0
- {capytaine-2.2 → capytaine-2.3}/LICENSE +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/bem/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/bodies/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/bodies/dofs.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/bodies/predefined/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/bodies/predefined/cylinders.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/bodies/predefined/spheres.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/.gitignore +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/LICENSE +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/README.md +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/benchmarks/openmp/display_mesh.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/benchmarks/openmp/read_output.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/src/float32.f90 +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libDelhommeau/src/float64.f90 +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/green_functions/libs/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/io/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/io/legacy.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/io/mesh_writers.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/io/meshio.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/matrices/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/matrices/block_toeplitz.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/matrices/builders.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/geometry.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/predefined/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/predefined/cylinders.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/predefined/rectangles.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/predefined/spheres.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/quadratures.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/quality.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/meshes/surface_integrals.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/post_pro/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/post_pro/free_surfaces.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/post_pro/impedance.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/post_pro/rao.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/tools/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/tools/cache_on_disk.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/tools/deprecation_handling.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/tools/lru_cache.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/tools/optional_imports.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/cli.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/rich.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/vtk/__init__.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/vtk/animation.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/vtk/body_viewer.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/vtk/helpers.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/capytaine/ui/vtk/mesh_viewer.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/code_of_conduct.md +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/Makefile +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/_static/custom.css +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/_static/proof.css +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/_static/proof.js +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/_templates/layout.html +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/conf.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/developer_manual/overview.rst +0 -0
- /capytaine-2.2/docs/user_manual/examples/convergence_study.py → /capytaine-2.3/docs/examples/src/A5_convergence_study.py +0 -0
- /capytaine-2.2/docs/user_manual/examples/irregular_frequency_removal.py → /capytaine-2.3/docs/examples/src/A6_irregular_frequency_removal.py +0 -0
- /capytaine-2.2/docs/user_manual/examples/boat_animation.py → /capytaine-2.3/docs/examples/src/B7_boat_animation.py +0 -0
- /capytaine-2.2/docs/user_manual/examples/Malenica_forward_speed.py → /capytaine-2.3/docs/examples/src/V_Malenica_forward_speed.py +0 -0
- /capytaine-2.2/docs/user_manual/examples/hydrostatics.py → /capytaine-2.3/docs/examples/src/V_hydrostatics.py +0 -0
- {capytaine-2.2/docs/user_manual/examples → capytaine-2.3/docs/examples/src}/boat_200.mar +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/features.rst +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/theory_manual/bibliography.rst +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/theory_manual/index.rst +0 -0
- {capytaine-2.2/docs/user_manual/examples → capytaine-2.3/docs/user_manual}/Nemoh.cal +0 -0
- {capytaine-2.2 → capytaine-2.3}/docs/user_manual/hydrostatics.rst +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Bemio_verification_cases/sphere.out +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Hydrostatics_cases/sphere__hor_cyl__ver_cyl.pkl.json +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/Cylinder/Cylinder.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/Cylinder/Nemoh.cal +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/Cylinder/Nemoh_v3.cal +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/Cylinder/reference_results/DiffractionForce.tec +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/Cylinder/reference_results/ExcitationForce.tec +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/Cylinder/reference_results/RadiationCoefficients.tec +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/NonSymmetrical/Nemoh.cal +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/NonSymmetrical/Nemoh_v3.cal +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/NonSymmetrical/NonSymmetrical.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/NonSymmetrical/reference_results/DiffractionForce.tec +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/NonSymmetrical/reference_results/ExcitationForce.tec +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/Nemoh_verification_cases/NonSymmetrical/reference_results/RadiationCoefficients.tec +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/envs/2024-04-08-py3.12.txt +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/single_body/Hydrostatics.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/single_body/KH.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/single_body_list/Hydrostatics.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/single_body_list/KH.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/two_bodies_list/Hydrostatics_0.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/two_bodies_list/Hydrostatics_1.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/two_bodies_list/KH_0.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/io_legacy_cases/reference_data/two_bodies_list/KH_1.dat +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/mesh_files_examples/barge.med +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/mesh_files_examples/cylinder2.msh +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/mesh_files_examples/cylinder4.msh +0 -0
- /capytaine-2.2/pytest/test_airy_waves.py → /capytaine-2.3/pytest/test_bem_airy_waves.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_bem_potential_velocity_and_free_surface_elevation.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_bem_with_quadratures.py +0 -0
- /capytaine-2.2/pytest/test_bem_green_function_matrix_shape.py → /capytaine-2.3/pytest/test_green_functions_matrix_shape.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_hydrostatics.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_io_meshes_hst.py +0 -0
- /capytaine-2.2/pytest/test_io_mehses_mar.py → /capytaine-2.3/pytest/test_io_meshes_mar.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_io_meshes_pnl.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_linear_solvers.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_matrices.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_meshes_geometry.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_meshes_predefined.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_post_pro_kochin.py +0 -0
- /capytaine-2.2/pytest/test_post_pro.py → /capytaine-2.3/pytest/test_post_pro_rao.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_tool_lru_cache.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_ui_matplotlib.py +0 -0
- {capytaine-2.2 → capytaine-2.3}/pytest/test_ui_vtk.py +0 -0
|
@@ -42,7 +42,10 @@ jobs:
|
|
|
42
42
|
run: cd docs && make
|
|
43
43
|
|
|
44
44
|
- name: Deploy pages
|
|
45
|
-
if:
|
|
45
|
+
if: |
|
|
46
|
+
github.repository_owner == 'capytaine' &&
|
|
47
|
+
github.ref == 'refs/heads/master'
|
|
48
|
+
# Only deploy the version merged into the master branch of capytaine/capytaine
|
|
46
49
|
uses: JamesIves/github-pages-deploy-action@releases/v4
|
|
47
50
|
with:
|
|
48
51
|
folder: ./docs/_build/html/
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Build wheels
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
push:
|
|
6
|
+
tags:
|
|
7
|
+
- v*
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '6 6 6/16 * *' # On the 6th and 22nd of each month at 6:06
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build_wheels:
|
|
14
|
+
name: Build wheels on ${{ matrix.os }}
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
strategy:
|
|
17
|
+
matrix:
|
|
18
|
+
os: [ubuntu-22.04, macos-13, macos-14, windows-2025]
|
|
19
|
+
# MacOS<=13 are Intel, while MacOS 14 is Apple Silicon
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v4
|
|
23
|
+
|
|
24
|
+
- uses: fortran-lang/setup-fortran@v1
|
|
25
|
+
id: setup-fortran
|
|
26
|
+
with:
|
|
27
|
+
compiler: 'gcc'
|
|
28
|
+
version: '13'
|
|
29
|
+
|
|
30
|
+
- name: Build wheels on Ubuntu
|
|
31
|
+
if: matrix.os == 'ubuntu-22.04'
|
|
32
|
+
uses: pypa/cibuildwheel@v2.21.3
|
|
33
|
+
env:
|
|
34
|
+
CIBW_SKIP: "pp* *i686* *musllinux*"
|
|
35
|
+
# As of Sept 2024, Python 3.13 is troublesome because of lack of Pandas for Python 3.13.
|
|
36
|
+
|
|
37
|
+
- name: Build wheels on MacOS Intal
|
|
38
|
+
if: matrix.os == 'macos-13'
|
|
39
|
+
uses: pypa/cibuildwheel@v2.21.3
|
|
40
|
+
env:
|
|
41
|
+
CIBW_SKIP: "pp*"
|
|
42
|
+
CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=13.0
|
|
43
|
+
|
|
44
|
+
- name: Build wheels on MacOS ARM
|
|
45
|
+
if: matrix.os == 'macos-14'
|
|
46
|
+
uses: pypa/cibuildwheel@v2.21.3
|
|
47
|
+
env:
|
|
48
|
+
CIBW_SKIP: "pp*"
|
|
49
|
+
CIBW_ENVIRONMENT: MACOSX_DEPLOYMENT_TARGET=14.0
|
|
50
|
+
|
|
51
|
+
- name: Build wheels on Windows
|
|
52
|
+
if: matrix.os == 'windows-2025'
|
|
53
|
+
uses: pypa/cibuildwheel@v2.21.3
|
|
54
|
+
env:
|
|
55
|
+
CIBW_SKIP: "pp* *win32*"
|
|
56
|
+
CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel
|
|
57
|
+
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel show {wheel} && delvewheel repair -w {dest_dir} {wheel} --no-mangle-all"
|
|
58
|
+
# Package the DLL dependencies in the wheel for windows (done by default for the other platforms).
|
|
59
|
+
# delvewheel cannot mangle the libraries, stripping does not work.
|
|
60
|
+
|
|
61
|
+
- uses: actions/upload-artifact@v4
|
|
62
|
+
with:
|
|
63
|
+
name: wheels-${{ matrix.os }}
|
|
64
|
+
path: ./wheelhouse/*.whl
|
|
@@ -38,16 +38,13 @@ jobs:
|
|
|
38
38
|
- name: Checkout repository
|
|
39
39
|
uses: actions/checkout@v4
|
|
40
40
|
|
|
41
|
-
- name: Set up
|
|
42
|
-
uses:
|
|
41
|
+
- name: Set up UV
|
|
42
|
+
uses: astral-sh/setup-uv@v5
|
|
43
43
|
with:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- name: Set up nox
|
|
47
|
-
uses: wntrblm/nox@2024.03.02
|
|
44
|
+
enable-cache: true
|
|
48
45
|
|
|
49
46
|
- name: Run nox session
|
|
50
|
-
run: nox -s build_and_test_on_locked_env
|
|
47
|
+
run: uvx nox --force-python ${{ matrix.python-version }} -s build_and_test_on_locked_env
|
|
51
48
|
|
|
52
49
|
compile_fortran:
|
|
53
50
|
|
|
@@ -58,14 +55,22 @@ jobs:
|
|
|
58
55
|
- name: Checkout repository
|
|
59
56
|
uses: actions/checkout@v4
|
|
60
57
|
|
|
61
|
-
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
# # 2024-10-22: disabling this step because it takes a few minutes to
|
|
59
|
+
# download a specific version of GCC, but it is not really required as GCC
|
|
60
|
+
# is already installed on the Ubuntu runner.
|
|
61
|
+
#
|
|
62
|
+
# - name: Set up Fortran
|
|
63
|
+
# uses: fortran-lang/setup-fortran@v1
|
|
64
|
+
# with:
|
|
65
|
+
# compiler: 'gcc'
|
|
66
|
+
# version: '13'
|
|
66
67
|
|
|
67
68
|
- name: Compile and run example
|
|
68
69
|
working-directory: capytaine/green_functions/libDelhommeau/
|
|
69
70
|
run: make example && examples/minimal/minimal_example.bin
|
|
70
71
|
# Soundness of the results is not tested, only that the compiling and
|
|
71
72
|
# execution are succeeding.
|
|
73
|
+
|
|
74
|
+
- name: Run simple benchmark
|
|
75
|
+
working-directory: capytaine/green_functions/libDelhommeau/
|
|
76
|
+
run: make run_bench_rankine && make run_bench_waves
|
|
@@ -16,20 +16,17 @@ jobs:
|
|
|
16
16
|
|
|
17
17
|
strategy:
|
|
18
18
|
matrix:
|
|
19
|
-
python-version: ['3.8', '3.
|
|
19
|
+
python-version: ['3.8', '3.13']
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
22
|
|
|
23
23
|
- name: Checkout repository and submodules
|
|
24
24
|
uses: actions/checkout@v4
|
|
25
25
|
|
|
26
|
-
- name: Set up
|
|
27
|
-
uses:
|
|
26
|
+
- name: Set up UV
|
|
27
|
+
uses: astral-sh/setup-uv@v5
|
|
28
28
|
with:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- name: Set up nox
|
|
32
|
-
uses: wntrblm/nox@2024.03.02
|
|
29
|
+
enable-cache: true
|
|
33
30
|
|
|
34
31
|
- name: Run nox session
|
|
35
|
-
run: nox -s build_and_test_on_latest_env editable_build_and_test_on_latest_env
|
|
32
|
+
run: uvx nox --force-python ${{ matrix.python-version }} -s build_and_test_on_latest_env editable_build_and_test_on_latest_env
|
|
@@ -37,4 +37,4 @@ repos:
|
|
|
37
37
|
rev: "v2.2.5"
|
|
38
38
|
hooks:
|
|
39
39
|
- id: codespell
|
|
40
|
-
args: ["-L", "ba,informations,inout,ist,lamda,ment,noe,periode,sur", "--skip", "capytaine/green_functions/libDelhommeau/src/old_Prony_decomposition.f90"]
|
|
40
|
+
args: ["-L", "ans,ba,informations,inout,ist,lamda,ment,noe,periode,sur", "--skip", "capytaine/green_functions/libDelhommeau/src/old_Prony_decomposition.f90"]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# How to contribute
|
|
2
|
+
|
|
3
|
+
Thank you for your interest into Capytaine.
|
|
4
|
+
|
|
5
|
+
## Contact
|
|
6
|
+
|
|
7
|
+
The best place to report a bug or to propose an enhancement is the [issue
|
|
8
|
+
tracker](https://github.com/mancellin/capytaine/issues) of Capytaine's Github
|
|
9
|
+
repository.
|
|
10
|
+
|
|
11
|
+
The [discussion page](https://github.com/mancellin/capytaine/discussions) can
|
|
12
|
+
also be used to ask questions and submit ideas.
|
|
13
|
+
|
|
14
|
+
## Submitting changes
|
|
15
|
+
|
|
16
|
+
Pull requests are welcome.
|
|
17
|
+
See the [developer manual](https://capytaine.org/master/developer_manual) for
|
|
18
|
+
instructions.
|
|
@@ -2,8 +2,10 @@ install:
|
|
|
2
2
|
pip install .
|
|
3
3
|
|
|
4
4
|
develop:
|
|
5
|
-
pip install -r editable_install_requirements.txt
|
|
5
|
+
uv pip install -r editable_install_requirements.txt
|
|
6
|
+
uv pip install .[test,optional,more_optional]
|
|
6
7
|
pip install --no-build-isolation --editable .
|
|
8
|
+
# The last line is not support by uv
|
|
7
9
|
|
|
8
10
|
TEMP_DIR := $(shell mktemp -d)
|
|
9
11
|
test_fortran_compilation:
|
|
@@ -13,7 +15,7 @@ test_fortran_compilation:
|
|
|
13
15
|
|
|
14
16
|
test:
|
|
15
17
|
# Build and test the current repository in a fixed environment.
|
|
16
|
-
nox
|
|
18
|
+
uvx nox --python 3.12 --session build_and_test_on_locked_env
|
|
17
19
|
|
|
18
20
|
clean:
|
|
19
21
|
rm -f capytaine/green_functions/libs/*.so
|