Skip to content
GitLab
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
b9940cbb
Commit
b9940cbb
authored
Sep 23, 2016
by
Andrew Heather
Browse files
COMP: Multiple changes - first clean build after latest merge - UNTESTED
parent
9fbd6126
Changes
310
Hide whitespace changes
Inline
Side-by-side
applications/solvers/basic/potentialFoam/potentialFoam.C
View file @
b9940cbb
...
...
@@ -28,9 +28,9 @@ Group
grpBasicSolvers
Description
Potential flow solver which solves for the velocity potential
from which
the flux-field
is obtained and velocity field by reconstructing
the flux.
Potential flow solver which solves for the velocity potential
, to
calculate
the flux-field
, from which the velocity field is obtained by
reconstructing
the flux.
\heading Solver details
The potential flow solution is typically employed to generate initial fields
...
...
applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C
View file @
b9940cbb
...
...
@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015
-2016
OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
...
...
@@ -67,25 +67,26 @@ Description
int
main
(
int
argc
,
char
*
argv
[])
{
#include
"
setRootCase
.H"
#include
"
postProcess
.H"
#include
"setRootCase.H"
#include
"createTime.H"
#include
"createDynamicFvMesh.H"
#include
"initContinuityErrs.H"
pimpleControl
pimple
(
mesh
);
#include
"createControl.H"
#include
"readCombustionProperties.H"
#include
"readGravitationalAcceleration.H"
#include
"createFields.H"
#include
"create
MRF
.H"
#include
"create
FieldRefs
.H"
#include
"createFvOptions.H"
#include
"initContinuityErrs.H"
#include
"createRhoUf.H"
#include
"createControls.H"
#include
"initContinuityErrs.H"
#include
"compressibleCourantNo.H"
#include
"setInitialDeltaT.H"
turbulence
->
validate
();
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info
<<
"
\n
Starting time loop
\n
"
<<
endl
;
...
...
applications/solvers/combustion/XiFoam/XiDyMFoam/readControls.H
View file @
b9940cbb
#include
"readTimeControls.H"
#include
"readTimeControls.H"
bool
correctPhi
=
pimple
.
dict
().
lookupOrDefault
<
Switch
>
(
"correctPhi"
,
true
);
correctPhi
=
pimple
.
dict
().
lookupOrDefault
<
Switch
>
(
"correctPhi"
,
true
);
bool
checkMeshCourantNo
=
pimple
.
dict
().
lookupOrDefault
<
Switch
>
(
"checkMeshCourantNo"
,
false
);
checkMeshCourantNo
=
pimple
.
dict
().
lookupOrDefault
<
Switch
>
(
"checkMeshCourantNo"
,
false
);
applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H
View file @
b9940cbb
...
...
@@ -18,8 +18,6 @@ volScalarField rho
);
volScalarField
&
p
=
thermo
.
p
();
const
volScalarField
&
psi
=
thermo
.
psi
();
Info
<<
"Reading field U
\n
"
<<
endl
;
volVectorField
U
...
...
applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H
View file @
b9940cbb
...
...
@@ -41,8 +41,6 @@
p_rghDDtEqn
=
(
fvc
::
ddt
(
rho
)
+
psi
*
correction
(
fvm
::
ddt
(
p_rgh
))
==
fvOptions
(
psi
,
p_rgh
,
rho
.
name
())
);
}
...
...
@@ -53,6 +51,8 @@
p_rghDDtEqn
()
+
fvc
::
div
(
phiHbyA
)
-
fvm
::
laplacian
(
rhorAUf
,
p_rgh
)
==
fvOptions
(
psi
,
p_rgh
,
rho
.
name
())
);
p_rghEqn
.
solve
(
mesh
.
solver
(
p_rgh
.
select
(
pimple
.
finalInnerIter
())));
...
...
applications/solvers/heatTransfer/thermoFoam/setAlphaEff.H
View file @
b9940cbb
...
...
@@ -11,7 +11,7 @@ IOobject turbulencePropertiesHeader
false
);
if
(
turbulencePropertiesHeader
.
h
eaderOk
(
))
if
(
turbulencePropertiesHeader
.
typeH
eaderOk
<
IOdictionary
>
(
false
))
{
autoPtr
<
compressible
::
turbulenceModel
>
turbulence
(
...
...
applications/solvers/lagrangian/simpleCoalParcelFoam/EEqn.H
0 → 100644
View file @
b9940cbb
{
volScalarField
&
he
=
thermo
.
he
();
fvScalarMatrix
EEqn
(
mvConvection
->
fvmDiv
(
phi
,
he
)
+
(
he
.
name
()
==
"e"
?
fvc
::
div
(
phi
,
volScalarField
(
"Ekp"
,
0
.
5
*
magSqr
(
U
)
+
p
/
rho
))
:
fvc
::
div
(
phi
,
volScalarField
(
"K"
,
0
.
5
*
magSqr
(
U
)))
)
-
fvm
::
laplacian
(
turbulence
->
alphaEff
(),
he
)
==
rho
*
(
U
&
g
)
+
parcels
.
Sh
(
he
)
+
radiation
->
Sh
(
thermo
)
+
combustion
->
Sh
()
+
fvOptions
(
rho
,
he
)
);
EEqn
.
relax
();
fvOptions
.
constrain
(
EEqn
);
EEqn
.
solve
();
fvOptions
.
correct
(
he
);
thermo
.
correct
();
radiation
->
correct
();
Info
<<
"T gas min/max = "
<<
min
(
T
).
value
()
<<
", "
<<
max
(
T
).
value
()
<<
endl
;
}
applications/solvers/lagrangian/simpleCoalParcelFoam/Make/options
View file @
b9940cbb
...
...
@@ -24,8 +24,7 @@ EXE_INC = \
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-I$(LIB_SRC)/combustionModels/lnInclude \
-I$(LIB_SRC)/fvOptions/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \
-I$(FOAM_SOLVERS)/lagrangian/reactingParcelFoam/simpleReactingParcelFoam
-I$(LIB_SRC)/sampling/lnInclude
EXE_LIBS = \
...
...
applications/solvers/lagrangian/simpleCoalParcelFoam/UEqn.H
0 → 100644
View file @
b9940cbb
MRF
.
correctBoundaryVelocity
(
U
);
tmp
<
fvVectorMatrix
>
tUEqn
(
fvm
::
div
(
phi
,
U
)
+
MRF
.
DDt
(
rho
,
U
)
+
turbulence
->
divDevRhoReff
(
U
)
==
rho
()
*
g
+
parcels
.
SU
(
U
)
+
fvOptions
(
rho
,
U
)
);
fvVectorMatrix
&
UEqn
=
tUEqn
.
ref
();
UEqn
.
relax
();
fvOptions
.
constrain
(
UEqn
);
solve
(
UEqn
==
-
fvc
::
grad
(
p
));
fvOptions
.
correct
(
U
);
applications/solvers/lagrangian/simpleCoalParcelFoam/YEqn.H
0 → 100644
View file @
b9940cbb
tmp
<
fv
::
convectionScheme
<
scalar
>>
mvConvection
(
fv
::
convectionScheme
<
scalar
>::
New
(
mesh
,
fields
,
phi
,
mesh
.
divScheme
(
"div(phi,Yi_h)"
)
)
);
{
combustion
->
correct
();
dQ
=
combustion
->
dQ
();
volScalarField
Yt
(
0
.
0
*
Y
[
0
]);
forAll
(
Y
,
i
)
{
if
(
i
!=
inertIndex
&&
composition
.
active
(
i
))
{
volScalarField
&
Yi
=
Y
[
i
];
fvScalarMatrix
YEqn
(
mvConvection
->
fvmDiv
(
phi
,
Yi
)
-
fvm
::
laplacian
(
turbulence
->
muEff
(),
Yi
)
==
parcels
.
SYi
(
i
,
Yi
)
+
combustion
->
R
(
Yi
)
+
fvOptions
(
rho
,
Yi
)
);
YEqn
.
relax
();
fvOptions
.
constrain
(
YEqn
);
YEqn
.
solve
(
mesh
.
solver
(
"Yi"
));
fvOptions
.
correct
(
Yi
);
Yi
.
max
(
0
.
0
);
Yt
+=
Yi
;
}
}
Y
[
inertIndex
]
=
scalar
(
1
)
-
Yt
;
Y
[
inertIndex
].
max
(
0
.
0
);
}
applications/solvers/lagrangian/simpleCoalParcelFoam/createFieldRefs.H
0 → 100644
View file @
b9940cbb
const
volScalarField
&
psi
=
thermo
.
psi
();
const
volScalarField
&
T
=
thermo
.
T
();
const
label
inertIndex
(
composition
.
species
()[
inertSpecie
]);
applications/solvers/lagrangian/simpleCoalParcelFoam/createFields.H
0 → 100644
View file @
b9940cbb
#include
"readGravitationalAcceleration.H"
Info
<<
"Creating combustion model
\n
"
<<
endl
;
autoPtr
<
combustionModels
::
rhoCombustionModel
>
combustion
(
combustionModels
::
rhoCombustionModel
::
New
(
mesh
)
);
rhoReactionThermo
&
thermo
=
combustion
->
thermo
();
thermo
.
validate
(
args
.
executable
(),
"h"
,
"e"
);
SLGThermo
slgThermo
(
mesh
,
thermo
);
basicSpecieMixture
&
composition
=
thermo
.
composition
();
PtrList
<
volScalarField
>&
Y
=
composition
.
Y
();
const
word
inertSpecie
(
thermo
.
lookup
(
"inertSpecie"
));
if
(
!
composition
.
species
().
found
(
inertSpecie
))
{
FatalIOErrorIn
(
args
.
executable
().
c_str
(),
thermo
)
<<
"Inert specie "
<<
inertSpecie
<<
" not found in available species "
<<
composition
.
species
()
<<
exit
(
FatalIOError
);
}
volScalarField
&
p
=
thermo
.
p
();
volScalarField
rho
(
IOobject
(
"rho"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
NO_READ
,
IOobject
::
AUTO_WRITE
),
thermo
.
rho
()
);
Info
<<
"
\n
Reading field U
\n
"
<<
endl
;
volVectorField
U
(
IOobject
(
"U"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
MUST_READ
,
IOobject
::
AUTO_WRITE
),
mesh
);
#include
"compressibleCreatePhi.H"
mesh
.
setFluxRequired
(
p
.
name
());
dimensionedScalar
rhoMax
(
dimensionedScalar
::
lookupOrDefault
(
"rhoMax"
,
simple
.
dict
(),
dimDensity
,
GREAT
)
);
dimensionedScalar
rhoMin
(
dimensionedScalar
::
lookupOrDefault
(
"rhoMin"
,
simple
.
dict
(),
dimDensity
,
0
)
);
Info
<<
"Creating turbulence model
\n
"
<<
endl
;
autoPtr
<
compressible
::
turbulenceModel
>
turbulence
(
compressible
::
turbulenceModel
::
New
(
rho
,
U
,
phi
,
thermo
)
);
// Set the turbulence into the combustion model
combustion
->
setTurbulence
(
turbulence
());
Info
<<
"Creating multi-variate interpolation scheme
\n
"
<<
endl
;
multivariateSurfaceInterpolationScheme
<
scalar
>::
fieldTable
fields
;
forAll
(
Y
,
i
)
{
fields
.
add
(
Y
[
i
]);
}
fields
.
add
(
thermo
.
he
());
volScalarField
dQ
(
IOobject
(
"dQ"
,
runTime
.
timeName
(),
mesh
,
IOobject
::
NO_READ
,
IOobject
::
AUTO_WRITE
),
mesh
,
dimensionedScalar
(
"dQ"
,
dimEnergy
/
dimTime
,
0
.
0
)
);
#include
"createMRF.H"
#include
"createRadiationModel.H"
#include
"createClouds.H"
applications/solvers/lagrangian/simpleCoalParcelFoam/pEqn.H
0 → 100644
View file @
b9940cbb
{
// Thermodynamic density needs to be updated by psi*d(p) after the
// pressure solution - done in 2 parts. Part 1:
thermo
.
rho
()
-=
psi
*
p
;
volScalarField
rAU
(
1
.
0
/
UEqn
.
A
());
surfaceScalarField
rhorAUf
(
"rhorAUf"
,
fvc
::
interpolate
(
rho
*
rAU
));
volVectorField
HbyA
(
constrainHbyA
(
rAU
*
UEqn
.
H
(),
U
,
p
));
tUEqn
.
clear
();
surfaceScalarField
phiHbyA
(
"phiHbyA"
,
fvc
::
interpolate
(
rho
)
*
fvc
::
flux
(
HbyA
)
);
MRF
.
makeRelative
(
fvc
::
interpolate
(
rho
),
phiHbyA
);
// Update the pressure BCs to ensure flux consistency
constrainPressure
(
p
,
rho
,
U
,
phiHbyA
,
rhorAUf
,
MRF
);
while
(
simple
.
correctNonOrthogonal
())
{
fvScalarMatrix
pEqn
(
fvc
::
div
(
phiHbyA
)
-
fvm
::
laplacian
(
rhorAUf
,
p
)
==
parcels
.
Srho
()
+
fvOptions
(
psi
,
p
,
rho
.
name
())
);
pEqn
.
solve
();
if
(
simple
.
finalNonOrthogonalIter
())
{
phi
=
phiHbyA
+
pEqn
.
flux
();
}
}
p
.
relax
();
// Second part of thermodynamic density update
thermo
.
rho
()
+=
psi
*
p
;
#include
"compressibleContinuityErrs.H"
U
=
HbyA
-
rAU
*
fvc
::
grad
(
p
);
U
.
correctBoundaryConditions
();
fvOptions
.
correct
(
U
);
rho
=
thermo
.
rho
();
rho
=
max
(
rho
,
rhoMin
);
rho
=
min
(
rho
,
rhoMax
);
rho
.
relax
();
Info
<<
"p min/max = "
<<
min
(
p
).
value
()
<<
", "
<<
max
(
p
).
value
()
<<
endl
;
}
applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C
View file @
b9940cbb
...
...
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2015 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2015
-2016
OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
...
...
@@ -24,13 +24,12 @@ License
Application
simpleReactingParcelFoam
Description
Steady state SIMPLE solver for laminar or turbulent flow with coal
Lagrangian parcels.
Group
grpLagrangianSolvers
Note:
- including run-time selectable finite volume options,e.g. sources,
constraints
Description
Steady state solver for compressible, turbulent flow with coal particle
clouds and optional sources/
constraints
.
\*---------------------------------------------------------------------------*/
...
...
@@ -49,21 +48,19 @@ Description
int
main
(
int
argc
,
char
*
argv
[])
{
#include
"
setRootCase
.H"
#include
"
postProcess
.H"
#include
"setRootCase.H"
#include
"createTime.H"
#include
"createMesh.H"
#include
"readGravitationalAcceleration.H"
simpleControl
simple
(
mesh
);
#include
"createControl.H"
#include
"createFields.H"
#include
"createRadiationModel.H"
#include
"createClouds.H"
#include
"createMRF.H"
#include
"createFieldRefs.H"
#include
"createFvOptions.H"
#include
"initContinuityErrs.H"
turbulence
->
validate
();
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info
<<
"
\n
Starting time loop
\n
"
<<
endl
;
...
...
applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C
View file @
b9940cbb
...
...
@@ -32,6 +32,15 @@ License
#include
"turbulentTransportModel.H"
#include
"LESModel.H"
makeTurbulenceModelTypes
(
volScalarField
,
geometricOneField
,
incompressibleTurbulenceModel
,
PhaseCompressibleTurbulenceModel
,
immiscibleIncompressibleTwoPhaseMixture
);
makeBaseTurbulenceModel
(
volScalarField
,
...
...
applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C
View file @
b9940cbb
...
...
@@ -30,7 +30,7 @@ Description
The momentum and other fluid properties are of the "mixture" and a single
momentum equation is solved.
It includes MRF and MPPIC cloud
s
It includes MRF and
an
MPPIC cloud
.
Turbulence modelling is generic, i.e. laminar, RAS or LES may be selected.
...
...
@@ -53,26 +53,22 @@ Description
int
main
(
int
argc
,
char
*
argv
[])
{
#include
"postProcess.H"
#include
"setRootCase.H"
#include
"createTime.H"
#include
"createMesh.H"
pimpleControl
pimple
(
mesh
);
#include
"createTimeControls.H"
#include
"createControl.H"
#include
"initContinuityErrs.H"
#include
"createFields.H"
#include
"createMRF.H"
#include
"createFvOptions.H"
#include
"createTimeControls.H"
#include
"correctPhi.H"
turbulence
->
validate
();
#include
"readTimeControls.H"
#include
"CourantNo.H"
#include
"setInitialDeltaT.H"
turbulence
->
validate
();
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info
<<
"
\n
Starting time loop
\n
"
<<
endl
;
...
...
@@ -126,7 +122,7 @@ int main(int argc, char *argv[])
zeroGradientFvPatchVectorField
::
typeName
);
cloudVolSUSu
.
internal
Field
()
=
-
cloudSU
.
source
()
/
mesh
.
V
();
cloudVolSUSu
.
primitive
Field
Ref
()
=
-
cloudSU
.
source
()
/
mesh
.
V
();
cloudVolSUSu
.
correctBoundaryConditions
();
cloudSU
.
source
()
=
vector
::
zero
;
...
...
applications/solvers/multiphase/MPPICInterFoam/Make/options
View file @
b9940cbb
interFoamPath = $(FOAM_SOLVERS)/multiphase/interFoam
EXE_INC = \
-I. \
-I./IncompressibleTwoPhaseMixtureTurbulenceModels/lnInclude \
-I$(interFoamPath) \
-I$(LIB_SRC)/finiteVolume/lnInclude \
...
...
applications/solvers/multiphase/MPPICInterFoam/alphaEqn.H
View file @
b9940cbb
...
...
@@ -17,9 +17,10 @@
// Do not compress interface at non-coupled boundary faces
// (inlets, outlets etc.)
surfaceScalarField
::
Boundary
&
phicBf
=
phic
.
boundaryFieldRef
();
forAll
(
phic
.
boundaryField
(),
patchi
)
{
fvsPatchScalarField
&
phicp
=
phic
.
boundaryField
()
[
patchi
];
fvsPatchScalarField
&
phicp
=
phic
Bf
[
patchi
];
if
(
!
phicp
.
coupled
())
{
...
...
applications/solvers/multiphase/MPPICInterFoam/createFields.H
View file @
b9940cbb
...
...
@@ -217,3 +217,5 @@
mixture
)
);
#include
"createMRF.H"
applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C
View file @
b9940cbb
...
...
@@ -42,7 +42,7 @@ namespace Foam
void
Foam
::
twoPhaseMixtureEThermo
::
eBoundaryCorrection
(
volScalarField
&
h
)
{
volScalarField
::
Geometric
Boundary
Field
&
hbf
=
h
.
boundaryField
();
volScalarField
::
Boundary
&
hbf
=
h
.
boundaryField
Ref
();
forAll
(
hbf
,
patchi
)
{
...
...
@@ -59,6 +59,7 @@ void Foam::twoPhaseMixtureEThermo::eBoundaryCorrection(volScalarField& h)
}
}
void
Foam
::
twoPhaseMixtureEThermo
::
init
()
{
const
volScalarField
alpha1Rho1
(
alpha1
()
*
rho1
());
...
...
@@ -74,6 +75,7 @@ void Foam::twoPhaseMixtureEThermo::init()
e_
.
correctBoundaryConditions
();
}
// * * * * * * * * * * * * * * * * Constructor * * * * * * * * * * * * * * * //
Foam
::
twoPhaseMixtureEThermo
::
twoPhaseMixtureEThermo
...
...
@@ -117,11 +119,13 @@ Foam::twoPhaseMixtureEThermo::twoPhaseMixtureEThermo
init
();
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam
::
twoPhaseMixtureEThermo
::~
twoPhaseMixtureEThermo
()
{}