View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000950 | OpenFOAM | Bug | public | 2013-08-07 12:30 | 2013-08-14 13:49 |
Reporter | dkxls | Assigned To | |||
Priority | normal | Severity | crash | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Linux x86_64 | OS | openSUSE | OS Version | 12.2 |
Summary | 0000950: [ReactingParcel][LiquidEvaporationBoil]: Immediately evaporate mass that has reached critical condition | ||||
Description | Parcels that have reached critical conditions should be evaporated immediately. The attached patch implements this for the LiquidEvaporationBoil class. This should probably be implemented in LiquidEvaporation too? | ||||
Additional Information | According to Stiesch (2003), the evaporation equation in LiquidEvaporationBoil is based on the model by Borman and Johnson (1962). The reference(s) could be added to the header file. Stiesch, G., Modeling Engine Spray and Combustion Processes, Springer, New York, 2003. Borman, G. and Johnson, J., "Unsteady Vaporization Histories and Trajectories of Fuel Drops Injected into Swirling Air," SAE Technical Paper 620271, 1962, doi:10.4271/620271. | ||||
Tags | critical condition, Evaporation, Lagrangian, spray, sprayEngineFoam, sprayFoam | ||||
|
LiquidEvaporationBoil.patch (1,351 bytes)
--- LiquidEvaporationBoil.C.org 2013-08-07 13:46:54.780906438 +0300 +++ LiquidEvaporationBoil.C 2013-08-07 13:48:06.294096459 +0300 @@ -151,18 +151,37 @@ void Foam::LiquidEvaporationBoil<CloudTy scalarField& dMassPC ) const { - // construct carrier phase species volume fractions for cell, cellI - const scalarField XcMix(calcXc(cellI)); - // liquid volume fraction const scalarField X(liquids_.X(Yl)); + // immediately evaporate mass that has reached critical condition + if (mag(T - liquids_.Tc(X)) < SMALL) + { + if (debug) + { + WarningIn + ( + "void Foam::LiquidEvaporationBoil<CloudType>::calculate" + ) << "Parcel reached critical conditions" << endl; + } + + forAll(activeLiquids_, i) + { + const label lid = liqToLiqMap_[i]; + dMassPC[lid] = GREAT; + } + return; + } + // droplet surface pressure assumed to surface vapour pressure scalar ps = liquids_.pv(pc, Ts, X); // vapour density at droplet surface [kg/m3] scalar rhos = ps*liquids_.W(X)/(specie::RR*Ts); + // construct carrier phase species volume fractions for cell, cellI + const scalarField XcMix(calcXc(cellI)); + // carrier thermo properties scalar Hsc = 0.0; scalar Hc = 0.0; |
|
Thanks for the report - fixed by commit 356d6b |
|
Sorry to reopen this bug, but similarly to bug #960 the if statement for critical mass should be revise. Even though it works right now correctly, the new patch makes the check more robust. |
|
0001-Revise-check-for-crit-mass.patch (1,155 bytes)
From e215f19926038940914c1cf4308ae63494aa6ae9 Mon Sep 17 00:00:00 2001 From: Armin Wehrfritz <armin.wehrfritz@aalto.fi> Date: Wed, 14 Aug 2013 12:21:16 +0300 Subject: [PATCH] Revise check for crit mass --- .../PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C index d78d6b1..adde074 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C +++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C @@ -155,7 +155,7 @@ void Foam::LiquidEvaporationBoil<CloudType>::calculate const scalarField X(liquids_.X(Yl)); // immediately evaporate mass that has reached critical condition - if (mag(T - liquids_.Tc(X)) < SMALL) + if ((liquids_.Tc(X) - T) < SMALL) { if (debug) { -- 1.7.10.4 |
|
Thanks - updated by commit 5c4e7fd |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-08-07 12:30 | dkxls | New Issue | |
2013-08-07 12:30 | dkxls | File Added: LiquidEvaporationBoil.patch | |
2013-08-07 12:36 | dkxls | Tag Attached: Evaporation | |
2013-08-07 12:36 | dkxls | Tag Attached: Lagrangian | |
2013-08-07 12:36 | dkxls | Tag Attached: spray | |
2013-08-07 12:36 | dkxls | Tag Attached: sprayEngineFoam | |
2013-08-07 12:36 | dkxls | Tag Attached: sprayFoam | |
2013-08-07 12:36 | dkxls | Tag Attached: critical condition | |
2013-08-09 13:09 |
|
Priority | urgent => normal |
2013-08-09 13:10 |
|
Note Added: 0002382 | |
2013-08-09 13:10 |
|
Status | new => resolved |
2013-08-09 13:10 |
|
Fixed in Version | => 2.2.x |
2013-08-09 13:10 |
|
Resolution | open => fixed |
2013-08-09 13:10 |
|
Assigned To | => user2 |
2013-08-14 10:29 | dkxls | Note Added: 0002406 | |
2013-08-14 10:29 | dkxls | Status | resolved => feedback |
2013-08-14 10:29 | dkxls | Resolution | fixed => reopened |
2013-08-14 10:29 | dkxls | File Added: 0001-Revise-check-for-crit-mass.patch | |
2013-08-14 13:49 |
|
Note Added: 0002409 | |
2013-08-14 13:49 |
|
Status | feedback => resolved |
2013-08-14 13:49 |
|
Resolution | reopened => fixed |