Skip to content

Fix driven solver SurfaceCurrent with no pre-existing excitation #661

Merged
phdum-a merged 2 commits into
mainfrom
phdum/fix_current_op_no_excitation
Apr 13, 2026
Merged

Fix driven solver SurfaceCurrent with no pre-existing excitation #661
phdum-a merged 2 commits into
mainfrom
phdum/fix_current_op_no_excitation

Conversation

@phdum-a

@phdum-a phdum-a commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

Closes #616.

SurfaceCurrent can be used in the driven solver, but don't have any "Excitation" index. Instead they are added to all excitations. There is a bug where if there is no already existing excitation, this fails.

More generally, the Excitation interface was only designed for lumped or wave ports even through there are other times of excitations (like SurfaceCurrent, Dipole, etc) and this should be reworked to be more general and user friendly.

@phdum-a phdum-a requested review from Sbozzolo and hughcars March 9, 2026 21:07
@phdum-a phdum-a changed the title Phdum/fix current op no excitation Fix driven solver SurfaceCurrent with no pre-existing excitation Mar 9, 2026
@phdum-a phdum-a added the no-long-tests This PR does not require the long tests to be merged label Mar 9, 2026
@phdum-a phdum-a marked this pull request as ready for review March 9, 2026 23:33
@Sbozzolo

Copy link
Copy Markdown
Member

Do you maybe want to add some of the (very useful) content of #616 (comment) in the documentation?

Comment thread palace/models/portexcitations.cpp
@phdum-a

phdum-a commented Mar 10, 2026

Copy link
Copy Markdown
Contributor Author

Do you maybe want to add some of the (very useful) content of #616 (comment) in the documentation?

Happy to, but could you let me know what parts in particular? I think that everything I have written is already in the documentation in https://awslabs.github.io/palace/dev/guide/boundaries/ and https://awslabs.github.io/palace/dev/reference/

@Sbozzolo

Copy link
Copy Markdown
Member

Do you maybe want to add some of the (very useful) content of #616 (comment) in the documentation?

Happy to, but could you let me know what parts in particular? I think that everything I have written is already in the documentation in https://awslabs.github.io/palace/dev/guide/boundaries/ and https://awslabs.github.io/palace/dev/reference/

I find that your comment provides insight on how the features should be used, not just a description of the math/interface (e.g, you describe the difference between LumpedPort and SurfaceCurrent from a modeling/physics perspective). I also don't see references to dissipation or even the different normalizations in the boundaries page.

@phdum-a

phdum-a commented Apr 9, 2026

Copy link
Copy Markdown
Contributor Author

So I want to close this PR as this is an actual bug fix and it is waiting on documentation improvements that will take a while.

I also don't see references to dissipation or even the different normalizations in the boundaries page.

It's there, if you know where to look and how to read the Palace docs....

From https://awslabs.github.io/palace/dev/guide/boundaries/#Lumped-and-wave-port-excitation

A lumped port applies a similar boundary condition to a surface impedance boundary, but takes on a special meaning for each simulation type.

For each port, the excitation is normalized to have unit incident power over the port boundary surface.

From https://awslabs.github.io/palace/dev/guide/boundaries/#Surface-current-excitation:

This option prescribes a unit source surface current excitation on the given boundary in order to excite the model. It does does not prescribe any boundary condition to the model and only affects the source term on the right hand side.

I know that this is hard to find and interpret. Making the documentation more didactic is work and I have not found a place to naturally put my comment from #616 with more rewrites. For now:

@phdum-a phdum-a force-pushed the phdum/fix_current_op_no_excitation branch from 36af723 to b39865f Compare April 9, 2026 20:31
@hughcars

Copy link
Copy Markdown
Collaborator

Lookahead failures are unrelated, tracked in #700

@phdum-a phdum-a force-pushed the phdum/fix_current_op_no_excitation branch from b39865f to 0cc8f24 Compare April 13, 2026 15:43
@phdum-a phdum-a merged commit 8ed65bc into main Apr 13, 2026
86 of 89 checks passed
@phdum-a phdum-a deleted the phdum/fix_current_op_no_excitation branch April 13, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-long-tests This PR does not require the long tests to be merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Help with using SurfaceCurrent as excitation source in Driven simulations

3 participants