Reactive ADE for gas flow
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Reactive ADE for gas flow
 This topic has 4 replies, 2 voices, and was last updated 1 year, 2 months ago by antoniowu.

AuthorPosts

February 24, 2022 at 5:25 pm #6351antoniowuParticipant
Hello OpenLB community,
I’ve recently started working with OpenLB to simulate gas flow at the pore scale. I have one NSlattice for the velocity field and another ADlattice for the concentration. Now I am hoping to implement adsorptiondesorption kinetics when gas concentration hits a solid particle. The BC will be Ds*(∂C/∂n) = kC, where Ds is the diffusion coefficient, n is the normal direction, C is the boundary concentration and k is a constant. Are there any applicable BCs implemented in OpenLB to solve this?
I think another way to do this is use a sourcetermed ADE for lattices inside the solid particles. I notice there is SourcedAdvectionDiffusionBGKdynamics implemented in OpenLB. How can I calculate the source term from concentration at every timestep?
I’ll really appreciate it if you can provide me with some advice.
Cheers,
AntonioMarch 7, 2022 at 2:53 pm #6366johannaParticipantDear Antonio,
for Neumann boundary conditions that are not zero you could use the setInterpolatedConvectionBoundary or the local version setLocalInterpolatedConvectionBoundary that are made for Navier Stokes equations. You have to check if this also fits for your ADE application.
If you want to use a sourcetermed ADE use a field SOURCE and then calculate in a Post Processor (you can also include it in your coupling Post Processor) the source term with the computeRho method and set for each voxel your source term. The SOURCE field is then used by the SourcedAdvectionDiffusionBGKdynamics.
Best regards
JohannaMarch 19, 2022 at 10:15 am #6388antoniowuParticipantDear Johanna,
Thanks a lot for your advice. I set up a coupled NSAD Poiseuille flow simulation in a 2D channel. I used the local pressure boundary for the NSlattice at the outlet and I’ve been trying out the setInterpolatedConvectionBoundary for the ADlattice, which requires a parameter uAv (average mass velocity as rho*u thru the outlet I think?). I had different values of uAv but the results seemed not affected by it at all. I can always get the same mass flux (ADlattice) at the outlet after reaching steady. Do you have any idea why this is happening? I was thinking when uAv is zero there should be no flux out?
Best regards,
AntonioMarch 21, 2022 at 4:06 pm #6391johannaParticipantDear Antonio,
I recently had the same problem in my application and we are working on an appropriate implementation of Neumann boundaries for ADlattices. So far I would suggest to transform your flux boundary condition into a dirichlet boundary condition via finite differences. This is for example explained in https://link.springer.com/book/10.1007/9783319446493.
Best regards,
JohannaMarch 23, 2022 at 4:38 am #6392antoniowuParticipantDear Johanna,
Thank you for your advice. I’ll check out the book. Good luck with your Neumann boundaries!
Regards,
Antonio 
AuthorPosts
 You must be logged in to reply to this topic.