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

Case support in x3d2 #121

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Case support in x3d2 #121

wants to merge 1 commit into from

Conversation

semi-h
Copy link
Member

@semi-h semi-h commented Aug 27, 2024

I worked this draft out together with vector_calculus class but opening a separete PR. My intention is to finalise vector_calculus PR first and then work on this one. Opening a draft PR now so that we can discuss.

Initially I considered passing a case class to the solver class as an argument as we discussed in our hackaton last month, but it didn't work well because case specific postprocessing requires access to some of the vector calculus operations. These vector calculus operations require operators (tdsops instances), and we instantiate them inside the solver class. So ended up drafting this as a starting point where we have a case class that contains solver. This way we have access to tdsops instances solver class defines and can use them with postprocessing.

Alternative would be instantiating tdsops instances in the case class but I don't think its a good idea because solver needs them for example in transeq and the FFT based Poisson solver needs them for the modified wavenumber stuff.

As this is suggesting a structural change in the codebase we should discuss this carefully considering the future support we want to add in x3d2 and think about alternative approaches.

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.

1 participant