CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

how to calculate mass transfer with Low reynold number model

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 23, 2014, 16:12
Default how to calculate mass transfer with Low reynold number model
  #1
New Member
 
Haijun Hu
Join Date: Sep 2014
Posts: 8
Rep Power: 12
huhaijun is on a distinguished road
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.
Attached Files
File Type: zip turbulentPipeLowRe.zip (23.0 KB, 0 views)
File Type: zip csimpleFoam.zip (10.4 KB, 0 views)
huhaijun is offline   Reply With Quote

Old   September 23, 2014, 16:29
Default code of solver and the case
  #2
New Member
 
Haijun Hu
Join Date: Sep 2014
Posts: 8
Rep Power: 12
huhaijun is on a distinguished road
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;
}


}
huhaijun is offline   Reply With Quote

Reply

Tags
mass transport lrn


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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


All times are GMT -4. The time now is 00:11.