Skip to content

Conversation

HopeBestWorld
Copy link
Contributor

No description provided.

collin-treacy and others added 30 commits January 18, 2025 10:50
- Low m0 inaccurate and needs debugging
- Inf m0 within 1% but incorrect (should be closer)
…sed panels while also being able to account for heaving/not heaving
Update infinite_limits with current testing abilities.
- Some code cleanup for merging
Finished Infinite Frequency Limit:
- Fixes bug with infinite frequency implementation
- Adds scaled bessel functions to increase range of inputs that don't break outputs
…updates test configuration data accordingly.
- New multi_condensed.py file is used instead of copying the contents of multi_MEEM to math needing to run MEEM
- Convergence and slant studies reorganized for clarity, can directly be run forsome results.
…ailures

Addresses the recent test failures in `test_multi_equations.py`.

Specifically:
- Corrected the `Z_k_e` and `diff_Z_k_e` function implementations to align with the expected mathematical formulas. Debugging revealed discrepancies in the calculation logic.
- Ensured the `excitation_phase` function correctly calls the `scale` utility by passing the `a` array.
- Updated the `test_excitation_phase` signature to properly inject the `a` fixture.
- Confirmed all related tests now pass, indicating accurate function behavior.
HopeBestWorld and others added 30 commits August 1, 2025 18:16
added two scripts to profile in Spyder
To guide users on the end-to-end usage, a comprehensive and runnable example script was needed.

updates `meem_engine_example.py`, a self-contained script that demonstrates the primary workflow for setting up, solving, and visualizing a problem.

The example script covers:
- Defining the physical parameters for a multi-cylinder system.
- Creating the necessary `Geometry` and `MEEMProblem` objects.
- Initializing the `MEEMEngine`.
- Running a frequency sweep with `run_and_store_results`.
- Solving for a single frequency to calculate detailed potential and velocity fields.
- Visualizing the results
To clarify the setup process for a simulation, updates example script, `meem_problem_example.py`.

This script serves as a tutorial for the `MEEMProblem` class, demonstrating the standard user workflow:
- First, creating a `Geometry` object to define the physical system.
- Then, instantiating a `MEEMProblem` with that geometry.
- Finally, using the `set_frequencies_modes` method to define the specific computations to be run.

This example helps illustrate the role of `MEEMProblem` that is passed to the `MEEMEngine`.
- loop over problem.modes
- updated building params method to include optional slant
- from requirements.txt
  as it caused pip install errors due to invalid syntax.
- Python version constraints are already correctly specified
  in pyproject.toml
making methods in problem_cache private
The `build_domain_params` method now automatically assigns top and bottom boundary conditions based on the domain's category, ensuring consistency and aligning the setup with the physical model's specifications.

This change removes the need for manual BC configuration when creating domain parameters. The logic is as follows:
- **Exterior domains**: Top BC is set to 'Wave surface'.
- **Interior domains** ('inner', 'outer'): Top BC is set to 'Body'.
- **All domains**: Bottom BC is set to 'Sea floor'.

The test suites and example scripts have been updated to reflect this new deterministic behavior.
Automatically set domain boundary conditions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants