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

Rework matrix assembly + Hall/viscosity/v01/B01 extensions #66

Merged
merged 97 commits into from
Jun 8, 2021

Conversation

n-claes
Copy link
Owner

@n-claes n-claes commented May 27, 2021

PR description

This PR includes a complete overhaul of the way the matrices are assembled. Every physical effect has been split off in its own dedicated submodule which handles matrix assembly only for those particular physics. Addition of these effects to the "main" matrices now depends on which physics are included instead of adding all zeroes. The boundaries are treated in a similar way, with a dedicated submodule for each physical part of the essential/natural boundary conditions.

This also adds two new physical effects to the code: viscosity and Hall MHD. The "allowed" equilibrium is also extended, since we can now have a non-zero v01 component allowing for compressible background flows on top of a non-zero (constant) B01 field allowing for magnetic fields aligned with the direction of inhomogeneity.

Regression tests + the way eigenfunctions are handled in the testing framework have been improved as well.

New features

  • Allow for a non-zero v01 component
  • Allow for a non-zero constant B01 component
  • New physics: viscosity
  • New physics: Hall MHD
  • Allows to specify a custom grid
  • When running in debug mode, Legolas will automatically save the cooling/atmosphere curves for inspection with Pylbo

Note: viscosity, v01 and B01 have been roughly checked and should work for the most part. We still have to add tests for these, but we can do that in a different PR (otherwise this one would get really big). Hall does NOT yet work properly, so for the moment warnings are printed whenever Hall/viscosity is enabled.

jordidj and others added 30 commits February 12, 2021 11:53
@n-claes n-claes added feature Implementation of a new feature legolas-backend Under-the-hood changes to Legolas refactor Refactoring existing code tests-unit Modified or new unit tests labels May 27, 2021
@n-claes n-claes merged commit 7cdbb7a into develop Jun 8, 2021
@n-claes n-claes mentioned this pull request Jun 18, 2021
@n-claes n-claes added this to the v1.1 milestone Jun 23, 2021
@n-claes n-claes deleted the feature/matrix_rework branch July 7, 2021 13:47
@n-claes n-claes mentioned this pull request Oct 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Implementation of a new feature legolas-backend Under-the-hood changes to Legolas refactor Refactoring existing code tests-unit Modified or new unit tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants