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

curvilinear bits 'n pieces #538

Open
wants to merge 15 commits into
base: development
Choose a base branch
from
Open

Conversation

julesghub
Copy link
Member

The additions for curvilinear mesh and solving.
This PR includes code changes and examples.

Significant code changes in Python and C layer:

  • Make an annulus Mesh, FeMesh_Annulus()
  • Class for defining curvilinear dirichlet conditions, CurvilinearDirichletCondition. (More documentation needed)
  • On every forceVector and stiffnessMatrix there is a rotMat memory chunk
  • Method to immediately force a consistent coordinate system after solve
  • Stokes solve aware of element rotation matrix, ALWAYS use _removeBCs=False

Examples:

  • docs/examples/curvi_examples/
    They include simple regression testing.

@julesghub julesghub requested a review from jmansour April 22, 2021 04:27
@jmansour
Copy link
Contributor

Lets schedule a chat for next week to walk over this.

@julesghub
Copy link
Member Author

See examples/curvi_examples for models in annulus geometry.
To be merged into master release once the user interface is agreed upon by development team. @julesghub + @jmansour.

julesghub and others added 3 commits August 17, 2021 14:22
* Fix issue 537 - vrms typo

* Making sure the factor is an appropriate numpy type

* Updates for docker image generation: (#550)

* Switch deprecated `MAINTAINER` tag for new `LABEL` construct.
* Set `/opt` to ugo+rwx to allow users to install new pip packages.
* Remove `tini` which no longer appears to be required (and wasn't
  being used previously in any case).
* Remove extras for notebook MPI usage, as this wasn't being used
  and is easy to reinstall.
* Update UW image to point to newest base file image.
* Update to CHANGES.md

* Renaming guidelines.md -> development_guidelines.md

* * Fixes h5 file save mode (underworldcode/underworld2/#533)
* Minor documentation updates.
* Minor redundant code removal.
* Adding a pull request template!
* Update `CHANGES.md`

* Update to fix broken ReadTheDocs generation.

* * Import scaling into uw. (#554)

* Fix docstrings & doctests.
* Rename pull request template as Github doesn't appear
  to register it with upper case naming.
* Fix test in config which Py3.8 is complaining about.

* * Added a check to ensure that the selected solver is available at runtime. (#553)

The previous behaviour resulted in solves continuing unaware of solve
  difficulties, and failing elsewhere, or worse.
* Added test for the solver check.

* Solver check (#555)

* * Added a check to ensure that the selected solver is available at runtime.
  The previous behaviour resulted in solves continuing unaware of solve
  difficulties, and failing elsewhere, or worse.
* Added test for the solver check.

* I've updated these models to run with "mumps" if available,
and fallback to the default solver otherwise.

* Using a relative path to reload swarm files

* * For sequential IO operations, need to ensure that
  non-root procs open file with `append` mode instead
  of `write` mode (otherwise a new file is created by
  each proc, effectively deleting all data previously
  written).
* Update mesh file mode to `write` mode.

* Making test_long.sh executable

* Adding a EBA example to the tests for now. Documentation will come next
release when it's moved into examples.
The 2 extra terms in the heat equation, viscous dissipation and
adiabatic heating, should have equal volume integrals in the model, as
per King et al.

* Update CHANGES

* github actions docker images

* * Documentation, version numbers, and docker file updates. (#559)

* File creation mode should be "w" here too. Interesting, "append"
  mode causes a test failure in the Docker container, but not baremetal
  Ubuntu.

* Update docker_build_push.yml

* Update docker_build_push.yml

* Update docker_build_push.yml

* Adding symlink to `LICENSE.md` for conda.

Co-authored-by: John Mansour <[email protected]>
@rbeucher
Copy link
Contributor

@julesghub do we want to merge this?

@julesghub julesghub changed the base branch from v2.11_release to development November 25, 2021 23:52
@rbeucher rbeucher force-pushed the development branch 4 times, most recently from 6ec398d to 2935e5f Compare May 24, 2022 08:26
@rbeucher
Copy link
Contributor

What do we want to do with this. It's been a while and we have not discussed it.

@julesghub
Copy link
Member Author

I think we should aim to merge this code in. The interface isn't ideal but the functionality works and is part of Rohan and Thyagi's modeling.
Happy to release 2.13 first and then add this functionality in thereafter.

@rbeucher
Copy link
Contributor

Yes, I think we release 2.13 and then we merged into dev.

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.

3 participants