Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
90d2f80a
Commit
90d2f80a
authored
Jan 31, 2012
by
andy
Browse files
ENH: Deprecated channelFoam solver - can now use pimpleFoam with field sources
parent
73abe46e
Changes
7
Hide whitespace changes
Inline
Side-by-side
applications/solvers/incompressible/channelFoam/Make/files
deleted
100644 → 0
View file @
73abe46e
channelFoam.C
EXE = $(FOAM_APPBIN)/channelFoam
applications/solvers/incompressible/channelFoam/Make/options
deleted
100644 → 0
View file @
73abe46e
EXE_INC = \
-I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/incompressible/LES/LESModel \
-I$(LIB_SRC)/turbulenceModels/LES/LESdeltas/lnInclude \
-I$(LIB_SRC)/transportModels \
-I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude
EXE_LIBS = \
-lincompressibleLESModels \
-lincompressibleTransportModels \
-lfiniteVolume \
-lmeshTools
applications/solvers/incompressible/channelFoam/channelFoam.C
deleted
100644 → 0
View file @
73abe46e
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Application
channelFoam
Description
Incompressible LES solver for flow in a channel.
\*---------------------------------------------------------------------------*/
#include
"fvCFD.H"
#include
"singlePhaseTransportModel.H"
#include
"LESModel.H"
#include
"IFstream.H"
#include
"OFstream.H"
#include
"Random.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int
main
(
int
argc
,
char
*
argv
[])
{
#include
"setRootCase.H"
#include
"createTime.H"
#include
"createMesh.H"
#include
"readTransportProperties.H"
#include
"createFields.H"
#include
"initContinuityErrs.H"
#include
"createGradP.H"
Info
<<
"
\n
Starting time loop
\n
"
<<
endl
;
while
(
runTime
.
loop
())
{
Info
<<
"Time = "
<<
runTime
.
timeName
()
<<
nl
<<
endl
;
#include
"readPISOControls.H"
#include
"CourantNo.H"
sgsModel
->
correct
();
fvVectorMatrix
UEqn
(
fvm
::
ddt
(
U
)
+
fvm
::
div
(
phi
,
U
)
+
sgsModel
->
divDevBeff
(
U
)
==
flowDirection
*
gradP
);
if
(
momentumPredictor
)
{
solve
(
UEqn
==
-
fvc
::
grad
(
p
));
}
// --- PISO loop
volScalarField
rAU
(
1
.
0
/
UEqn
.
A
());
for
(
int
corr
=
0
;
corr
<
nCorr
;
corr
++
)
{
U
=
rAU
*
UEqn
.
H
();
phi
=
(
fvc
::
interpolate
(
U
)
&
mesh
.
Sf
())
+
fvc
::
ddtPhiCorr
(
rAU
,
U
,
phi
);
adjustPhi
(
phi
,
U
,
p
);
for
(
int
nonOrth
=
0
;
nonOrth
<=
nNonOrthCorr
;
nonOrth
++
)
{
fvScalarMatrix
pEqn
(
fvm
::
laplacian
(
rAU
,
p
)
==
fvc
::
div
(
phi
)
);
pEqn
.
setReference
(
pRefCell
,
pRefValue
);
if
(
corr
==
nCorr
-
1
&&
nonOrth
==
nNonOrthCorr
)
{
pEqn
.
solve
(
mesh
.
solver
(
p
.
name
()
+
"Final"
));
}
else
{
pEqn
.
solve
(
mesh
.
solver
(
p
.
name
()));
}
if
(
nonOrth
==
nNonOrthCorr
)
{
phi
-=
pEqn
.
flux
();
}
}
#include
"continuityErrs.H"
U
-=
rAU
*
fvc
::
grad
(
p
);
U
.
correctBoundaryConditions
();
}
// Correct driving force for a constant mass flow rate
// Extract the velocity in the flow direction
dimensionedScalar
magUbarStar
=
(
flowDirection
&
U
)().
weightedAverage
(
mesh
.
V
());
// Calculate the pressure gradient increment needed to
// adjust the average flow-rate to the correct value
dimensionedScalar
gragPplus
=
(
magUbar
-
magUbarStar
)
/
rAU
.
weightedAverage
(
mesh
.
V
());
U
+=
flowDirection
*
rAU
*
gragPplus
;
gradP
+=
gragPplus
;
Info
<<
"Uncorrected Ubar = "
<<
magUbarStar
.
value
()
<<
tab
<<
"pressure gradient = "
<<
gradP
.
value
()
<<
endl
;
runTime
.
write
();
#include
"writeGradP.H"
Info
<<
"ExecutionTime = "
<<
runTime
.
elapsedCpuTime
()
<<
" s"
<<
" ClockTime = "
<<
runTime
.
elapsedClockTime
()
<<
" s"
<<
nl
<<
endl
;
}
Info
<<
"End
\n
"
<<
endl
;
return
0
;
}
// ************************************************************************* //
applications/solvers/incompressible/channelFoam/createFields.H
deleted
100644 → 0
View file @
73abe46e
Info
<<
"Reading field p
\n
"
<<
endl
;
volScalarField
p
(
IOobject
(
"p"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
MUST_READ
,
IOobject
::
AUTO_WRITE
),
mesh
);
Info
<<
"Reading field U
\n
"
<<
endl
;
volVectorField
U
(
IOobject
(
"U"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
MUST_READ
,
IOobject
::
AUTO_WRITE
),
mesh
);
# include "createPhi.H"
label
pRefCell
=
0
;
scalar
pRefValue
=
0
.
0
;
setRefCell
(
p
,
mesh
.
solutionDict
().
subDict
(
"PISO"
),
pRefCell
,
pRefValue
);
singlePhaseTransportModel
laminarTransport
(
U
,
phi
);
autoPtr
<
incompressible
::
LESModel
>
sgsModel
(
incompressible
::
LESModel
::
New
(
U
,
phi
,
laminarTransport
)
);
applications/solvers/incompressible/channelFoam/createGradP.H
deleted
100644 → 0
View file @
73abe46e
dimensionedScalar
gradP
(
"gradP"
,
dimensionSet
(
0
,
1
,
-
2
,
0
,
0
),
0
.
0
);
IFstream
gradPFile
(
runTime
.
path
()
/
runTime
.
timeName
()
/
"uniform"
/
"gradP.raw"
);
if
(
gradPFile
.
good
())
{
gradPFile
>>
gradP
;
Info
<<
"Reading average pressure gradient"
<<
endl
<<
endl
;
}
else
{
Info
<<
"Initializing with 0 pressure gradient"
<<
endl
<<
endl
;
};
applications/solvers/incompressible/channelFoam/readTransportProperties.H
deleted
100644 → 0
View file @
73abe46e
Info
<<
"
\n
Reading transportProperties
\n
"
<<
endl
;
IOdictionary
transportProperties
(
IOobject
(
"transportProperties"
,
runTime
.
constant
(),
mesh
,
IOobject
::
MUST_READ_IF_MODIFIED
,
IOobject
::
NO_WRITE
,
false
)
);
dimensionedScalar
nu
(
transportProperties
.
lookup
(
"nu"
)
);
// Read centerline velocity for channel simulations
dimensionedVector
Ubar
(
transportProperties
.
lookup
(
"Ubar"
)
);
dimensionedScalar
magUbar
=
mag
(
Ubar
);
vector
flowDirection
=
(
Ubar
/
magUbar
).
value
();
applications/solvers/incompressible/channelFoam/writeGradP.H
deleted
100644 → 0
View file @
73abe46e
if
(
runTime
.
outputTime
())
{
OFstream
gradPFile
(
runTime
.
path
()
/
runTime
.
timeName
()
/
"uniform"
/
"gradP.raw"
);
if
(
gradPFile
.
good
())
{
gradPFile
<<
gradP
<<
endl
;
}
else
{
FatalErrorIn
(
args
.
executable
())
<<
"Cannot open file "
<<
runTime
.
path
()
/
runTime
.
timeName
()
/
"uniform"
/
"gradP.raw"
<<
exit
(
FatalError
);
};
};
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment