Processes > Reactive transport modelling
Understanding the Differences Between SNIA, Strang Splitting, and SIA
(1/1)
ZYWTDaEO6:
I'm currently studying reactive transport modeling and came across some descriptions of SNIA (Sequential Non-Iterative Approach), Strang Splitting, and SIA (Sequential Iterative Approach) in the context of operator splitting. The description I found on Wikipedia (from the page on reactive transport modeling in porous media) states that operator splitting uses appropriate numerical techniques to solve reaction and transport equations separately at each time step. However, I'm having trouble fully understanding the distinctions between SNIA, Strang splitting, and SIA methods.
Here's my current understanding:
Background: Suppose I have a reactive transport model that involves two processes: a reaction (R) and solute transport (T). The total simulation time is 100 days, and I divide the simulation into 100 time steps, each with a time length (t) of 1 day.
My understanding of SNIA (Sequential Non-Iterative Approach) is as follows:
1. In each time step t, SNIA takes the final result from the previous time step t−1 as the initial condition for the current time step t.
2. First, the reaction process is solved, yielding a result after reaction.
3. Then, this reaction result is passed into the transport model, yielding the final result for time step t.
4. This final result for time t then serves as the initial condition for the next time step t+1.
I have seen this approach used in various studies, especially those coupling COMSOL and PHREEQC.
As for the Strang splitting method, my understanding is:
1. During each time step, half of a time step is first used to solve the reaction process.
2. Next, a full time step is used to solve the solute transport.
3. Finally, the remaining half time step is used to complete the reaction process.
Question 1: Are My Understandings of SNIA and Strang Splitting Correct? I would like to know if my interpretations of the SNIA and Strang splitting methods are accurate or if I am misunderstanding some aspects.
My understanding of SIA is less clear. From what I've read, in each time step, SIA uses an iterative approach as follows:
1. The result from the previous time step t−1 serves as the initial condition for the current time step t.
2. The reaction process is solved first.
3. Then the transport process is solved.
4. Afterward, the model checks if the solution meets a convergence criterion. If it converges, the simulation advances to the next time step; if not, the current time step iterates again.
Question 2 Regarding SIA: How is the convergence criterion determined or evaluated? If the model does not converge, is the result of the previous iteration used as the input for the next iteration within the same time step? If so, wouldn't this effectively move the model forward in time, instead of keeping it within the current time step for iteration?
I haven't been able to find detailed explanations on this, and I'm unsure of these specifics. I would appreciate any clarifications on my interpretations of these three methods, especially SIA, where I feel the least certain. Thank you for your help!
dlparkhurst:
I try to stay on the chemistry side of things, so you should probably keep looking elsewhere for transport details.
I think you are correct in your interpretation of SNIA and Strang splitting. In detail, with PhreeqcRM, the reactions need to be run once to start the process and get the concentrations for the first time step, perhaps with a zero time step for kinetics.
I have never implemented the iterative approach, and I do not know in detail how to do it. My guess is that you would include rate terms in the transport equation and iterate on the rate term, perhaps in a predictor-corrector approach. You may also need to iterate to find density, viscosity, permeability, and other nonlinear parameters, in addition to concentrations. I think most implementations with PhreeqcRM use SNIA.
Navigation
[0] Message Index
Go to full version