Skip to content
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

Eliminate redundant dimension parameter for BConds #173

Open
matt-frey opened this issue May 26, 2023 · 0 comments
Open

Eliminate redundant dimension parameter for BConds #173

matt-frey opened this issue May 26, 2023 · 0 comments
Labels
cleanup feature request Used to label a feature request in the issue tracker.

Comments

@matt-frey
Copy link
Member

In GitLab by @vinciguerra_a on May 26, 2023, 15:47

The changes in !173 reduce repetition of template parameters across IPPL, but these changes have a risk of introducing a dependency loop between ippl::Field and ippl::BConds. Fields have an instance of their boundary conditions, so Field depends on BConds. The only information BConds needs from the field a priori is the rank. This can be extracted via Field::dim, but then BConds would depend on Field at compile-time, introducing a dependency loop.

In !173, this is resolved by passing an additional template parameter to indicate the dimension. This parameter is semantically redundant, but breaks the loop. Ideally, this should be resolved with no redundant information, as this was the original intent of the MR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup feature request Used to label a feature request in the issue tracker.
Projects
None yet
Development

No branches or pull requests

1 participant