Skip to content

Conversation

@joewallwork
Copy link
Member

I was wondering why the Goalie in the Docker image was still out of date (and failing in mesh-adaptation/docs#161) and the reason why is that we've patched develop but not main.

I think this is a good opportunity to align them and then move to main and release instead.

joewallwork and others added 7 commits April 10, 2025 08:02
Closes #283.
Towards #189.

This PR adds a new `Field` class, which becomes fundamental to pretty
much the whole setup. It contains mesh-independent metadata:
* Name
* Finite element
* Solved for?
* Unsteady?

With this, we replace `TimePartition.field_names` with
`TimePartition.fields`. Also, `TimePartition.field_types` gets absorbed
into the `Field.unsteady` bool.

Since the finite element is set in the `Field`, there's no longer any
need to pass `get_function_spaces` to `MeshSeq` - these can be deduced
from the `Field`. (Current WIP).

Currently, we continue to have multiple fields associated with a single
time partition, so that the API doesn't change much. However, in the
future we can support having multiple time partitions associated with
different fields, for the case where different fields have different
time discretisations.

---------

Co-authored-by: Davor Dundovic <[email protected]>

Also contains:

Drop get_function_spaces (#296)
Introduce get_element and get_function_space methods to Field class (#301)
Small fix for the `Field.__init__` docstring. Should have been done in
#301.
Partial rework of #292.
Towards #289.

Following the recent addition of the `Field` class, this PR accounts for
its `solved_for` attribute. `Field`s that are not solved for can be
skipped in the adjoint solver. Unit tests are included.

---------

Co-authored-by: Davor Dundovic <[email protected]>
Partial rework of #292.
Towards #289.

This PR stores gradient values in a dictionary, rather than a list. This
is more intuitive, user-friendly, and makes more sense, given the
general approach to accessing and handling fields in Goalie.
Closes #316.

This was removed in
firedrakeproject/firedrake#4499.

This PR also picks up hotfixes from #315 that were merged into `main`,
not `develop`.

mesh-adaptation/animate#201 will need to be
merged first.

---------

Co-authored-by: Davor Dundovic <[email protected]>
This PR adds a `CODEOWNERS` file so that the codeowners mentioned will
automatically be added as reviewers for any PR that gets opened. This is
useful because external contributors can't request reviewers.

I also took the opportunity to update the maintainers list.
@joewallwork joewallwork self-assigned this Nov 19, 2025
@joewallwork joewallwork added the bug Something isn't working label Nov 19, 2025
@joewallwork joewallwork moved this to Ready for review in Mesh Adaptation development board Nov 19, 2025
Copy link
Collaborator

@stephankramer stephankramer left a comment

Choose a reason for hiding this comment

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

Makes sense. Tbh I'm a bit too far removed, and you're much more qualified to say if this is stable. If there's particular bits you want me to look at in more detail let me know, but I think this is good to go.

@joewallwork joewallwork merged commit a18bf12 into main Nov 19, 2025
2 checks passed
@github-project-automation github-project-automation bot moved this from Ready for review to Done in Mesh Adaptation development board Nov 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Development

Successfully merging this pull request may close these issues.

4 participants