|
[Sponsors] |
how to calculate mass transfer with Low reynold number model |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 23, 2014, 16:12 |
how to calculate mass transfer with Low reynold number model
|
#1 |
New Member
Haijun Hu
Join Date: Sep 2014
Posts: 8
Rep Power: 12 |
Hi. I try to calculate the concentration in a pipe. Since the thickness of concentration boundary is much less than thickness of velocity boundary layer, the wall function cannot be applied. The low reynold number model (LaunderSharmaKE)is selected. However, the velocity and k , epsilon can be correctly calculated, but the concentration is always wrong. Some nodes' values are(>400) very large compared with those of the inner nodes(<1). The solver is a modified simpleFoam where concentration transport equation is added. the code and case are given. I don't know what is the problem and wish someone can give good advices.
|
|
September 23, 2014, 16:29 |
code of solver and the case
|
#2 |
New Member
Haijun Hu
Join Date: Sep 2014
Posts: 8
Rep Power: 12 |
solver:
\*---------------------------------------------------------------------------*/ #include "fvCFD.H" #include "singlePhaseTransportModel.H" #include "RASModel.H" #include "simpleControl.H" #include "fvIOoptionList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) { #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" #include "createFields.H" #include "createFvOptions.H" #include "initContinuityErrs.H" simpleControl simple(mesh); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Info<< "\nStarting time loop\n" << endl; while (simple.loop()) { Info<< "Time = " << runTime.timeName() << nl << endl; p.storePrevIter(); // --- Pressure-velocity SIMPLE corrector { #include "UEqn.H" #include "pEqn.H" } turbulence->correct(); #include "CEqn.H" runTime.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; } Info<< "End\n" << endl; return 0; } //=================== CEqn.H { dimensionedScalar DT = dimensionedScalar("D", dimensionSet(0,2,-1,0,0,0,0), 5.26e-9 ) ; fvScalarMatrix CEqn ( fvm::ddt(C) // <--- steady state simulation, so ddt disabled... + fvm::div(phi, C) - fvm::laplacian(DT, C) // viscous heat dissipation term ); CEqn.relax(); CEqn.solve().initialResidual(); } //================case ======== k: FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 3.84e-3; boundaryField { inlet { type fixedValue; value uniform 3.84e-3; } outlet { type zeroGradient; } wall { type fixedValue; value uniform 1e-10; } axi_symm-f { type wedge; } axi_symm-r { type wedge; } } epsilon: FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object epsilon; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -3 0 0 0 0]; internalField uniform 2.79e-3; boundaryField { inlet { type fixedValue; value uniform 2.79e-3; } outlet { type zeroGradient; } wall { type zeroGradient; } axi_symm-f { type wedge; } axi_symm-r { type wedge; } } nut: FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object nut; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -1 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type calculated; value uniform 0; } outlet { type calculated; value uniform 0; } axi_symm-f { type wedge; } axi_symm-r { type wedge; } wall { // type nutUSpaldingWallFunction; // value uniform 0; // type nutkWallFunction; // value uniform 0; // type fixedValue; // value uniform 0; // type zeroGradient; type nutLowReWallFunction; value uniform 0; } defaultFaces { type empty; } } C: FoamFile { version 2.0; format ascii; class volScalarField; object C; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 -3 0 0 1 0 0]; //*** kg, m,s,K,kmol,A,cd *** mol/l or kmol/m3 *****// internalField uniform 1; boundaryField { inlet { type fixedValue; value uniform 1; } outlet { type fixedValue; value uniform 0; } wall { type fixedValue; value uniform 0; } axi_symm-f { type wedge; } axi_symm-r { type wedge; } } |
|
Tags |
mass transport lrn |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Low Reynolds Number SST Model | Josh | CFX | 41 | June 4, 2023 20:00 |
Overflow Error in Multiphase Modelling with Two Continuous Fluids | ashtonJ | CFX | 6 | August 11, 2014 15:32 |
Cluster ID's not contiguous in compute-nodes domain. ??? | Shogan | FLUENT | 1 | May 28, 2014 16:03 |
How to calculate Volumetric Mass transfer coefficient using CFX? | tuks_123 | CFX | 2 | July 22, 2010 02:15 |
low turbulent reynold number | C-CARE | CFX | 4 | March 12, 2004 07:36 |