FVM Source term discretisation
Hi Everyone
I'm looking for some literature references on FVM source term linearisation. I have Versteeg and Patankar, they give a nice description, but I'm looking for some material which incoorporates langmuir (or orther non-linear type)adsorption istherms in coupled PDE's (coupled in at the PDE level, not block coupled solver). Thanks in advance for your help. Victor |
Quote:
Lagmuir circulation in ocean is governed by the Craik-Leibovich equations model which, at the best of my knowledge, appear in differential form. I am not aware of numerical solutions based on the integral form but you can derive it by integrating the equations over a Finite Volume and using a proprer discretization for the volume integral |
Hi Filipo,
Thanks for your reply. I think there's a misunderstanding here. I was mentioning Langmuir isotherms for adsorption of a chemical species. They become non-linear at higher species concentrations. Victor |
hello, sorry for that...
however the answer is the same, you have first to integrate the term over a Finite Volume. If it is a local production term, it does not appear in divergence form and you cannot use Gauss to produce a surface integral. That means you have to discretize the volume integral, for example as shown in the book of Peric & Ferziger |
I understand that, however there is also the part about implicit/explicit treatment and how that affects the solver speed/stability and possbily the final species concentration (which is bounded).
Patankars book (1980) covers this in chapter 7. I was wondering if you know of any applications or papers which use this approach for adsorption of a chemical species. |
Quote:
An old report is here http://ntrs.nasa.gov/archive/nasa/ca...9880008959.pdf but more recent papers can be found in the international journals |
Thanks, I'll look into the report.
|
The linearization of source terms, especially for reacting flows, is a significant problem, at least for segregated solvers. I'm sorry that I can't give you a reference. This is knowledge I gleaned from the School of Hard Knocks while working on fuel cell modeling.
The first problem is a practical one--many (most) linear solvers and preconditioners require the A matrix to be diagonally dominate. So, whatever linearization you apply, it will be different for source and sink terms. I apologize for not being more clear about which is which--I'd need to do a little math to remind myself. But for reacting flow, you will have have both sources and sinks. That is a significant problem for conservation. In particular, species conservation becomes a convergence criteria instead of a guarantee based on the FV scheme. This has huge solution stability implication too, especially for combustion. The second problem is related. Even if you have linear solvers that can handle A matrices that are not diagonally dominate, a segregated solver will still give you incompatible linearized source terms for different species--you can only linearize a source term with respect to ONE of the involved species at a time because you only solve one linearized species field at a time. Consider, 2 H2 + O2 -> 2 H2O. The source/sink terms for each of those reactions will enter the H2, O2, and H2O transport equations and each source/sink will vary linearly with the mass/mole fraction/density of H2, O2, and H2O respectively. But they will never balance perfectly, so species conservation again becomes a convergence criteria. Solutions to this. Fractional step treatment of reactions is good. Each FV has a stiff ODE system that can use small/adaptive timesteps and can guarantee conservation by simply overwriting the composition/energy data in each FV. I guess it is possible to use a block solver for all species and energy together and linearize the reaction terms with respect to all of the species variables. Then the terms will be linearized consistently. Of course, that block solver needs to handle matrices that are not diagonally dominate as well. The best place to start (if you haven't) is to just do the species reaction terms explicitly and dial down the timestep. Maybe there are other smarter ways to accomplish per-iteration species/energy conservation in a segregated implicit framework, but I don't know them. I'd be happy to learn about them though. |
All times are GMT -4. The time now is 09:54. |