|
[Sponsors] |
Thermophoresis source term causes instabiltiy in population balance model |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 28, 2022, 21:22 |
Thermophoresis source term causes instabiltiy in population balance model
|
#1 |
New Member
Join Date: Jan 2015
Posts: 22
Rep Power: 11 |
I have created a new solver based on buoyantSimpleFoam to accomodate an additional transport equation that tracks number concentration of particles. The transport equation looks like this:
where is the number concentration of particles, the thermophoresis constant, the diffusion coefficient. is the gas temperature, and I get it from thermo object. Code:
volScalarField& T = thermo.T(); I am simulating particle motion in a laminar flow () in a pipe. The inlet flow has a uniform temperature of 1500 K () and walls the constant temperature of 500 K (). For low diffusion coefficient () that weakens the diffusion term (), the simulation results large negative and positve values for , but the results are meaningful for high diffusion coefficient (). My NAEqn.h file (solves ) looks like this. Code:
{ fvScalarMatrix NAEqn ( fvm::ddt(rho, N_agg) + fvm::div(phi, N_agg) - fvm::laplacian(diff_prefactor*diff_p*rho, N_agg) == fvc::laplacian( K_th * (mu * N_agg/T), T) ); NAEqn.relax(); fvOptions.constrain(NAEqn); NAEqn.solve(); fvOptions.correct(N_agg); } |
|
March 29, 2022, 17:06 |
|
#2 |
New Member
Join Date: Jan 2015
Posts: 22
Rep Power: 11 |
I should also add that velocity and tempreature values are physical, and the number concentration equation divegres. The large values of number concentration start to appear near the wall, and they spread to the rest of the computational domain.
|
|
March 29, 2022, 19:37 |
|
#3 |
New Member
Join Date: Mar 2022
Posts: 4
Rep Power: 4 |
I am very new to this and was looking to add thermophoresis into denseparticleFoam with no luck. Do you think even if it's possible? I am using openfoam9.
|
|
March 29, 2022, 19:46 |
|
#4 |
New Member
Join Date: Jan 2015
Posts: 22
Rep Power: 11 |
||
March 31, 2022, 04:41 |
|
#5 |
Senior Member
Josh Williams
Join Date: Feb 2021
Location: Scotland
Posts: 113
Rep Power: 5 |
Hi Abib.
You may consider using the OpenQBMM library to solve your PBE. Indeed, it already has a solver called buoyantPbePimpleFoam (tutorial here), which may be easier for you to use than developing your own. Alternatively, maybe looking at their source code could be helpful for you. |
|
March 31, 2022, 04:42 |
|
#6 |
Senior Member
Josh Williams
Join Date: Feb 2021
Location: Scotland
Posts: 113
Rep Power: 5 |
Another option is the aerosolved library, which I have not used personally but I have seen several articles using it in literature and at conferences.
|
|
March 31, 2022, 20:16 |
|
#7 |
New Member
Join Date: Mar 2022
Posts: 4
Rep Power: 4 |
Hi Josh,
thanks for the reply. I don't see them implementing thermophoretic force. Or am I missing something? |
|
April 1, 2022, 11:40 |
|
#8 | |
New Member
Join Date: Jan 2015
Posts: 22
Rep Power: 11 |
Quote:
|
||
May 13, 2022, 09:23 |
|
#9 |
New Member
Join Date: Jan 2015
Posts: 22
Rep Power: 11 |
Any suggestions?
|
|
May 21, 2022, 15:35 |
|
#10 |
New Member
Berin 各ta
Join Date: Dec 2014
Location: Tarragona
Posts: 8
Rep Power: 12 |
Quote:
Without completely seeing your case, I cant be sure if the error is what I assume it is. Since you stated that large values of concentration appear near walls, that is expected because the temperature gradients will be highest there and you will have thermodiffusion/themophoresis stongest at those zones. Unrealistically high values lead me to conclusion that your boundary conditions for the concentration is wrong. Could you tell me what kind of boundary conditions you used for concentration at walls with fixed temperature? If you use zeroGradient, that might be source of divergence, because your mass flux will be non-zero (you will have "generation of particles" or "leakage"). You should make fixedGradient boundary condition, related with temperature gradient that you have in the walls, basically: mass_flux = 0, this leads to grad(C) = - (K_th/D)*grad(T) The boundary condition above could be implemented simply using groovyBC. The similar work regarding multicomponent thermodiffusion is implemented here: https://link.springer.com/article/10.../i2019-11818-7 - for binary system (equivalent to your problem) The implementation of the specie transport in that work was implement in this way (similar to yours obsviously): Code:
{ fvScalarMatrix w1Eqn ( fvm::ddt(w1) + fvm::div(phi, w1) - fvm::laplacian(D1, w1) - fvc::laplacian(DT*w1*w2, T) ); w1Eqn.relax(); fvOptions.constrain(w1Eqn); w1Eqn.solve(); fvOptions.correct(w1); } If the above mentioned is reason for the "divergence" of particles number, that could explain why your case for the high diffusion coefficient it works. Since your diffusion coefficient is so high, the Soret effect is small (so separation is very limited) and hence the strong temperature gradient in the zones close to the walls does not separate particles in large scale ((K_th/D) - this value becomes very small). Hope this helps! Let me know if this was problem, BR Berin |
|
May 24, 2022, 10:05 |
|
#11 |
New Member
Join Date: Jan 2015
Posts: 22
Rep Power: 11 |
Thanks @Berin
I used a fixed value . I assumed that wall is a perfect particle sink adsorbing any particle in the cell adjacent to the wall. I think the boundary condition (bc) causes the problem. Fixed gradient bc you mentioned () makes sense, but it turns into a zero gradient bc when temperature gradient is zero (). Very low temperature gradients (near zero) occur in the regions near the end of pipe, that fluid reaches wall tempeature. Moreover, this bc eliminates wall deposition due to diffusion, and the solver will not produce physical results for smaller particles (with moderate diffusion coefficients in the order of 1e-5 or 1e-6). Last edited by adib_mohammad; May 24, 2022 at 16:02. |
|
May 24, 2022, 10:16 |
|
#12 | |
New Member
Berin 各ta
Join Date: Dec 2014
Location: Tarragona
Posts: 8
Rep Power: 12 |
Quote:
But isnt thermophoresis/thermodiffusion all about this? If you dont have temperature gradient, you should not have temperature driven attraction/separation of particles. When your temperature gradient is zero (like in the end of the pipe), thermophoresis should not exist. Quote:
However, I dont see why this boundary condition should not work with different D values. It includes D coefficient in it, and it simply states that Np number is conserved at "steady-state". |
||
May 24, 2022, 12:36 |
|
#13 | ||
New Member
Join Date: Jan 2015
Posts: 22
Rep Power: 11 |
Quote:
Quote:
Last edited by adib_mohammad; May 24, 2022 at 16:05. |
|||
Tags |
source terms |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[swak4Foam] swak4foam for OpenFOAM 4.0 | mnikku | OpenFOAM Community Contributions | 80 | May 17, 2022 09:06 |
[swak4Foam] funkyDoCalc with OF2.3 massflow | NiFl | OpenFOAM Community Contributions | 14 | November 25, 2020 04:30 |
[swak4Foam] Installation Problem with OF 6 version | Aurel | OpenFOAM Community Contributions | 14 | November 18, 2020 17:18 |
centOS 5.6 : paraFoam not working | yossi | OpenFOAM Installation | 2 | October 9, 2013 02:41 |
friction forces icoFoam | ofslcm | OpenFOAM | 3 | April 7, 2012 11:57 |