From d4c9fec6730c0f42da208759e25768305a6d8fae Mon Sep 17 00:00:00 2001 From: wpbonelli Date: Sat, 18 May 2024 14:41:29 -0400 Subject: [PATCH] fix(prt): remove track_all option in oc, fix typo in supptechinfo (#1826) * track_all isn't necessary as all events are enabled by default * "need" -> "needed` in supplemental technical info document --- autotest/test_prt_disv1.py | 1 - autotest/test_prt_track_events.py | 1 - autotest/test_prt_voronoi1.py | 1 - doc/SuppTechInfo/particle-tracking-model.tex | 2 +- doc/mf6io/mf6ivar/dfn/prt-oc.dfn | 8 -------- doc/mf6io/mf6ivar/md/mf6ivar.md | 1 - doc/mf6io/mf6ivar/tex/prt-oc-desc.tex | 2 -- doc/mf6io/mf6ivar/tex/prt-oc-options.dat | 1 - src/Model/ParticleTracking/prt-oc.f90 | 3 --- 9 files changed, 1 insertion(+), 19 deletions(-) diff --git a/autotest/test_prt_disv1.py b/autotest/test_prt_disv1.py index 1d01668e505..e35101b2b3d 100644 --- a/autotest/test_prt_disv1.py +++ b/autotest/test_prt_disv1.py @@ -264,7 +264,6 @@ def build_prt_sim(idx, gwf_ws, prt_ws, mf6): pname="oc", track_filerecord=[prt_track_file], trackcsv_filerecord=[prt_track_csv_file], - track_all=True, ) # create the flow model interface diff --git a/autotest/test_prt_track_events.py b/autotest/test_prt_track_events.py index b267788fd29..5912c7e679c 100644 --- a/autotest/test_prt_track_events.py +++ b/autotest/test_prt_track_events.py @@ -156,7 +156,6 @@ def get_oc() -> List[str]: pname="oc", track_filerecord=[prt_track_file], trackcsv_filerecord=[prt_track_csv_file], - track_all=True, ) elif "rel" in name: return flopy.mf6.ModflowPrtoc( diff --git a/autotest/test_prt_voronoi1.py b/autotest/test_prt_voronoi1.py index 22b3fd35967..e80b68c0dff 100644 --- a/autotest/test_prt_voronoi1.py +++ b/autotest/test_prt_voronoi1.py @@ -563,7 +563,6 @@ def build_prt_sim(idx, name, gwf_ws, prt_ws, targets, cell_ids): pname="oc", track_filerecord=[prt_track_file], trackcsv_filerecord=[prt_track_csv_file], - track_all=not times[idx], track_exit=True, track_release=True, track_terminate=True, diff --git a/doc/SuppTechInfo/particle-tracking-model.tex b/doc/SuppTechInfo/particle-tracking-model.tex index 9e23bf32b59..836fa7f7c3e 100644 --- a/doc/SuppTechInfo/particle-tracking-model.tex +++ b/doc/SuppTechInfo/particle-tracking-model.tex @@ -39,7 +39,7 @@ \subsection{Generalized Pollock's Method For Non-Rectangular Cells} \label{sec:g \subsubsection{Calculation of vertex velocities} -A single velocity vector ($x$ and $y$ velocity components) could be calculated at each cell vertex such that each vertex velocity respects the uniform normal velocity along each cell faces. A centroid velocity could then be calculated by averaging the vertex velocities. However, this approach would not be locally conservative. The additional degrees of freedom (velocity components to be calculated) that are need to allow local conservation can be introduced by using higher-order basis functions, but that approach typically requires expensive numerical integration of the particle trajectory \citep{zhang2012}. An alternative is to introduce the requisite additional degrees of freedom by allowing each subcell to have its own distinct velocity vector at the cell centroid, but that has the obvious disadvantage that the velocity is discontinuous at the cell centroid. The method used in the PRT Model is novel in that it uses relatively low-order basis functions that allow for semi-analytical solution of the particle trajectory, together with two velocities at each cell vertex (one for each of the two subcells that share the vertex) and a single cell-centroid velocity to provide sufficient degrees of freedom for local conservation. This approach can also accommodate the discontinuity in cell-face normal velocity that occurs when two cell faces meet at a $180^\circ$ angle, as occurs in quad-refined grids. +A single velocity vector ($x$ and $y$ velocity components) could be calculated at each cell vertex such that each vertex velocity respects the uniform normal velocity along each cell faces. A centroid velocity could then be calculated by averaging the vertex velocities. However, this approach would not be locally conservative. The additional degrees of freedom (velocity components to be calculated) that are needed to allow local conservation can be introduced by using higher-order basis functions, but that approach typically requires expensive numerical integration of the particle trajectory \citep{zhang2012}. An alternative is to introduce the requisite additional degrees of freedom by allowing each subcell to have its own distinct velocity vector at the cell centroid, but that has the obvious disadvantage that the velocity is discontinuous at the cell centroid. The method used in the PRT Model is novel in that it uses relatively low-order basis functions that allow for semi-analytical solution of the particle trajectory, together with two velocities at each cell vertex (one for each of the two subcells that share the vertex) and a single cell-centroid velocity to provide sufficient degrees of freedom for local conservation. This approach can also accommodate the discontinuity in cell-face normal velocity that occurs when two cell faces meet at a $180^\circ$ angle, as occurs in quad-refined grids. For a cell with $N$ polygon faces, the degrees of freedom are $4N$ cell-vertex velocity components and $2$ cell-centroid velocity components, for a total of $4N + 2$ degrees of freedom. The constraints are $2N$ known cell-face normal velocities, $N$ continuity conditions (equality of normal components) along boundaries between subcells, $N - 1$ independent local conservation conditions (equality of divergences), $2$ constraints from setting the cell-centroid velocity to a weighted average of the cell-vertex velocities, and $1$ ``closure constraint," for a total of $4N + 2$ constraints, which matches the number of degrees of freedom. diff --git a/doc/mf6io/mf6ivar/dfn/prt-oc.dfn b/doc/mf6io/mf6ivar/dfn/prt-oc.dfn index add41aade45..8e0c1d34359 100644 --- a/doc/mf6io/mf6ivar/dfn/prt-oc.dfn +++ b/doc/mf6io/mf6ivar/dfn/prt-oc.dfn @@ -143,14 +143,6 @@ optional false longname file keyword description name of the comma-separated value (CSV) file to write tracking information. -block options -name track_all -type keyword -reader urword -optional true -longname track all events -description keyword to indicate that ... - block options name track_release type keyword diff --git a/doc/mf6io/mf6ivar/md/mf6ivar.md b/doc/mf6io/mf6ivar/md/mf6ivar.md index 19827c49495..2b81909e81e 100644 --- a/doc/mf6io/mf6ivar/md/mf6ivar.md +++ b/doc/mf6io/mf6ivar/md/mf6ivar.md @@ -1591,7 +1591,6 @@ | PRT | OC | OPTIONS | TRACKFILE | STRING | name of the output file to write tracking information. | | PRT | OC | OPTIONS | TRACKCSV | KEYWORD | keyword to specify that record corresponds to a CSV track file. | | PRT | OC | OPTIONS | TRACKCSVFILE | STRING | name of the comma-separated value (CSV) file to write tracking information. | -| PRT | OC | OPTIONS | TRACK_ALL | KEYWORD | keyword to indicate that ... | | PRT | OC | OPTIONS | TRACK_RELEASE | KEYWORD | keyword to indicate that particle tracking output is to be written when a particle is released | | PRT | OC | OPTIONS | TRACK_EXIT | KEYWORD | keyword to indicate that particle tracking output is to be written when a particle exits a cell | | PRT | OC | OPTIONS | TRACK_TIMESTEP | KEYWORD | keyword to indicate that particle tracking output is to be written at the end of each time step | diff --git a/doc/mf6io/mf6ivar/tex/prt-oc-desc.tex b/doc/mf6io/mf6ivar/tex/prt-oc-desc.tex index ffe00bc24b1..50b305df62e 100644 --- a/doc/mf6io/mf6ivar/tex/prt-oc-desc.tex +++ b/doc/mf6io/mf6ivar/tex/prt-oc-desc.tex @@ -21,8 +21,6 @@ \item \texttt{trackcsvfile}---name of the comma-separated value (CSV) file to write tracking information. -\item \texttt{TRACK\_ALL}---keyword to indicate that ... - \item \texttt{TRACK\_RELEASE}---keyword to indicate that particle tracking output is to be written when a particle is released \item \texttt{TRACK\_EXIT}---keyword to indicate that particle tracking output is to be written when a particle exits a cell diff --git a/doc/mf6io/mf6ivar/tex/prt-oc-options.dat b/doc/mf6io/mf6ivar/tex/prt-oc-options.dat index 75f69cb822d..3cd4fe3e012 100644 --- a/doc/mf6io/mf6ivar/tex/prt-oc-options.dat +++ b/doc/mf6io/mf6ivar/tex/prt-oc-options.dat @@ -3,7 +3,6 @@ BEGIN OPTIONS [BUDGETCSV FILEOUT ] [TRACK FILEOUT ] [TRACKCSV FILEOUT ] - [TRACK_ALL] [TRACK_RELEASE] [TRACK_EXIT] [TRACK_TIMESTEP] diff --git a/src/Model/ParticleTracking/prt-oc.f90 b/src/Model/ParticleTracking/prt-oc.f90 index 1f46a938ea2..ac16be14dc0 100644 --- a/src/Model/ParticleTracking/prt-oc.f90 +++ b/src/Model/ParticleTracking/prt-oc.f90 @@ -263,9 +263,6 @@ subroutine prt_oc_read_options(this) &FOLLOWED BY FILEOUT') end if found = .true. - case ('TRACK_ALL') - event_found = .false. ! defaults set below - found = .true. case ('TRACK_RELEASE') this%trackrelease = .true. event_found = .true.