Skip to content

Add multi-excitation support to driven solver #309

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
Apr 16, 2025
Merged

Conversation

phdum-a
Copy link
Contributor

@phdum-a phdum-a commented Dec 4, 2024

  • Enable looping over different excitations in the driven solver
  • Extend config file to allow integer specification of "excitation" in LumpedPort, WavePort or SurfaceCurrent
  • Add PortExcitationHelper to manage complex excitation patterns
  • Tweak github tests: compile MFEM to throw exceptions not abort; make timeout shorter

ToDos:

  • Fix paraview conventions
  • Update docs with new config changes
  • Update changelog
  • Add regression tests with multiple excitations

@phdum-a
Copy link
Contributor Author

phdum-a commented Dec 4, 2024

Code lives on top of #302 — that should be merged into main first and this branch rebased.

@phdum-a phdum-a force-pushed the phdum/multi_excitation branch 2 times, most recently from 085d483 to 16067a5 Compare December 5, 2024 18:29
@phdum-a phdum-a changed the base branch from main to phdum/new_postpro December 5, 2024 18:37
@phdum-a phdum-a force-pushed the phdum/multi_excitation branch 4 times, most recently from 6692a00 to ac8cd41 Compare December 12, 2024 01:29
@phdum-a phdum-a mentioned this pull request Jan 10, 2025
@phdum-a phdum-a force-pushed the phdum/new_postpro branch 6 times, most recently from 4e34f6a to 27a33d7 Compare March 21, 2025 18:25
@phdum-a phdum-a force-pushed the phdum/multi_excitation branch from ac8cd41 to 23caed2 Compare March 22, 2025 00:55
Base automatically changed from phdum/new_postpro to main March 25, 2025 17:23
@phdum-a phdum-a force-pushed the phdum/multi_excitation branch 2 times, most recently from 0bbd871 to 04a6a38 Compare March 28, 2025 21:56
@phdum-a phdum-a force-pushed the phdum/multi_excitation branch from 847d113 to 3482d85 Compare March 30, 2025 03:38
phdum-a added 5 commits March 31, 2025 11:10
- Check that excitations are specified either as int or as bool but not both
- Add tests
- Put PreprocessFile into header for use in testing
- Add tests
- Cleanup names
- Add excitation minimum to json schema
- Helper collects data from individual ports
- Promote the excitation index in default situation (one excitation on one port gets the port index)
- Add json serialization
- Save excitations in metadata
- Clean up port excitation printing in driven and transient solvers
- Excitation is different from port index and should not be implicitly converted
@phdum-a phdum-a force-pushed the phdum/multi_excitation branch from 576db7f to 9a8b33a Compare April 1, 2025 01:00
@phdum-a phdum-a requested a review from hughcars April 1, 2025 02:22
@phdum-a phdum-a marked this pull request as ready for review April 1, 2025 18:16
Copy link
Collaborator

@hughcars hughcars left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking really cool. I have a few suggestions on #365 as we discussed offline.

Broadly it's mostly removing things in pursuit of simplicity. We should look at the excitation interface again in the future, as discussed, but that's beyond the scope of this work.

hughcars and others added 12 commits April 15, 2025 14:35
- Documentation formatting fixes
- Rename PortExcitationHelper
- Only print excitation sweeping to terminal if more than one excitation
- Remove strong typed ExcitationIndex
- Some snake_case to PascalCase
- Some typos
- Reorganize config file for bool excitation to promote to a size_t
- PascalCase not snake_case
- Remove unneeded includes
- Small fixes to config files
- Update doc to reflect constraint of excitation == port index for S param calculation
- Move frequency dependent operator construction inside uniform frequency loop, avoid need for flag
- Remove prom to paraview debug printing
- Fix printing of frequency/mode indices to 8 sf to suppress roundoffs
- Make driven specific overload for specifying excitation index
- Add some auto, move print debris to a constexpr
- Fix terminal output csv index
- Set index printing to 2 dp, resolves up to 999
- Fixes for single port excitations
- Remove extra configs, change uniforms to multi excite at 4 GHz steps
- Regenerate artifacts for cpw example with lower sampling frequency for the uniform case
- Update uniform sample golden file data, lowers frequency sample rate, but also samples port 3
@hughcars
Copy link
Collaborator

Override merging due to only known (unrelated) spack failure.

@hughcars hughcars merged commit cd4d7b7 into main Apr 16, 2025
26 of 27 checks passed
@hughcars hughcars deleted the phdum/multi_excitation branch April 16, 2025 21:50
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.

2 participants