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

Feature/edea multiple solids #87

Merged

Conversation

cneyens
Copy link
Contributor

@cneyens cneyens commented Dec 11, 2020

Per #86.

Summary:

  • MT3D-USGS now supports the use of multiple solid phases for kinetic ED/EA reactions. This can be achieved by specifying a desired number of immobile species in the BTN file in addition to the mobile solutes. In the RCT input file, multiple instances of the keyword 'SOLID' can be specified for EA's corresponding to these immobile phases (record SPECIAL(ISPEC)). The first SOLID keyword case is linked to the first immobile species, the second SOLID keyword to the second immobile species and so forth. Previously, only 1 immobile phase and 1 mobile EA could be linked. All input pertaining to 'solid phase Fe' can also be used for other solid phases (e.g. the IFESLD flag in the RCT input file).

Changes to input:

  • None. A specific ordering of the simulated species is assumed however, as was already the case previously:

    1. Electron donors (mobile)
    2. Electron acceptors (mobile)
    3. Mobile species not partaking in the ED/EA reactions (e.g. chloride)
    4. Immobile species representing solid phase EA.
    5. Other immobile species (new)

Changes to code:

  • NSOLID (1D integer, dim = NCOMP). Is expanded from a scalar to a 1-D array. Tracks the mobile EA corresponding to ICOMP where ICOMP represents an immobile solid phase.
  • New: NCRSPIM (1D integer, dim = NCOMP). Tracks the immobile phase corresponding to ICOMP where ICOMP represent a mobile EA species.
  • New: ISLDPH (1D integer, dim = NCOMP). Binary flag specifying if ICOMP represents a solid-phase species. Replaces the ICOMP==NCOMP check where the immobile phase was assumed to be the NCOMPth species. Using ISLDPH also allows more immobile species to be specified than are used by the ED/EA reactions, e.g. for use by other packages.
  • Had to move the warnings around due to the structure of the loops.
  • Two new warnings: (1) when more SOLID keywords are defined than there are immobile species (resets IFESLD to 0) and (2) when a SOLID keyword is defined but IFESLD is set to 0.

@vivekbedekar
Copy link
Collaborator

@cneyens - did you develop an example problem that will help us test the code changes you made? Could you share the example problem including the MODFLOW files? I will be QAing the code changes and merging the code this week. Thanks!

@cneyens
Copy link
Contributor Author

cneyens commented Sep 8, 2021

@cneyens - did you develop an example problem that will help us test the code changes you made? Could you share the example problem including the MODFLOW files? I will be QAing the code changes and merging the code this week. Thanks!

Please find an example model in attachment. It is based on the 2ED5EA example problem shipped with the MT3D-USGS code. I've adjusted the example to include a 6th EA (MnO2) simulated as a solid phase EA in addition to a Fe-oxide solid phase. Only the BTN and reaction module files were adjusted (+ renaming filename prefixes to 2ed6ea). The folder also includes a README file where this is explained in more detail.

I ran the flow model with MODFLOW-NWT v1.2.0 and the solute transport with the MT3D-USGS code as presented in this pull request which I compiled for Windows through pymake using the default compiler settings with gfortran.

We've also applied this approach to a field-case where we simulated DOC degradation in the presence of multiple EA's including pyrolusite and goethite. If you want, I can email you some of those results as well.

2ED6EAs.zip

@vivekbedekar
Copy link
Collaborator

vivekbedekar commented Sep 8, 2021 via email

Copy link
Collaborator

@vivekbedekar vivekbedekar left a comment

Choose a reason for hiding this comment

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

I have reviewed the code changes. These look good. Thanks, Cas!

@vivekbedekar vivekbedekar reopened this Sep 14, 2021
@vivekbedekar vivekbedekar merged commit 47ea7dd into MODFLOW-USGS:develop Sep 14, 2021
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.

None yet

2 participants