Replies: 1 comment
-
It would be great if you wanted to tackle this. I talked with Daniel (@wd15) and we think it'd be best to have a conference call. Daniel can explain where/why he left off and then I can work with you to understand the code base. I'll send you an email to figure out a time that works. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Referring to these two discussions (#1090 #1086), I am using FiPy to solve the corresponding equation:
where:
represented in FiPy as:
Going to asymptotically small$D$ , the system becomes increasingly hyperbolic, requiring smaller time steps and sweep convergence threshold. The extreme case is D = 0, for which I have not obtained a solution where FiPy does not generate waves/instabilities close to/following the shocks forming in the system.
In addition, I suspect (but I am not sure yet) numerical diffusion to be too strong and prevent the system from converging to the right solution in the increasingly hyperbolic case.
For these reasons, I'd like to try implementing a better numerical scheme for the ConvectionTerm.
In the past, I've been using the Central Upwind Schemes that can be found in the literature related to (among others) Alexander Kurganov, such as
Kurganov, A., & Tadmor, E. (2000). New high-resolution central schemes for nonlinear conservation laws and convection–diffusion equations. Journal of computational physics, 160(1), 241-282.
The idea is to combine a:
In the case of unstructured grids, this would correspond to equations 8 -- 15 in
Shirkhani, H., Mohammadian, A., Seidou, O., & Kurganov, A. (2016). A well-balanced positivity-preserving central-upwind scheme for shallow water equations on unstructured quadrilateral grids. Computers & Fluids, 126, 25-40.
I have looked at the Rieman branch in the repository, which seems to have followed this train of thought 12 years ago, and I was thinking of following this to get started. Is there a technical reason it was abandoned?
However, before getting started, I wanted to have a quick chat about this with you as, while it seems to (who does not very well FiPy's code) that this should be doable, there might be obvious pitfalls.
Also, I would appreciate a short walkthrough of FiPy's way of computing the discretized matrix, as I have trouble understanding exactly which method of which class implements the spatial discretization of each term.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions