Track free water from each lithology in the Tian 2019 Reaction Model #6556
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A hacakthon project. I haven't tested if this works yet, but I wanted some feedback on what I was implementing. This might be a simplified version of what I was initially thinking, but I think at least for my purposes what I'm doing here will work.
Before this PR, using the Tian 2019 reactions for the Reactive Fluid Transport material model only determined the total bound water and the total free water at each point. This PR adds the option for the user to track the volume fraction contribution from each of the 4 lithologies to the total volume fraction of free water in the model domain. This requires the definition of 4 more compositional fields:
sediment_porosity
,MORB_porosity
,gabbro_porosity
,peridotite_porosity
, which will purely act as tracers that are advected with the total fluid velocity (which is determined based on theporosity
compositional field). The simplifications that I'm making that I want an outside perspective on are:The change in these 4 sub-porosity fields are being determined as simply the change in the total porosity multiplied by the fraction of each composition that exists at that point. For example, a 10% (total) porosity change at a point which contains 75% peridotite and 25% sediment, would result in a peridotite_porosity of 7.5%, a sediment_porosity of 2.5%, and 0% for MORB_porosity and gabbro_porosity. I think this is fine, because the total porosity change is already being determined using the average composition at each given point.
The problem with the above approach is that the change in the total porosity, which will always be equal to or greater than the values of the subfields, could result in negative values of each sub-porosity field. What I did to get around this is to just prevent the reaction rates for these subfields from becoming negative, so that the values for these sub-fields can only ever increase or remain constant. I think because these fields are meant to act as tracers for where the water is moving, this is ok. An example for why I think this is useeful is imagine you have the 4-subfields advecting with some non-zero total porosity, and then the total porosity goes to 0 because it gets reabsorbed into the solid somewhere in the model, you would be left with the value of the 4 subfields at this point, which could be useful for determining where the free water from each lithology is ending up in the model as a post-processing step.
I'll work on a test case for this to check that it is actually doing what I want it to do over the next week.