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

Thermal sw linear solver #466

Merged
merged 10 commits into from
Nov 30, 2023
Merged

Thermal sw linear solver #466

merged 10 commits into from
Nov 30, 2023

Conversation

nhartney
Copy link
Contributor

This adds a linear solver for the thermal shallow water equations to linear_solvers.py. It allows the use of the semi-implicit quasi-Newton time-stepping scheme with the thermal shallow water equations (and implementations of the moist shallow water equations that include thermal effects).

The solver follows the same approach as the IncompressibleSolver. The strategy is as follows:

  1. Eliminate buoyancy.
  2. Solve the resulting system for velocity and depth using a hybrid-mixed method.
  3. Reconstruct buoyancy.

The thermal_williamson2 example now uses the semi-implicit quasi-Newton scheme.

Copy link
Contributor

@tommbendall tommbendall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really good to me. I have no suggestions so I think we could merge this straightaway!

@tommbendall tommbendall merged commit 1708e31 into main Nov 30, 2023
4 checks passed
@tommbendall tommbendall deleted the thermal_sw_linear_solver branch November 30, 2023 09:38
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.

2 participants