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

Finetune kinematice_wave #703

Open
kordejong opened this issue Aug 8, 2024 · 1 comment
Open

Finetune kinematice_wave #703

kordejong opened this issue Aug 8, 2024 · 1 comment

Comments

@kordejong
Copy link
Member

  • Try to make the numerical scheme converge in all valid cases. Currently it still doesn't in certain cases (see comment in code)
  • Use domain policy to verify all input values are within their respective valid domains.
  • Revisit handling of extraction of water, if needed
  • Update tests
@saeb-faraji-gargari
Copy link
Contributor

-Just as an idea, the Newton-Raphson method may diverge when lateral_inflow is negative. In this case, I would suggest using discharge_guess as new_discharge (new_discharge = discharge_guess;) since discharge_guess is the solution to the linear discretized version of the kinematic-wave equations.

-The following criterion needs to be satisfied for the convergence of the Newton-Raphson method:
| fq * d2fq| < |dfq|^2

Ref: https://math.stackexchange.com/questions/3136446/condition-for-convergence-of-newton-raphson-method

When lateral_inflow < 0, − _known_terms (-C in Chow's book) becomes positive, may lead to a large positive value for fq. This can violate the convergence criteria of the Newton-Raphson method. This issue can be considered in the future to improve the kinematic-wave operator.

@kordejong kordejong modified the milestones: 0.3.9, 0.4.0 Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants