You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am simulating an packed bed reactor in terms of mass transport. For that i am using a pore network model, and have looked into OpenPNM before.
Now i wanted to implement a non-linear pressure-flow solution, which OpenPNM could not possibly provide, so i made my own solver, and now i have the non-linear solution for the pressure-flow field throughout all my pores. I want to use this as input for the advection-diffusion or the reactive-transport algorithm in OpenPNM, but I can't find anywhere how the pressure is actually used in the solving method. I see how in the settings of the advection-diffusion algorithm the pore.pressure is used, but if i look at the advection diffusion equation that is solved for, it used a velocity (calculated from the flow rate) and not pressure directly. Is it maybe so that upon running the advection diffusion algorithm, it calls the stokes algorithm and calculates a linear flow field from that?
I hope you could explain to me how I can use my own non-linear pressure field as input for the advection diffusion in OpenPNM.
Hi @MTJKoning
Openpnm uses the pressure field and the conduit hydraulic conductance values to find the velocity in each throat, then uses those to compute the direction dependent 'advective-diffusive' conductance values. These are then used inside the AdvectionDiffusion algorithm. So basically AdvectionDiffusion is just a diffusion simulation where the conduit conductances are adjusted by the local fluid velocity in each throat. If can compute the velocity values for each throat (which I assume you can since you know the pressure field), then you can also link into this workflow, but you'll have to create your own pore-scale model to compute the advective-diffusive conductance. Our version is here. You'll want to focus on lines 65 and 66 as this is where the velocity/flow is calculated.
@jgostick It might be a good idea for the algorithm to optionally accept conduit flow rates. It's aligned with OO principles, i.e., separation of responsibilities. AdvectionDiffusion implicitly assumes StokesFlow, but it doesn't have to.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi OpenPNM team,
I am simulating an packed bed reactor in terms of mass transport. For that i am using a pore network model, and have looked into OpenPNM before.
Now i wanted to implement a non-linear pressure-flow solution, which OpenPNM could not possibly provide, so i made my own solver, and now i have the non-linear solution for the pressure-flow field throughout all my pores. I want to use this as input for the advection-diffusion or the reactive-transport algorithm in OpenPNM, but I can't find anywhere how the pressure is actually used in the solving method. I see how in the settings of the advection-diffusion algorithm the pore.pressure is used, but if i look at the advection diffusion equation that is solved for, it used a velocity (calculated from the flow rate) and not pressure directly. Is it maybe so that upon running the advection diffusion algorithm, it calls the stokes algorithm and calculates a linear flow field from that?
I hope you could explain to me how I can use my own non-linear pressure field as input for the advection diffusion in OpenPNM.
Kind regards,
Menno Koning
Beta Was this translation helpful? Give feedback.
All reactions