Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Development
OpenFOAM-plus
Commits
446e5777
Commit
446e5777
authored
Dec 10, 2014
by
Henry
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add the OpenFOAM source tree
parent
ee487c86
Changes
1000
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
75 changed files
with
7245 additions
and
0 deletions
+7245
-0
Allwmake
Allwmake
+37
-0
applications/Allwmake
applications/Allwmake
+22
-0
applications/solvers/DNS/dnsFoam/Make/files
applications/solvers/DNS/dnsFoam/Make/files
+3
-0
applications/solvers/DNS/dnsFoam/Make/options
applications/solvers/DNS/dnsFoam/Make/options
+7
-0
applications/solvers/DNS/dnsFoam/createFields.H
applications/solvers/DNS/dnsFoam/createFields.H
+29
-0
applications/solvers/DNS/dnsFoam/dnsFoam.C
applications/solvers/DNS/dnsFoam/dnsFoam.C
+138
-0
applications/solvers/DNS/dnsFoam/globalProperties.H
applications/solvers/DNS/dnsFoam/globalProperties.H
+20
-0
applications/solvers/DNS/dnsFoam/readTransportProperties.H
applications/solvers/DNS/dnsFoam/readTransportProperties.H
+18
-0
applications/solvers/DNS/dnsFoam/readTurbulenceProperties.H
applications/solvers/DNS/dnsFoam/readTurbulenceProperties.H
+21
-0
applications/solvers/basic/laplacianFoam/Make/files
applications/solvers/basic/laplacianFoam/Make/files
+3
-0
applications/solvers/basic/laplacianFoam/Make/options
applications/solvers/basic/laplacianFoam/Make/options
+3
-0
applications/solvers/basic/laplacianFoam/createFields.H
applications/solvers/basic/laplacianFoam/createFields.H
+37
-0
applications/solvers/basic/laplacianFoam/laplacianFoam.C
applications/solvers/basic/laplacianFoam/laplacianFoam.C
+76
-0
applications/solvers/basic/laplacianFoam/write.H
applications/solvers/basic/laplacianFoam/write.H
+46
-0
applications/solvers/basic/potentialFoam/Make/files
applications/solvers/basic/potentialFoam/Make/files
+3
-0
applications/solvers/basic/potentialFoam/Make/options
applications/solvers/basic/potentialFoam/Make/options
+11
-0
applications/solvers/basic/potentialFoam/createFields.H
applications/solvers/basic/potentialFoam/createFields.H
+62
-0
applications/solvers/basic/potentialFoam/potentialFoam.C
applications/solvers/basic/potentialFoam/potentialFoam.C
+129
-0
applications/solvers/basic/potentialFoam/readControls.H
applications/solvers/basic/potentialFoam/readControls.H
+5
-0
applications/solvers/basic/scalarTransportFoam/Make/files
applications/solvers/basic/scalarTransportFoam/Make/files
+3
-0
applications/solvers/basic/scalarTransportFoam/Make/options
applications/solvers/basic/scalarTransportFoam/Make/options
+11
-0
applications/solvers/basic/scalarTransportFoam/createFields.H
...ications/solvers/basic/scalarTransportFoam/createFields.H
+55
-0
applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
...s/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
+79
-0
applications/solvers/combustion/PDRFoam/EaEqn.H
applications/solvers/combustion/PDRFoam/EaEqn.H
+22
-0
applications/solvers/combustion/PDRFoam/EauEqn.H
applications/solvers/combustion/PDRFoam/EauEqn.H
+27
-0
applications/solvers/combustion/PDRFoam/Make/files
applications/solvers/combustion/PDRFoam/Make/files
+33
-0
applications/solvers/combustion/PDRFoam/Make/options
applications/solvers/combustion/PDRFoam/Make/options
+30
-0
applications/solvers/combustion/PDRFoam/PDRFoam.C
applications/solvers/combustion/PDRFoam/PDRFoam.C
+156
-0
applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
+210
-0
applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C
...Foam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C
+169
-0
applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.H
...Foam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.H
+145
-0
applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
...ion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
+135
-0
applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H
...ion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H
+136
-0
applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.C
.../PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.C
+90
-0
applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
.../PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
+181
-0
applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C
...RFoam/PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C
+63
-0
applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C
...ers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C
+188
-0
applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.H
...ers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.H
+166
-0
applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
...on/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
+195
-0
applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
...on/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
+133
-0
applications/solvers/combustion/PDRFoam/StCourantNo.H
applications/solvers/combustion/PDRFoam/StCourantNo.H
+53
-0
applications/solvers/combustion/PDRFoam/UEqn.H
applications/solvers/combustion/PDRFoam/UEqn.H
+17
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C
...rs/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C
+107
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.H
...rs/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.H
+122
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.C
...RFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.C
+93
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.H
...RFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.H
+121
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
...bustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
+167
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H
...bustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H
+135
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C
...bustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C
+193
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
...bustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
+179
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModelNew.C
...tion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModelNew.C
+66
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
...oam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
+82
-0
applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.H
...oam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.H
+117
-0
applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C
...s/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C
+85
-0
applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.H
...s/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.H
+111
-0
applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.C
...combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.C
+76
-0
applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
...combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
+160
-0
applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModelNew.C
...bustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModelNew.C
+66
-0
applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.C
...on/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.C
+96
-0
applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.H
...on/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.H
+123
-0
applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.C
...ons/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.C
+94
-0
applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
...ons/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
+254
-0
applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModelNew.C
.../solvers/combustion/PDRFoam/XiModels/XiModel/XiModelNew.C
+65
-0
applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.C
...solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.C
+98
-0
applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.H
...solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.H
+131
-0
applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.C
...cations/solvers/combustion/PDRFoam/XiModels/fixed/fixed.C
+72
-0
applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.H
...cations/solvers/combustion/PDRFoam/XiModels/fixed/fixed.H
+115
-0
applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
...solvers/combustion/PDRFoam/XiModels/transport/transport.C
+140
-0
applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
...solvers/combustion/PDRFoam/XiModels/transport/transport.H
+145
-0
applications/solvers/combustion/PDRFoam/bEqn.H
applications/solvers/combustion/PDRFoam/bEqn.H
+108
-0
applications/solvers/combustion/PDRFoam/createFields.H
applications/solvers/combustion/PDRFoam/createFields.H
+199
-0
applications/solvers/combustion/PDRFoam/ftEqn.H
applications/solvers/combustion/PDRFoam/ftEqn.H
+11
-0
applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C
.../PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C
+451
-0
applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.H
.../PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.H
+220
-0
applications/solvers/combustion/PDRFoam/pEqn.H
applications/solvers/combustion/PDRFoam/pEqn.H
+76
-0
No files found.
Too many changes to show.
To preserve performance only
1000 of 1000+
files are displayed.
Plain diff
Email patch
Allwmake
0 → 100755
View file @
446e5777
#!/bin/sh
cd
${
0
%/*
}
||
exit
1
# run from this directory
wmakeCheckPwd
"
$WM_PROJECT_DIR
"
||
{
echo
"Error: Current directory is not
\$
WM_PROJECT_DIR"
echo
" The environment variables are inconsistent with the installation."
echo
" Check the OpenFOAM entries in your dot-files and source them."
exit
1
}
[
-n
"
$FOAM_EXT_LIBBIN
"
]
||
{
echo
"Error: FOAM_EXT_LIBBIN not set"
echo
" Check the OpenFOAM entries in your dot-files and source them."
exit
1
}
# wmake is required for subsequent targets
(
cd
wmake/src
&&
make
)
# build ThirdParty sources
if
[
-d
"
$WM_THIRD_PARTY_DIR
"
]
then
$WM_THIRD_PARTY_DIR
/Allwmake
else
echo
"no ThirdParty sources found - skipping"
fi
# build OpenFOAM libraries and applications
src/Allwmake
$*
applications/Allwmake
$*
if
[
"
$1
"
=
doc
]
then
doc/Allwmake
$*
fi
# ----------------------------------------------------------------- end-of-file
applications/Allwmake
0 → 100755
View file @
446e5777
#!/bin/sh
cd
${
0
%/*
}
||
exit
1
# run from this directory
wmakeCheckPwd
"
$WM_PROJECT_DIR
/applications"
||
{
echo
"Error: Current directory is not
\$
WM_PROJECT_DIR/applications"
echo
" The environment variables are inconsistent with the installation."
echo
" Check the OpenFOAM entries in your dot-files and source them."
exit
1
}
[
-n
"
$FOAM_EXT_LIBBIN
"
]
||
{
echo
"Error: FOAM_EXT_LIBBIN not set"
echo
" Check the OpenFOAM entries in your dot-files and source them."
exit
1
}
set
-x
wmake all utilities
$*
wmake all solvers
$*
# ----------------------------------------------------------------- end-of-file
applications/solvers/DNS/dnsFoam/Make/files
0 → 100644
View file @
446e5777
dnsFoam.C
EXE = $(FOAM_APPBIN)/dnsFoam
applications/solvers/DNS/dnsFoam/Make/options
0 → 100644
View file @
446e5777
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/randomProcesses/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lrandomProcesses
applications/solvers/DNS/dnsFoam/createFields.H
0 → 100644
View file @
446e5777
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"
applications/solvers/DNS/dnsFoam/dnsFoam.C
0 → 100644
View file @
446e5777
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 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
dnsFoam
Description
Direct numerical simulation solver for boxes of isotropic turbulence
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "Kmesh.H"
#include "UOprocess.H"
#include "fft.H"
#include "calcEk.H"
#include "graph.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int
main
(
int
argc
,
char
*
argv
[])
{
#include "setRootCase.H"
#include "createTime.H"
#include "createMeshNoClear.H"
#include "readTransportProperties.H"
#include "createFields.H"
#include "readTurbulenceProperties.H"
#include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info
<<
nl
<<
"Starting time loop"
<<
endl
;
while
(
runTime
.
loop
())
{
Info
<<
"Time = "
<<
runTime
.
timeName
()
<<
nl
<<
endl
;
#include "readPISOControls.H"
force
.
internalField
()
=
ReImSum
(
fft
::
reverseTransform
(
K
/
(
mag
(
K
)
+
1.0e-6
)
^
forceGen
.
newField
(),
K
.
nn
()
)
);
#include "globalProperties.H"
fvVectorMatrix
UEqn
(
fvm
::
ddt
(
U
)
+
fvm
::
div
(
phi
,
U
)
-
fvm
::
laplacian
(
nu
,
U
)
==
force
);
solve
(
UEqn
==
-
fvc
::
grad
(
p
));
// --- PISO loop
for
(
int
corr
=
1
;
corr
<=
1
;
corr
++
)
{
volScalarField
rAU
(
1
.
0
/
UEqn
.
A
());
surfaceScalarField
rAUf
(
"rAUf"
,
fvc
::
interpolate
(
rAU
));
volVectorField
HbyA
(
"HbyA"
,
U
);
HbyA
=
rAU
*
UEqn
.
H
();
surfaceScalarField
phiHbyA
(
"phiHbyA"
,
(
fvc
::
interpolate
(
HbyA
)
&
mesh
.
Sf
())
+
rAUf
*
fvc
::
ddtCorr
(
U
,
phi
)
);
fvScalarMatrix
pEqn
(
fvm
::
laplacian
(
rAUf
,
p
)
==
fvc
::
div
(
phiHbyA
)
);
pEqn
.
solve
();
phi
=
phiHbyA
-
pEqn
.
flux
();
#include "continuityErrs.H"
U
=
HbyA
-
rAU
*
fvc
::
grad
(
p
);
U
.
correctBoundaryConditions
();
}
runTime
.
write
();
if
(
runTime
.
outputTime
())
{
calcEk
(
U
,
K
).
write
(
runTime
.
path
()
/
"graphs"
/
runTime
.
timeName
(),
"Ek"
,
runTime
.
graphFormat
()
);
}
Info
<<
"ExecutionTime = "
<<
runTime
.
elapsedCpuTime
()
<<
" s"
<<
" ClockTime = "
<<
runTime
.
elapsedClockTime
()
<<
" s"
<<
nl
<<
endl
;
}
Info
<<
"End
\n
"
<<
endl
;
return
0
;
}
// ************************************************************************* //
applications/solvers/DNS/dnsFoam/globalProperties.H
0 → 100644
View file @
446e5777
Info
<<
"k("
<<
runTime
.
timeName
()
<<
") = "
<<
3
.
0
/
2
.
0
*
average
(
magSqr
(
U
)).
value
()
<<
endl
;
Info
<<
"epsilon("
<<
runTime
.
timeName
()
<<
") = "
<<
(
0
.
5
*
nu
*
average
(
magSqr
(
fvc
::
grad
(
U
)
+
fvc
::
grad
(
U
)().
T
())
)
).
value
()
<<
endl
;
Info
<<
"U.f("
<<
runTime
.
timeName
()
<<
") = "
<<
181
.
0
*
average
(
U
&
force
).
value
()
<<
endl
;
applications/solvers/DNS/dnsFoam/readTransportProperties.H
0 → 100644
View file @
446e5777
Info
<<
"Reading transportProperties
\n
"
<<
endl
;
IOdictionary
transportProperties
(
IOobject
(
"transportProperties"
,
runTime
.
constant
(),
mesh
,
IOobject
::
MUST_READ_IF_MODIFIED
,
IOobject
::
NO_WRITE
)
);
dimensionedScalar
nu
(
transportProperties
.
lookup
(
"nu"
)
);
applications/solvers/DNS/dnsFoam/readTurbulenceProperties.H
0 → 100644
View file @
446e5777
Info
<<
"Reading turbulenceProperties
\n
"
<<
endl
;
IOdictionary
turbulenceProperties
(
IOobject
(
"turbulenceProperties"
,
runTime
.
constant
(),
mesh
,
IOobject
::
MUST_READ_IF_MODIFIED
,
IOobject
::
NO_WRITE
)
);
volVectorField
force
(
U
/
dimensionedScalar
(
"dt"
,
dimTime
,
runTime
.
deltaTValue
())
);
Kmesh
K
(
mesh
);
UOprocess
forceGen
(
K
,
runTime
.
deltaTValue
(),
turbulenceProperties
);
applications/solvers/basic/laplacianFoam/Make/files
0 → 100644
View file @
446e5777
laplacianFoam.C
EXE = $(FOAM_APPBIN)/laplacianFoam
applications/solvers/basic/laplacianFoam/Make/options
0 → 100644
View file @
446e5777
EXE_INC = -I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = -lfiniteVolume
applications/solvers/basic/laplacianFoam/createFields.H
0 → 100644
View file @
446e5777
Info
<<
"Reading field T
\n
"
<<
endl
;
volScalarField
T
(
IOobject
(
"T"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
MUST_READ
,
IOobject
::
AUTO_WRITE
),
mesh
);
Info
<<
"Reading transportProperties
\n
"
<<
endl
;
IOdictionary
transportProperties
(
IOobject
(
"transportProperties"
,
runTime
.
constant
(),
mesh
,
IOobject
::
MUST_READ_IF_MODIFIED
,
IOobject
::
NO_WRITE
)
);
Info
<<
"Reading diffusivity DT
\n
"
<<
endl
;
dimensionedScalar
DT
(
transportProperties
.
lookup
(
"DT"
)
);
applications/solvers/basic/laplacianFoam/laplacianFoam.C
0 → 100644
View file @
446e5777
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
laplacianFoam
Description
Solves a simple Laplace equation, e.g. for thermal diffusion in a solid.
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "simpleControl.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int
main
(
int
argc
,
char
*
argv
[])
{
#include "setRootCase.H"
#include "createTime.H"
#include "createMesh.H"
#include "createFields.H"
simpleControl
simple
(
mesh
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info
<<
"
\n
Calculating temperature distribution
\n
"
<<
endl
;
while
(
simple
.
loop
())
{
Info
<<
"Time = "
<<
runTime
.
timeName
()
<<
nl
<<
endl
;
while
(
simple
.
correctNonOrthogonal
())
{
solve
(
fvm
::
ddt
(
T
)
-
fvm
::
laplacian
(
DT
,
T
)
);
}
#include "write.H"
Info
<<
"ExecutionTime = "
<<
runTime
.
elapsedCpuTime
()
<<
" s"
<<
" ClockTime = "
<<
runTime
.
elapsedClockTime
()
<<
" s"
<<
nl
<<
endl
;
}
Info
<<
"End
\n
"
<<
endl
;
return
0
;
}
// ************************************************************************* //
applications/solvers/basic/laplacianFoam/write.H
0 → 100644
View file @
446e5777
if
(
runTime
.
outputTime
())
{
volVectorField
gradT
(
fvc
::
grad
(
T
));
volScalarField
gradTx
(
IOobject
(
"gradTx"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
NO_READ
,
IOobject
::
AUTO_WRITE
),
gradT
.
component
(
vector
::
X
)
);
volScalarField
gradTy
(
IOobject
(
"gradTy"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
NO_READ
,
IOobject
::
AUTO_WRITE
),
gradT
.
component
(
vector
::
Y
)
);
volScalarField
gradTz
(
IOobject
(
"gradTz"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
NO_READ
,
IOobject
::
AUTO_WRITE
),
gradT
.
component
(
vector
::
Z
)
);
runTime
.
write
();
}
applications/solvers/basic/potentialFoam/Make/files
0 → 100644
View file @
446e5777
potentialFoam.C
EXE = $(FOAM_APPBIN)/potentialFoam
applications/solvers/basic/potentialFoam/Make/options
0 → 100644
View file @
446e5777
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/fvOptions/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lmeshTools \
-lfvOptions \
-lsampling
applications/solvers/basic/potentialFoam/createFields.H
0 → 100644
View file @
446e5777
Info
<<
"Reading field p
\n
"
<<
endl
;
volScalarField
p
(
IOobject
(
"p"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
MUST_READ
,
IOobject
::
NO_WRITE
),
mesh
);
p
=
dimensionedScalar
(
"zero"
,
p
.
dimensions
(),
0
.
0
);
Info
<<
"Reading field U
\n
"
<<
endl
;
volVectorField
U
(
IOobject
(
"U"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
MUST_READ
,
IOobject
::
AUTO_WRITE
),
mesh
);
U
=
dimensionedVector
(
"0"
,
U
.
dimensions
(),
vector
::
zero
);
surfaceScalarField
phi
(
IOobject
(
"phi"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
NO_READ
,
IOobject
::
AUTO_WRITE
),
fvc
::
interpolate
(
U
)
&
mesh
.
Sf
()
);
if
(
args
.
optionFound
(
"initialiseUBCs"
))
{
U
.
correctBoundaryConditions
();
phi
=
fvc
::
interpolate
(
U
)
&
mesh
.
Sf
();
}
label
pRefCell
=
0
;
scalar
pRefValue
=
0
.
0
;
setRefCell
(
p
,
potentialFlow
,
pRefCell
,
pRefValue
);
applications/solvers/basic/potentialFoam/potentialFoam.C
0 → 100644
View file @
446e5777
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 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