Toy implementation for 1D Heat equation with time-dependent BCs in ultraspherical discretisation#634
Open
brownbaerchen wants to merge 4 commits intoParallel-in-Time:masterfrom
Open
Conversation
Member
|
I appreciate the different angle, thanks a lot. For me not having a clue about ultra-mega-spectral methods this seems less "simple" then the "plain" FEM solution of #632 and this will limit us to IMEX methods for nonlinear problems (which is no big deal given that this is not the point of the whole demonstration). |
Member
|
Unless this is too much work, would you be able to reproduce the test seen in #632 that demonstrate order reduction (and fixes by boundary lifting)? |
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This is a toy implementation of a pySDC-native implementation of a heat equation with time-dependent boundary conditions. I didn't minimize code-duplication because I thought that it might make it easier to understand what's happening when all relevant code is in the same file.
This is supposed to be a simpler version of #632, not sure if you would agree that it's simpler :D I realize it's maybe a little opaque. I thought I do this sort of minimal thing now and, if it seems reasonable, I can provide more explanations or code. Also, my thesis contains a lot of explanations for Chebychev methods that are very close to the implementation in pySDC.
The power of the Chebychev and ultra spherical methods regarding BCs is that you can put whatever you want in the lines of the boundary conditions. All you need to know is which lines of the systems of equations you need to put the BC in. You don't even need to transform, you put in the BCs in physical space. This is not much more difficult in ND than here and non-linear equations are no more difficult from a BC point of view. Of course, we would have to do IMEX splitting because we can't treat the non-linear term implicitly here.
I added a test that the boundary conditions are satisfied after time. It's not run in the CI, since this is a playground.
Let me know what you think about this.