Skip to content

Vectorize I_nm/I_mk coupling integrals and remove per-element assembly loops#99

Draft
rebeccamccabe with Copilot wants to merge 1 commit into
faster-besselsfrom
copilot/edit-imn-imk-functions
Draft

Vectorize I_nm/I_mk coupling integrals and remove per-element assembly loops#99
rebeccamccabe with Copilot wants to merge 1 commit into
faster-besselsfrom
copilot/edit-imn-imk-functions

Vectorize coupling integral evaluation paths

1feb3da
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / JUnit Test Report failed Jul 21, 2026 in 0s

39 tests run, 38 passed, 0 skipped, 1 failed.

Annotations

Check failure on line 93 in package/test/test_bicylinder_convergence.py

See this annotation in the file changed.

@github-actions github-actions / JUnit Test Report

test_bicylinder_convergence

failed on setup with "NameError: name 'besselie0' is not defined"
Raw output
@pytest.fixture(scope="module")
    def converged_solution():
        """
        Calculates the "golden" solution using a high number of terms.
        This runs only ONCE per test session.
        """
        # Based on the "math script", N=30 is the max
        nmk_converged = [30, 30, 30]
        print("\nCalculating converged solution (NMK=30)...")
>       am_conv, dp_conv = run_bicylinder_sim(nmk_converged)

package/test/test_bicylinder_convergence.py:156: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
package/test/test_bicylinder_convergence.py:93: in run_bicylinder_sim
    engine = MEEMEngine(problem_list=[problem])
package/src/openflash/meem_engine.py:28: in __init__
    self.cache_list[problem] = self.build_problem_cache(problem)
package/src/openflash/meem_engine.py:146: in build_problem_cache
    int_R1_store[(i, n)] = int_R_1n(i, n, a, h, d)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

i = 0, n = 1, a = [0.25, 0.5, inf], h = 1.001, d = [0.5, 0.25, 0.0]

    def int_R_1n(i, n, a, h, d):
        if n == 0:
            inner = (0 if i == 0 else a[i-1]) # central region has inner radius 0
            return a[i]**2/4 - inner**2/4
        else:
            lambda0 = lambda_ni(n, i, h, d)
>           bottom = lambda0 * besselie0(lambda0 * scale(a)[i])
E           NameError: name 'besselie0' is not defined

package/src/openflash/multi_equations.py:479: NameError