Skip to content

Conversation

@mjr-deltares
Copy link
Contributor

More documentation will have to follow.

Checklist of items for pull request

  • Replaced section above with description of pull request
  • Closed issue #xxxx
  • Referenced issue or pull request #xxxx
  • Added new test or modified an existing test
  • Ran ruff on new and modified python scripts in .doc, autotests, doc, distribution, pymake, and utils subdirectories.
  • Formatted new and modified Fortran source files with fprettify
  • Added doxygen comments to new and modified procedures
  • Updated meson files, makefiles, and Visual Studio project files for new source files
  • Updated definition files
  • Updated develop.toml with a plain-language description of the bug fix, change, feature; required for changes that may affect users
  • Updated input and output guide
  • Removed checklist items not relevant to this pull request

For additional information see instructions for contributing and instructions for developing.

@aprovost-usgs aprovost-usgs self-assigned this Sep 16, 2025
npoly = this%dis%get_npolyverts(n, closed=.false.)
this%nr_faces = npoly + 2

! horizontal faces
Copy link
Contributor

Choose a reason for hiding this comment

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

i.e., top and bottom

this%n(:, 1) = (/DZERO, DZERO, DONE/)
this%anglex(1) = DNODATA
this%dist(1) = (this%dis%top(n) - this%dis%bot(n)) / 2.0_DP
this%n(:, 2) = (/DZERO, DZERO, -DONE/)
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe rename this%n to avoid potential confusion with reduced node number n

alpha = this%dis%con%anglex(isym)
end if

if (abs(alpha - this%anglex(iface)) < DSAME) then
Copy link
Contributor

Choose a reason for hiding this comment

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

perhaps this is the best we can do with the information that's (reasonably) available. but just noting that the geometric matching criterion appears to have two disadvantages. one is obviously that there's a threshold involved. such thresholds are used elsewhere in modflow, so it's not a huge deal, but all else being equal it would be nice not to use one here. the other is that it requires doing the geometry for all the faces, whereas i think in the end all we really want from this is the boundary faces. this has me wondering whether it might be possible to identify the boundary faces (at least among the internal faces considered in this loop) in a way that's conceptually similar to the way the Connections module builds a sparse matrix of connections in disv1dconnections_verts and vertexconnectl. if so, it would seemingly eliminate the two drawbacks i mentioned, since it would be based on connectivity, not geometry

end if
! match to (unmatched) faces
do iface = 3, this%nr_faces
if (abs(alpha - this%anglex(iface)) < DSAME) then
Copy link
Contributor

Choose a reason for hiding this comment

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

could something similar to what i proposed for the internal faces be done for the exchange edges? i realize it might be even harder, if not impossible, to get all the necessary information

Copy link
Contributor

@aprovost-usgs aprovost-usgs left a comment

Choose a reason for hiding this comment

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

some comments ahead of our conversation tomorrow (9/17)

- fix: add vertical conns to max. connection count
- and fix typo in uzf test
@wpbonelli wpbonelli added this to the 6.6.4 milestone Sep 22, 2025
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