Compare commits

..

1 Commits

Author SHA1 Message Date
18dc3426ce WIP: code ideas for load/unload functions in dlLibraryTable 2019-12-16 16:30:05 +01:00
11029 changed files with 413726 additions and 157066 deletions

10
.gitmodules vendored
View File

@ -4,13 +4,9 @@
[submodule "avalanche"] [submodule "avalanche"]
path = modules/avalanche path = modules/avalanche
url = https://develop.openfoam.com/Community/avalanche.git url = https://develop.openfoam.com/Community/avalanche.git
[submodule "catalyst"]
path = modules/catalyst
url = https://develop.openfoam.com/Community/catalyst.git
[submodule "adios"] [submodule "adios"]
path = modules/adios path = modules/adios
url = https://develop.openfoam.com/Community/adiosfoam.git url = https://develop.openfoam.com/Community/adiosfoam.git
[submodule "OpenQBMM"]
path = modules/OpenQBMM
url = https://github.com/OpenQBMM/OpenQBMM.git
branch = openfoam.com
[submodule "visualization"]
path = modules/visualization
url = https://develop.openfoam.com/modules/visualization.git

View File

@ -1,43 +1,38 @@
#!/bin/sh #!/bin/sh
# Run from OPENFOAM top-level directory only # Run from OPENFOAM top-level directory only
cd "${0%/*}" || exit cd "${0%/*}" || exit
wmake -check-dir "$WM_PROJECT_DIR" 2>/dev/null || { wmakeCheckPwd "$WM_PROJECT_DIR" 2>/dev/null || {
echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR" echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR"
echo " Check your OpenFOAM environment and installation" echo " Check your OpenFOAM environment and installation"
exit 1 exit 1
} }
if [ -f "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments ] [ -d "$WM_PROJECT_DIR" -a -f "$WM_PROJECT_DIR/etc/bashrc" ] || {
then . "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments || \
echo "Argument parse error";
else
echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect" echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect"
echo " Check your OpenFOAM environment and installation" echo " Check your OpenFOAM environment and installation"
exit 1 exit 1
fi }
. "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Preamble. Report compiler version
case "$WM_COMPILER" in
Gcc*) gcc --version 2>/dev/null | sed -ne '1p' ;;
Clang*) clang --version 2>/dev/null | sed -ne '1p' ;;
esac
# Preamble. Report tools or at least the mpirun location # Preamble. Report tools or at least the mpirun location
if [ -f "$WM_PROJECT_DIR"/wmake/scripts/list_tools ] if [ -f "$WM_PROJECT_DIR"/wmake/scripts/list_tools ]
then . "$WM_PROJECT_DIR"/wmake/scripts/list_tools then . "$WM_PROJECT_DIR"/wmake/scripts/list_tools ]
else else
echo "mpirun=$(command -v mpirun || true)" echo "mpirun=$(command -v mpirun || true)"
fi fi
echo
# Report compiler information
compiler="$(wmake -show-path-cxx 2>/dev/null || true)"
if [ -x "$compiler" ]
then
echo "compiler=$compiler"
"$compiler" --version 2>/dev/null | sed -ne '1p'
else
echo "compiler=unknown"
fi
echo echo
echo "========================================" echo "========================================"
date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown" date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
echo "Starting compile ${WM_PROJECT_DIR##*/} ${0##*/}" echo "Starting compile ${WM_PROJECT_DIR##*/} ${0##*/}"
echo " $WM_COMPILER ${WM_COMPILER_TYPE:-system} compiler" echo " $WM_COMPILER $WM_COMPILER_TYPE compiler"
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}" echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
echo "========================================" echo "========================================"
echo echo
@ -48,18 +43,9 @@ echo
# Compile ThirdParty libraries and applications # Compile ThirdParty libraries and applications
if [ -d "$WM_THIRD_PARTY_DIR" ] if [ -d "$WM_THIRD_PARTY_DIR" ]
then then
if [ -e "$WM_THIRD_PARTY_DIR"/Allwmake.override ] "$WM_THIRD_PARTY_DIR/Allwmake"
then
if [ -x "$WM_THIRD_PARTY_DIR"/Allwmake.override ]
then "$WM_THIRD_PARTY_DIR"/Allwmake.override
fi
elif [ -x "$WM_THIRD_PARTY_DIR"/Allwmake ]
then "$WM_THIRD_PARTY_DIR"/Allwmake
else
echo "Skip ThirdParty (no Allwmake* files)"
fi
else else
echo "Skip ThirdParty (no directory)" echo "No ThirdParty directory found - skipping"
fi fi
echo "========================================" echo "========================================"
@ -77,19 +63,14 @@ if [ -d "$WM_PROJECT_DIR/modules" ]
then then
echo "========================================" echo "========================================"
echo "Compile OpenFOAM modules" echo "Compile OpenFOAM modules"
echo " ignoring possible compilation errors"
echo " make certain to check the output file"
echo echo
set +e
export WM_CONTINUE_ON_ERROR=true
(cd "$WM_PROJECT_DIR/modules" 2>/dev/null && wmake -all) (cd "$WM_PROJECT_DIR/modules" 2>/dev/null && wmake -all)
fi fi
# Count files in given directory. Ignore "Test-*" binaries. # Count files in given directory. Ignore "Test-*" binaries.
_foamCountDirEntries() _foamCountDirEntries()
{ {
(cd "$1" 2>/dev/null && find . -mindepth 1 -maxdepth 1 -type f 2>/dev/null) |\ (cd "$1" 2>/dev/null && find -mindepth 1 -maxdepth 1 -type f 2>/dev/null) |\
sed -e '\@/Test-@d' | wc -l sed -e '\@/Test-@d' | wc -l
} }
@ -98,13 +79,13 @@ echo
date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown" date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
echo "========================================" echo "========================================"
echo " ${WM_PROJECT_DIR##*/}" echo " ${WM_PROJECT_DIR##*/}"
echo " $WM_COMPILER ${WM_COMPILER_TYPE:-system} compiler" echo " $WM_COMPILER $WM_COMPILER_TYPE compiler"
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}" echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
echo echo
echo " api = $(etc/openfoam -show-api 2>/dev/null)" echo " api = $(foamEtcFile -show-api 2>/dev/null)"
echo " patch = $(etc/openfoam -show-patch 2>/dev/null)" echo " patch = $(foamEtcFile -show-patch 2>/dev/null)"
echo " bin = $(_foamCountDirEntries "$FOAM_APPBIN") entries" echo " bin = $(_foamCountDirEntries $FOAM_APPBIN) entries"
echo " lib = $(_foamCountDirEntries "$FOAM_LIBBIN") entries" echo " lib = $(_foamCountDirEntries $FOAM_LIBBIN) entries"
echo echo
echo "========================================" echo "========================================"

View File

@ -5,6 +5,5 @@ build-info
time-stamp time-stamp
# Do not track any manifest files # Do not track any manifest files
*[Mm]anifest.txt Manifest.txt
manifest.txt
####

View File

@ -1,60 +1,59 @@
# META-INFO # META-INFO
Meta-information is generally for OpenFOAM internal use only. Meta-information is for OpenFOAM internal use only.
Do not rely on any files or any file contents in this directory,
or even the existence of this directory.
The format, content and meaning may be changed at anytime without The format, content and meaning may be changed at anytime without
notice. If any of these are changed, these are some of places that notice.
will need to be updated accordingly:
- bin/foamEtcFile The information is provided here for internal documentation purposes.
- bin/tools/foamConfigurePaths
- bin/tools/foamPackRelease
- etc/openfoam
- wmake/scripts/wmake-build-info
## api-info ## api-info
This file and its contents are to be tracked by git. This file and its contents are to be tracked by git.
- File content (api) generated by `wmake -build-info` from the - File content (api) generated by wmakeBuildInfo from OPENFOAM define
`OPENFOAM` define in `wmake/rules/General/general` in `wmake/rules/General/general`
- File content (patch) is manually generated content. - File content (patch) is manually generated content.
## build-info ## build-info
This file is ***never*** to be tracked by git, but may be present in This file is *never* to be tracked by git, but may be present in shipped
shipped source archives. source archives.
- File content (branch, build) generated by `wmake -build-info` from - File content (branch, build) generated by wmakeBuildInfo from git
git information and cached from previous wmake (api) information and cached from previous wmake (api)
## Content types ## Content types
### api ### api
Format: `date +%y%m`
- 4-digit year-month (YYMM) integer corresponding to the major - 4-digit year-month (YYMM) integer corresponding to the major
release or in unusual cases an intermediate release. release or in unusual cases an intermediate release.
Example, `1712` for the Dec-2017 release.
- Format is year-month, as per `date +%y%m`.
Eg, `1712` for the Dec-2017 release.
### patch ### patch
Format: `date +%y%m%d`
- 6-digit year-month-day (YYMMDD) integer corresponding to a patch-level - 6-digit year-month-day (YYMMDD) integer corresponding to a patch-level
for the given **released** API. for the given **released** API.
- The first release can have a patch value of `0` or `1` which
indicates that it is unpatched or just released. Alternatively - Format is year-month-day, as per `date +%y%m%d`.
it can have a patch value corresponding to the release date.
- The first release can have a patch value of `0` (unpatched = just
released) or a patch value corresponding to the release date.
The patch value is only meaningful together with the api value. The patch value is only meaningful together with the api value.
However, for *development* branches, the patch level should not be However, for *development* branches, the patch level should not be
ascribed too much meaning, but will often correspond to the last ascribed much meaning -- it can be `0` or have a value corresponding
merge with a *maintenance* (*eg*, `master`) branch. to the last merge with a *maintenance* (*eg*, `master`) branch.
## Flow of information ## Flow of information
@ -71,9 +70,9 @@ distributions to have a record of the same information.
| build | git | build-info | | build | git | build-info |
The command `wmake -build-info -check` is used to determine if The command `wmakeBuildInfo -check` is used to determine if
the saved information needs synchronization. The command the saved information needs synchronization. The command
`wmake -build-info -update` performs the synchronization. `wmakeBuildInfo -update` preforms the synchronitzation.
## Notes ## Notes
@ -83,4 +82,4 @@ contains more permanent information, whereas the `build-info` is more
transient in nature. transient in nature.
---- ----
2020-05-05 2019-01-23

View File

@ -1,2 +1,2 @@
api=2004 api=1912
patch=200506 patch=0

View File

@ -85,10 +85,10 @@ As can be seen in this example, the git build information is
supplemented by the date when the last change was authored, which can supplemented by the date when the last change was authored, which can
be helpful when the repository contains local changes. If you simply be helpful when the repository contains local changes. If you simply
wish to know the current API and patch levels directly, the wish to know the current API and patch levels directly, the
`wmake -build-info` provides the relevant information even `wmakeBuildInfo` script provides the relevant information even
when OpenFOAM has not yet been compiled: when OpenFOAM has not yet been compiled:
``` ```
$ wmake -build-info $ wmakeBuildInfo
make make
api = 1812 api = 1812
patch = 190531 patch = 190531
@ -207,4 +207,4 @@ ThirdParty directory will contain either an `Allwmake` file or a
- [Community](http://www.openfoam.com/community/), [Governance](http://www.openfoam.com/governance/) - [Community](http://www.openfoam.com/community/), [Governance](http://www.openfoam.com/governance/)
- [Contacting OpenCFD](http://www.openfoam.com/contact/) - [Contacting OpenCFD](http://www.openfoam.com/contact/)
Copyright 2016-2020 OpenCFD Ltd Copyright 2016-2019 OpenCFD Ltd

View File

@ -1,26 +1,22 @@
#!/bin/sh #!/bin/sh
# Run from OPENFOAM applications/ directory only # Run from OPENFOAM applications/ directory only
cd "${0%/*}" || exit cd "${0%/*}" || exit
wmake -check-dir "$WM_PROJECT_DIR/applications" 2>/dev/null || { wmakeCheckPwd "$WM_PROJECT_DIR/applications" 2>/dev/null || {
echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR/applications" echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR/applications"
echo " Check your OpenFOAM environment and installation" echo " Check your OpenFOAM environment and installation"
exit 1 exit 1
} }
if [ -f "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments ] [ -d "$WM_PROJECT_DIR" -a -f "$WM_PROJECT_DIR/etc/bashrc" ] || {
then . "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments || \
echo "Argument parse error";
else
echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect" echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect"
echo " Check your OpenFOAM environment and installation" echo " Check your OpenFOAM environment and installation"
exit 1 exit 1
fi }
. "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
wmake -all $targetType solvers wmake -all $targetType solvers
wmake -all $targetType utilities wmake -all $targetType utilities
# Optional
## wmake -all $targetType tools
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -5,5 +5,5 @@ const dictionary& potentialFlow
const int nNonOrthCorr const int nNonOrthCorr
( (
potentialFlow.getOrDefault<int>("nNonOrthogonalCorrectors", 0) potentialFlow.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0)
); );

View File

@ -40,7 +40,7 @@ if (args.found("initialiseUBCs"))
// converting fixed-value BCs to zero-gradient and vice versa. // converting fixed-value BCs to zero-gradient and vice versa.
// Allow override from command-line -pName option // Allow override from command-line -pName option
const word pName = args.getOrDefault<word>("pName", "p"); const word pName = args.get<word>("pName", "p");
// Infer the pressure BCs from the velocity // Infer the pressure BCs from the velocity
wordList pBCTypes wordList pBCTypes

View File

@ -5,5 +5,5 @@ const dictionary& potentialFlow
const int nNonOrthCorr const int nNonOrthCorr
( (
potentialFlow.getOrDefault<int>("nNonOrthogonalCorrectors", 0) potentialFlow.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0)
); );

View File

@ -40,7 +40,7 @@ if (args.found("initialiseUBCs"))
// converting fixed-value BCs to zero-gradient and vice versa. // converting fixed-value BCs to zero-gradient and vice versa.
// Allow override from command-line -pName option // Allow override from command-line -pName option
const word pName = args.getOrDefault<word>("pName", "p"); const word pName = args.get<word>("pName", "p");
// Infer the pressure BCs from the velocity // Infer the pressure BCs from the velocity
wordList pBCTypes wordList pBCTypes

View File

@ -35,7 +35,7 @@ Description
Combusting RANS code using the b-Xi two-equation model. Combusting RANS code using the b-Xi two-equation model.
Xi may be obtained by either the solution of the Xi transport Xi may be obtained by either the solution of the Xi transport
equation or from an algebraic expression. Both approaches are equation or from an algebraic exression. Both approaches are
based on Gulder's flame speed correlation which has been shown based on Gulder's flame speed correlation which has been shown
to be appropriate by comparison with the results from the to be appropriate by comparison with the results from the
spectral model. spectral model.
@ -66,7 +66,7 @@ Description
CR | Drag tensor (1/m) CR | Drag tensor (1/m)
CT | Turbulence generation parameter (1/m) CT | Turbulence generation parameter (1/m)
Nv | Number of obstacles in cell per unit volume (m^-2) Nv | Number of obstacles in cell per unit volume (m^-2)
nsv | Tensor whose diagonal indicates the number to subtract from nsv | Tensor whose diagonal indicates the number to substract from
| Nv to get the number of obstacles crossing the flow in each | Nv to get the number of obstacles crossing the flow in each
| direction. | direction.
\endplaintable \endplaintable

View File

@ -32,7 +32,7 @@ Description
Combusting RANS code using the b-Xi two-equation model. Combusting RANS code using the b-Xi two-equation model.
Xi may be obtained by either the solution of the Xi transport Xi may be obtained by either the solution of the Xi transport
equation or from an algebraic expression. Both approaches are equation or from an algebraic exression. Both approaches are
based on Gulder's flame speed correlation which has been shown based on Gulder's flame speed correlation which has been shown
to be appropriate by comparison with the results from the to be appropriate by comparison with the results from the
spectral model. spectral model.

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2019-2020 OpenCFD Ltd. Copyright (C) 2019 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -72,7 +72,7 @@ PDRkEpsilon::PDRkEpsilon
C4_ C4_
( (
dimensioned<scalar>::getOrAddToDict dimensioned<scalar>::lookupOrAddToDict
( (
"C4", "C4",
coeffDict_, coeffDict_,

View File

@ -31,7 +31,7 @@ Description
corresponding to PDR basic drag model (\link basic.H \endlink) corresponding to PDR basic drag model (\link basic.H \endlink)
The default model coefficients correspond to the following: The default model coefficients correspond to the following:
\verbatim @verbatim
PDRkEpsilonCoeffs PDRkEpsilonCoeffs
{ {
Cmu 0.09; Cmu 0.09;
@ -43,7 +43,7 @@ Description
sigmaEps 1.3; sigmaEps 1.3;
Prt 1.0; // only for compressible Prt 1.0; // only for compressible
} }
\endverbatim @endverbatim
The turbulence source term \f$ G_{R} \f$ appears in the The turbulence source term \f$ G_{R} \f$ appears in the
\f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to \f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to

View File

@ -29,7 +29,7 @@ Class
Description Description
Simple SCOPEBlendXiEq model for XiEq based on SCOPEXiEqs correlation Simple SCOPEBlendXiEq model for XiEq based on SCOPEXiEqs correlation
with a linear correction function to give a plausible profile for XiEq. with a linear correction function to give a plausible profile for XiEq.
See \link SCOPELaminarFlameSpeed.H \endlink for details on the SCOPE See @link SCOPELaminarFlameSpeed.H @endlink for details on the SCOPE
laminar flame speed model. laminar flame speed model.
SourceFiles SourceFiles

View File

@ -29,7 +29,7 @@ Class
Description Description
This is the equilibrium level of the flame wrinkling generated by This is the equilibrium level of the flame wrinkling generated by
instability. It is a constant (default 2.5). It is used in instability. It is a constant (default 2.5). It is used in
\link XiModel.H \endlink. @link XiModel.H @endlink.
SourceFiles SourceFiles
instability.C instability.C

View File

@ -28,7 +28,7 @@ Global
Description Description
Reset the timestep to maintain a constant maximum courant Number. Reset the timestep to maintain a constant maximum courant Number.
Reduction of time-step is immediate but increase is damped to avoid Reduction of time-step is imediate but increase is damped to avoid
unstable oscillations. unstable oscillations.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -36,7 +36,7 @@ Description
Combusting RANS code using the b-Xi two-equation model. Combusting RANS code using the b-Xi two-equation model.
Xi may be obtained by either the solution of the Xi transport Xi may be obtained by either the solution of the Xi transport
equation or from an algebraic expression. Both approaches are equation or from an algebraic exression. Both approaches are
based on Gulder's flame speed correlation which has been shown based on Gulder's flame speed correlation which has been shown
to be appropriate by comparison with the results from the to be appropriate by comparison with the results from the
spectral model. spectral model.

View File

@ -2,10 +2,10 @@
bool correctPhi bool correctPhi
( (
pimple.dict().getOrDefault("correctPhi", true) pimple.dict().lookupOrDefault("correctPhi", true)
); );
bool checkMeshCourantNo bool checkMeshCourantNo
( (
pimple.dict().getOrDefault("checkMeshCourantNo", false) pimple.dict().lookupOrDefault("checkMeshCourantNo", false)
); );

View File

@ -1,6 +1,6 @@
#include "readTimeControls.H" #include "readTimeControls.H"
correctPhi = pimple.dict().getOrDefault("correctPhi", true); correctPhi = pimple.dict().lookupOrDefault("correctPhi", true);
checkMeshCourantNo = checkMeshCourantNo =
pimple.dict().getOrDefault("checkMeshCourantNo", false); pimple.dict().lookupOrDefault("checkMeshCourantNo", false);

View File

@ -31,7 +31,7 @@ Description
Combusting RANS code using the b-Xi two-equation model. Combusting RANS code using the b-Xi two-equation model.
Xi may be obtained by either the solution of the Xi transport Xi may be obtained by either the solution of the Xi transport
equation or from an algebraic expression. Both approaches are equation or from an algebraic exression. Both approaches are
based on Gulder's flame speed correlation which has been shown based on Gulder's flame speed correlation which has been shown
to be appropriate by comparison with the results from the to be appropriate by comparison with the results from the
spectral model. spectral model.

View File

@ -35,7 +35,7 @@ Description
Combusting RANS code using the b-Xi two-equation model. Combusting RANS code using the b-Xi two-equation model.
Xi may be obtained by either the solution of the Xi transport Xi may be obtained by either the solution of the Xi transport
equation or from an algebraic expression. Both approaches are equation or from an algebraic exression. Both approaches are
based on Gulder's flame speed correlation which has been shown based on Gulder's flame speed correlation which has been shown
to be appropriate by comparison with the results from the to be appropriate by comparison with the results from the
spectral model. spectral model.

View File

@ -37,7 +37,11 @@
{ {
forAll(Y, i) forAll(Y, i)
{ {
fractions.readIfPresent(Y[i].name(), X0[i]); const word& name = Y[i].name();
if (fractions.found(name))
{
X0[i] = fractions.get<scalar>(name);
}
} }
scalar mw = 0.0; scalar mw = 0.0;
@ -57,7 +61,11 @@
{ {
forAll(Y, i) forAll(Y, i)
{ {
fractions.readIfPresent(Y[i].name(), Y0[i]); const word& name = Y[i].name();
if (fractions.found(name))
{
Y0[i] = fractions.get<scalar>(name);
}
} }
scalar invW = 0.0; scalar invW = 0.0;

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I../XiFoam/XiEngineFoam \ -I../XiFoam/XiEngineFoam \
-I../XiFoam \ -I../XiFoam \
-I../../compressible/rhoPimpleFoam \ -I../../compressible/rhoPimpleFoam \

View File

@ -12,12 +12,12 @@ IOdictionary additionalControlsDict
bool solvePrimaryRegion bool solvePrimaryRegion
( (
additionalControlsDict.getOrDefault("solvePrimaryRegion", true) additionalControlsDict.lookupOrDefault("solvePrimaryRegion", true)
); );
bool solvePyrolysisRegion bool solvePyrolysisRegion
( (
additionalControlsDict.getOrDefault("solvePyrolysisRegion", true) additionalControlsDict.lookupOrDefault("solvePyrolysisRegion", true)
); );
scalar maxDi = pyrolysis.maxDiff(); scalar maxDi = pyrolysis.maxDiff();

View File

@ -1,4 +1,4 @@
if (pimple.dict().getOrDefault("hydrostaticInitialization", false)) if (pimple.dict().lookupOrDefault("hydrostaticInitialization", false))
{ {
volScalarField& ph_rgh = regIOobject::store volScalarField& ph_rgh = regIOobject::store
( (
@ -24,7 +24,7 @@ if (pimple.dict().getOrDefault("hydrostaticInitialization", false))
label nCorr label nCorr
( (
pimple.dict().getOrDefault<label>("nHydrostaticCorrectors", 5) pimple.dict().lookupOrDefault<label>("nHydrostaticCorrectors", 5)
); );
for (label i=0; i<nCorr; i++) for (label i=0; i<nCorr; i++)

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I$(FOAM_SOLVERS)/combustion/reactingFoam \ -I$(FOAM_SOLVERS)/combustion/reactingFoam \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I$(FOAM_SOLVERS)/combustion/reactingFoam \ -I$(FOAM_SOLVERS)/combustion/reactingFoam \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2013-2016 OpenFOAM Foundation Copyright (C) 2013-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -35,27 +34,27 @@ License
scalar maxCo(pimpleDict.get<scalar>("maxCo")); scalar maxCo(pimpleDict.get<scalar>("maxCo"));
// Maximum time scale // Maximum time scale
scalar maxDeltaT(pimpleDict.getOrDefault<scalar>("maxDeltaT", GREAT)); scalar maxDeltaT(pimpleDict.lookupOrDefault<scalar>("maxDeltaT", GREAT));
// Smoothing parameter (0-1) when smoothing iterations > 0 // Smoothing parameter (0-1) when smoothing iterations > 0
scalar rDeltaTSmoothingCoeff scalar rDeltaTSmoothingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1) pimpleDict.lookupOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1)
); );
// Damping coefficient (1-0) // Damping coefficient (1-0)
scalar rDeltaTDampingCoeff scalar rDeltaTDampingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTDampingCoeff", 1.0) pimpleDict.lookupOrDefault<scalar>("rDeltaTDampingCoeff", 1.0)
); );
// Maximum change in cell temperature per iteration // Maximum change in cell temperature per iteration
// (relative to previous value) // (relative to previous value)
scalar alphaTemp(pimpleDict.getOrDefault<scalar>("alphaTemp", 0.05)); scalar alphaTemp(pimpleDict.lookupOrDefault("alphaTemp", 0.05));
// Maximum change in cell concentration per iteration // Maximum change in cell concentration per iteration
// (relative to reference value) // (relative to reference value)
scalar alphaY(pimpleDict.getOrDefault<scalar>("alphaY", 1.0)); scalar alphaY(pimpleDict.lookupOrDefault("alphaY", 1.0));
Info<< "Time scales min/max:" << endl; Info<< "Time scales min/max:" << endl;

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -83,13 +82,13 @@ Foam::smoluchowskiJumpTFvPatchScalarField::smoluchowskiJumpTFvPatchScalarField
) )
: :
mixedFvPatchScalarField(p, iF), mixedFvPatchScalarField(p, iF),
UName_(dict.getOrDefault<word>("U", "U")), UName_(dict.lookupOrDefault<word>("U", "U")),
rhoName_(dict.getOrDefault<word>("rho", "rho")), rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
psiName_(dict.getOrDefault<word>("psi", "thermo:psi")), psiName_(dict.lookupOrDefault<word>("psi", "thermo:psi")),
muName_(dict.getOrDefault<word>("mu", "thermo:mu")), muName_(dict.lookupOrDefault<word>("mu", "thermo:mu")),
accommodationCoeff_(dict.get<scalar>("accommodationCoeff")), accommodationCoeff_(dict.get<scalar>("accommodationCoeff")),
Twall_("Twall", dict, p.size()), Twall_("Twall", dict, p.size()),
gamma_(dict.getOrDefault<scalar>("gamma", 1.4)) gamma_(dict.lookupOrDefault<scalar>("gamma", 1.4))
{ {
if if
( (

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -83,15 +82,15 @@ Foam::maxwellSlipUFvPatchVectorField::maxwellSlipUFvPatchVectorField
) )
: :
partialSlipFvPatchVectorField(p, iF), partialSlipFvPatchVectorField(p, iF),
TName_(dict.getOrDefault<word>("T", "T")), TName_(dict.lookupOrDefault<word>("T", "T")),
rhoName_(dict.getOrDefault<word>("rho", "rho")), rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
psiName_(dict.getOrDefault<word>("psi", "thermo:psi")), psiName_(dict.lookupOrDefault<word>("psi", "thermo:psi")),
muName_(dict.getOrDefault<word>("mu", "thermo:mu")), muName_(dict.lookupOrDefault<word>("mu", "thermo:mu")),
tauMCName_(dict.getOrDefault<word>("tauMC", "tauMC")), tauMCName_(dict.lookupOrDefault<word>("tauMC", "tauMC")),
accommodationCoeff_(dict.get<scalar>("accommodationCoeff")), accommodationCoeff_(dict.get<scalar>("accommodationCoeff")),
Uwall_("Uwall", dict, p.size()), Uwall_("Uwall", dict, p.size()),
thermalCreep_(dict.getOrDefault("thermalCreep", true)), thermalCreep_(dict.lookupOrDefault("thermalCreep", true)),
curvature_(dict.getOrDefault("curvature", true)) curvature_(dict.lookupOrDefault("curvature", true))
{ {
if if
( (

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2012 OpenFOAM Foundation Copyright (C) 2011-2012 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -67,8 +66,8 @@ Foam::fixedRhoFvPatchScalarField::fixedRhoFvPatchScalarField
) )
: :
fixedValueFvPatchScalarField(p, iF, dict), fixedValueFvPatchScalarField(p, iF, dict),
pName_(dict.getOrDefault<word>("p", "p")), pName_(dict.lookupOrDefault<word>("p", "p")),
psiName_(dict.getOrDefault<word>("psi", "thermo:psi")) psiName_(dict.lookupOrDefault<word>("psi", "thermo:psi"))
{} {}

View File

@ -3,7 +3,7 @@
scalar rDeltaTSmoothingCoeff scalar rDeltaTSmoothingCoeff
( (
runTime.controlDict().getOrDefault<scalar> runTime.controlDict().lookupOrDefault<scalar>
( (
"rDeltaTSmoothingCoeff", "rDeltaTSmoothingCoeff",
0.02 0.02

View File

@ -17,7 +17,7 @@
const dictionary& eosDict = thermoDict.subDict("equationOfState"); const dictionary& eosDict = thermoDict.subDict("equationOfState");
bool local = eosDict.getOrDefault("local", false); bool local = eosDict.lookupOrDefault("local", false);
// Evolve T as: // Evolve T as:
// //

View File

@ -41,7 +41,8 @@ Description
airframe noise, VKI LS 2013-03. airframe noise, VKI LS 2013-03.
\endverbatim \endverbatim
Contact: info@upstream-cfd.com
Contact: info@cfd-berlin.com
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -1,4 +1,4 @@
bool ddtCorr bool ddtCorr
( (
pimple.dict().getOrDefault("ddtCorr", true) pimple.dict().lookupOrDefault("ddtCorr", true)
); );

View File

@ -1,9 +1,9 @@
#include "readTimeControls.H" #include "readTimeControls.H"
correctPhi = pimple.dict().getOrDefault("correctPhi", false); correctPhi = pimple.dict().lookupOrDefault("correctPhi", false);
checkMeshCourantNo = checkMeshCourantNo =
pimple.dict().getOrDefault("checkMeshCourantNo", false); pimple.dict().lookupOrDefault("checkMeshCourantNo", false);
ddtCorr = pimple.dict().getOrDefault("ddtCorr", true); ddtCorr = pimple.dict().lookupOrDefault("ddtCorr", true);

View File

@ -5,22 +5,22 @@
scalar maxCo scalar maxCo
( (
pimpleDict.getOrDefault<scalar>("maxCo", 0.8) pimpleDict.lookupOrDefault<scalar>("maxCo", 0.8)
); );
scalar rDeltaTSmoothingCoeff scalar rDeltaTSmoothingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.02) pimpleDict.lookupOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.02)
); );
scalar rDeltaTDampingCoeff scalar rDeltaTDampingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTDampingCoeff", 1.0) pimpleDict.lookupOrDefault<scalar>("rDeltaTDampingCoeff", 1.0)
); );
scalar maxDeltaT scalar maxDeltaT
( (
pimpleDict.getOrDefault<scalar>("maxDeltaT", GREAT) pimpleDict.lookupOrDefault<scalar>("maxDeltaT", GREAT)
); );
volScalarField rDeltaT0("rDeltaT0", rDeltaT); volScalarField rDeltaT0("rDeltaT0", rDeltaT);

View File

@ -82,5 +82,5 @@ dimensionedScalar initialMass = fvc::domainIntegrate(rho);
bool adjustFringe bool adjustFringe
( (
simple.dict().getOrDefault("oversetAdjustPhi", false) simple.dict().lookupOrDefault("oversetAdjustPhi", false)
); );

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I.. \ -I.. \
-I$(LIB_SRC)/finiteVolume/cfdTools \ -I$(LIB_SRC)/finiteVolume/cfdTools \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \

View File

@ -1,3 +1,3 @@
const dictionary& Bpiso = mesh.solutionDict().subDict("BPISO"); const dictionary& Bpiso = mesh.solutionDict().subDict("BPISO");
const int nBcorr = Bpiso.getOrDefault<int>("nCorrectors", 1); const int nBcorr = Bpiso.lookupOrDefault<int>("nCorrectors", 1);

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I../buoyantBoussinesqSimpleFoam \ -I../buoyantBoussinesqSimpleFoam \
-I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \

View File

@ -1,9 +1,9 @@
#include "readTimeControls.H" #include "readTimeControls.H"
correctPhi = pimple.dict().getOrDefault("correctPhi", false); correctPhi = pimple.dict().lookupOrDefault("correctPhi", false);
checkMeshCourantNo = checkMeshCourantNo =
pimple.dict().getOrDefault("checkMeshCourantNo", false); pimple.dict().lookupOrDefault("checkMeshCourantNo", false);
ddtCorr = pimple.dict().getOrDefault("ddtCorr", true); ddtCorr = pimple.dict().lookupOrDefault("ddtCorr", true);

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I./fluid \ -I./fluid \
-I./solid \ -I./solid \
-I./porousFluid \ -I./porousFluid \

View File

@ -1,7 +1,8 @@
EXE_INC = \ EXE_INC = \
-I. \
-I.. \ -I.. \
-I./fluid \ -Ifluid \
-I./solid \ -Isolid \
-I../solid \ -I../solid \
-I$(LIB_SRC)/finiteVolume/cfdTools \ -I$(LIB_SRC)/finiteVolume/cfdTools \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \

View File

@ -1,7 +1,7 @@
const dictionary& simple = fluidRegions[i].solutionDict().subDict("SIMPLE"); const dictionary& simple = fluidRegions[i].solutionDict().subDict("SIMPLE");
const int nNonOrthCorr = const int nNonOrthCorr =
simple.getOrDefault<int>("nNonOrthogonalCorrectors", 0); simple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0);
const bool momentumPredictor = const bool momentumPredictor =
simple.getOrDefault("momentumPredictor", true); simple.lookupOrDefault("momentumPredictor", true);

View File

@ -1,4 +1,4 @@
const dictionary& simple = mesh.solutionDict().subDict("SIMPLE"); const dictionary& simple = mesh.solutionDict().subDict("SIMPLE");
const int nNonOrthCorr = const int nNonOrthCorr =
simple.getOrDefault<int>("nNonOrthogonalCorrectors", 0); simple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0);

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I.. \ -I.. \
-I$(FOAM_SOLVERS)/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam \ -I$(FOAM_SOLVERS)/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam \
-I$(LIB_SRC)/phaseSystemModels/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/lnInclude \ -I$(LIB_SRC)/phaseSystemModels/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/lnInclude \
@ -37,5 +38,4 @@ EXE_LIBS = \
-lregionModels \ -lregionModels \
-lsampling \ -lsampling \
-lreactingTwoPhaseSystem \ -lreactingTwoPhaseSystem \
-lreactingPhaseSystem

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2018-2020 OpenCFD Ltd Copyright (C) 2018 OpenCFD Ltd
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -225,13 +225,13 @@ turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField
) )
: :
mixedFvPatchScalarField(p, iF), mixedFvPatchScalarField(p, iF),
regionType_(regionTypeNames_.get("region", dict)), regionType_(regionTypeNames_.read(dict.lookup("region"))),
method_(KMethodTypeNames_.get("kappaMethod", dict)), method_(KMethodTypeNames_.get("kappaMethod", dict)),
kappaName_(dict.getOrDefault<word>("kappa", "none")), kappaName_(dict.lookupOrDefault<word>("kappa", "none")),
otherPhaseName_(dict.get<word>("otherPhase")), otherPhaseName_(dict.lookup("otherPhase")),
TnbrName_(dict.getOrDefault<word>("Tnbr", "T")), TnbrName_(dict.lookupOrDefault<word>("Tnbr", "T")),
qrNbrName_(dict.getOrDefault<word>("qrNbr", "none")), qrNbrName_(dict.lookupOrDefault<word>("qrNbr", "none")),
qrName_(dict.getOrDefault<word>("qr", "none")) qrName_(dict.lookupOrDefault<word>("qr", "none"))
{ {
if (!isA<mappedPatchBase>(this->patch().patch())) if (!isA<mappedPatchBase>(this->patch().patch()))
{ {
@ -495,8 +495,11 @@ void turbulentTemperatureTwoPhaseRadCoupledMixedFvPatchScalarField::write
os.writeEntryIfDifferent<word>("qrNbr", "none", qrNbrName_); os.writeEntryIfDifferent<word>("qrNbr", "none", qrNbrName_);
os.writeEntryIfDifferent<word>("qr", "none", qrName_); os.writeEntryIfDifferent<word>("qr", "none", qrName_);
os.writeEntry("region", regionTypeNames_[regionType_]); os.writeKeyword("region") << regionTypeNames_[regionType_]
os.writeEntry("otherPhase", otherPhaseName_); << token::END_STATEMENT << nl;
os.writeKeyword("otherPhase") << otherPhaseName_ << token::END_STATEMENT
<< nl;
} }

View File

@ -148,7 +148,7 @@ private:
//- Name of field on the neighbour region //- Name of field on the neighbour region
const word TnbrName_; const word TnbrName_;
//- Name of the radiative heat flux in the neighbour region //- Name of the radiative heat flux in the neighbour region
const word qrNbrName_; const word qrNbrName_;
//- Name of the radiative heat flux in local region //- Name of the radiative heat flux in local region

View File

@ -2,10 +2,10 @@
Switch faceMomentum Switch faceMomentum
( (
pimpleDict.getOrDefault<Switch>("faceMomentum", false) pimpleDict.lookupOrDefault<Switch>("faceMomentum", false)
); );
int nEnergyCorrectors int nEnergyCorrectors
( (
pimpleDict.getOrDefault<int>("nEnergyCorrectors", 1) pimpleDict.lookupOrDefault<int>("nEnergyCorrectors", 1)
); );

View File

@ -1,10 +1,10 @@
const dictionary& pimple = mesh.solutionDict().subDict("PIMPLE"); const dictionary& pimple = mesh.solutionDict().subDict("PIMPLE");
const int nCorr = const int nCorr =
pimple.getOrDefault<int>("nCorrectors", 1); pimple.lookupOrDefault<int>("nCorrectors", 1);
const int nNonOrthCorr = const int nNonOrthCorr =
pimple.getOrDefault<int>("nNonOrthogonalCorrectors", 0); pimple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0);
const bool momentumPredictor = const bool momentumPredictor =
pimple.getOrDefault("momentumPredictor", true); pimple.lookupOrDefault("momentumPredictor", true);

View File

@ -5,4 +5,4 @@
const dictionary& pimple = solutionDict.subDict("PIMPLE"); const dictionary& pimple = solutionDict.subDict("PIMPLE");
const int nOuterCorr = const int nOuterCorr =
pimple.getOrDefault<int>("nOuterCorrectors", 1); pimple.lookupOrDefault<int>("nOuterCorrectors", 1);

View File

@ -1,4 +1,4 @@
const dictionary& pimple = mesh.solutionDict().subDict("PIMPLE"); const dictionary& pimple = mesh.solutionDict().subDict("PIMPLE");
int nNonOrthCorr = int nNonOrthCorr =
pimple.getOrDefault<int>("nNonOrthogonalCorrectors", 0); pimple.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0);

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +31,6 @@ Description
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
scalar maxDi = runTime.controlDict().getOrDefault<scalar>("maxDi", 10); scalar maxDi = runTime.controlDict().lookupOrDefault<scalar>("maxDi", 10.0);
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I.. \ -I.. \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \

View File

@ -2,25 +2,25 @@
bool correctPhi bool correctPhi
( (
pimple.dict().getOrDefault("correctPhi", false) pimple.dict().lookupOrDefault("correctPhi", false)
); );
bool checkMeshCourantNo bool checkMeshCourantNo
( (
pimple.dict().getOrDefault("checkMeshCourantNo", false) pimple.dict().lookupOrDefault("checkMeshCourantNo", false)
); );
bool massFluxInterpolation bool massFluxInterpolation
( (
pimple.dict().getOrDefault("massFluxInterpolation", false) pimple.dict().lookupOrDefault("massFluxInterpolation", false)
); );
bool adjustFringe bool adjustFringe
( (
pimple.dict().getOrDefault("oversetAdjustPhi", false) pimple.dict().lookupOrDefault("oversetAdjustPhi", false)
); );
bool ddtCorr bool ddtCorr
( (
pimple.dict().getOrDefault("ddtCorr", true) pimple.dict().lookupOrDefault("ddtCorr", true)
); );

View File

@ -1,10 +1,10 @@
#include "readTimeControls.H" #include "readTimeControls.H"
correctPhi = pimple.dict().getOrDefault("correctPhi", false); correctPhi = pimple.dict().lookupOrDefault("correctPhi", false);
checkMeshCourantNo = pimple.dict().getOrDefault("checkMeshCourantNo", false); checkMeshCourantNo = pimple.dict().lookupOrDefault("checkMeshCourantNo", false);
massFluxInterpolation = massFluxInterpolation =
pimple.dict().getOrDefault("massFluxInterpolation", false); pimple.dict().lookupOrDefault("massFluxInterpolation", false);
ddtCorr = pimple.dict().getOrDefault("ddtCorr", true); ddtCorr = pimple.dict().lookupOrDefault("ddtCorr", true);

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I$(FOAM_SOLVERS)/incompressible/pimpleFoam/overPimpleDyMFoam \ -I$(FOAM_SOLVERS)/incompressible/pimpleFoam/overPimpleDyMFoam \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \

View File

@ -22,9 +22,9 @@
bool adjustFringe bool adjustFringe
( (
simple.dict().getOrDefault("oversetAdjustPhi", false) simple.dict().lookupOrDefault("oversetAdjustPhi", false)
); );
bool massFluxInterpolation bool massFluxInterpolation
( (
simple.dict().getOrDefault("massFluxInterpolation", false) simple.dict().lookupOrDefault("massFluxInterpolation", false)
); );

View File

@ -5,7 +5,7 @@ int nUCorr = 0;
if (pZones.active()) if (pZones.active())
{ {
// nUCorrectors for pressureImplicitPorosity // nUCorrectors for pressureImplicitPorosity
nUCorr = simple.dict().getOrDefault<int>("nUCorrectors", 0); nUCorr = simple.dict().lookupOrDefault<int>("nUCorrectors", 0);
if (nUCorr > 0) if (nUCorr > 0)
{ {

View File

@ -11,7 +11,7 @@ word continuousPhaseName
mesh, mesh,
IOobject::MUST_READ IOobject::MUST_READ
) )
).get<word>("continuousPhase") ).lookup("continuousPhase")
); );
Info<< "Reading field U\n" << endl; Info<< "Reading field U\n" << endl;
@ -121,7 +121,7 @@ volScalarField alphac
const word kinematicCloudName const word kinematicCloudName
( (
args.getOrDefault<word>("cloud", "kinematicCloud") args.get<word>("cloud", "kinematicCloud")
); );
Info<< "Constructing kinematicCloud " << kinematicCloudName << endl; Info<< "Constructing kinematicCloud " << kinematicCloudName << endl;

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -35,23 +34,23 @@ License
scalar maxCo(pimpleDict.get<scalar>("maxCo")); scalar maxCo(pimpleDict.get<scalar>("maxCo"));
// Maximum time scale // Maximum time scale
scalar maxDeltaT(pimpleDict.getOrDefault<scalar>("maxDeltaT", GREAT)); scalar maxDeltaT(pimpleDict.lookupOrDefault<scalar>("maxDeltaT", GREAT));
// Smoothing parameter (0-1) when smoothing iterations > 0 // Smoothing parameter (0-1) when smoothing iterations > 0
scalar rDeltaTSmoothingCoeff scalar rDeltaTSmoothingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1) pimpleDict.lookupOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1)
); );
// Damping coefficient (1-0) // Damping coefficient (1-0)
scalar rDeltaTDampingCoeff scalar rDeltaTDampingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTDampingCoeff", 0.2) pimpleDict.lookupOrDefault<scalar>("rDeltaTDampingCoeff", 0.2)
); );
// Maximum change in cell temperature per iteration // Maximum change in cell temperature per iteration
// (relative to previous value) // (relative to previous value)
scalar alphaTemp(pimpleDict.getOrDefault("alphaTemp", 0.05)); scalar alphaTemp(pimpleDict.lookupOrDefault("alphaTemp", 0.05));
Info<< "Time scales min/max:" << endl; Info<< "Time scales min/max:" << endl;

View File

@ -59,7 +59,7 @@ volScalarField mu
const word kinematicCloudName const word kinematicCloudName
( (
args.getOrDefault<word>("cloud", "kinematicCloud") args.get<word>("cloud", "kinematicCloud")
); );
Info<< "Constructing kinematicCloud " << kinematicCloudName << endl; Info<< "Constructing kinematicCloud " << kinematicCloudName << endl;

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I../reactingParcelFoam \ -I../reactingParcelFoam \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I${LIB_SRC}/meshTools/lnInclude \ -I${LIB_SRC}/meshTools/lnInclude \

View File

@ -1,28 +0,0 @@
#include "createMesh.H"
IOdictionary filmDict
(
IOobject
(
"surfaceFilmProperties",
runTime.constant(),
runTime,
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
)
);
const word filmRegionName = filmDict.get<word>("region");
fvMesh filmMesh
(
IOobject
(
filmRegionName,
runTime.timeName(),
runTime,
IOobject::MUST_READ
)
);

View File

@ -1,5 +1,5 @@
bool solvePrimaryRegion bool solvePrimaryRegion
( (
pimple.dict().getOrDefault("solvePrimaryRegion", true) pimple.dict().lookupOrDefault("solvePrimaryRegion", true)
); );

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I.. \ -I.. \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I${LIB_SRC}/sampling/lnInclude \ -I${LIB_SRC}/sampling/lnInclude \

View File

@ -70,7 +70,6 @@ int main(int argc, char *argv[])
" and surface film modelling." " and surface film modelling."
); );
#define CREATE_MESH createMeshesPostProcess.H
#include "postProcess.H" #include "postProcess.H"
#include "addCheckCaseOptions.H" #include "addCheckCaseOptions.H"

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -35,23 +34,23 @@ License
scalar maxCo(pimpleDict.get<scalar>("maxCo")); scalar maxCo(pimpleDict.get<scalar>("maxCo"));
// Maximum time scale // Maximum time scale
scalar maxDeltaT(pimpleDict.getOrDefault<scalar>("maxDeltaT", GREAT)); scalar maxDeltaT(pimpleDict.lookupOrDefault<scalar>("maxDeltaT", GREAT));
// Smoothing parameter (0-1) when smoothing iterations > 0 // Smoothing parameter (0-1) when smoothing iterations > 0
scalar rDeltaTSmoothingCoeff scalar rDeltaTSmoothingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1) pimpleDict.lookupOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1)
); );
// Damping coefficient (1-0) // Damping coefficient (1-0)
scalar rDeltaTDampingCoeff scalar rDeltaTDampingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTDampingCoeff", 0.2) pimpleDict.lookupOrDefault<scalar>("rDeltaTDampingCoeff", 0.2)
); );
// Maximum change in cell temperature per iteration // Maximum change in cell temperature per iteration
// (relative to previous value) // (relative to previous value)
scalar alphaTemp(pimpleDict.getOrDefault("alphaTemp", 0.05)); scalar alphaTemp(pimpleDict.lookupOrDefault("alphaTemp", 0.05));
Info<< "Time scales min/max:" << endl; Info<< "Time scales min/max:" << endl;

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I${LIB_SRC}/meshTools/lnInclude \ -I${LIB_SRC}/meshTools/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I../reactingParcelFoam \ -I../reactingParcelFoam \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I${LIB_SRC}/meshTools/lnInclude \ -I${LIB_SRC}/meshTools/lnInclude \

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I../sprayDyMFoam \ -I../sprayDyMFoam \
-I.. \ -I.. \
-I../../reactingParcelFoam \ -I../../reactingParcelFoam \

View File

@ -51,7 +51,7 @@ autoPtr<compressible::turbulenceModel> turbulence
const word kinematicCloudName const word kinematicCloudName
( (
args.getOrDefault<word>("cloud", "kinematicCloud") args.get<word>("cloud", "kinematicCloud")
); );
Info<< "Constructing kinematicCloud " << kinematicCloudName << endl; Info<< "Constructing kinematicCloud " << kinematicCloudName << endl;

View File

@ -119,7 +119,7 @@ int main(int argc, char *argv[])
alphac = max(1.0 - kinematicCloud.theta(), alphacMin); alphac = max(1.0 - kinematicCloud.theta(), alphacMin);
alphac.correctBoundaryConditions(); alphac.correctBoundaryConditions();
Info<< "Continuous phase-1 volume fraction = " Info<< "Continous phase-1 volume fraction = "
<< alphac.weightedAverage(mesh.Vsc()).value() << alphac.weightedAverage(mesh.Vsc()).value()
<< " Min(alphac) = " << min(alphac).value() << " Min(alphac) = " << min(alphac).value()
<< " Max(alphac) = " << max(alphac).value() << " Max(alphac) = " << max(alphac).value()

View File

@ -1,6 +1,7 @@
interFoamPath = $(FOAM_SOLVERS)/multiphase/interFoam interFoamPath = $(FOAM_SOLVERS)/multiphase/interFoam
EXE_INC = \ EXE_INC = \
-I. \
-I../VoF \ -I../VoF \
-I./IncompressibleTwoPhaseMixtureTurbulenceModels/lnInclude \ -I./IncompressibleTwoPhaseMixtureTurbulenceModels/lnInclude \
-I$(interFoamPath) \ -I$(interFoamPath) \

View File

@ -5,52 +5,52 @@
scalar maxCo scalar maxCo
( (
pimpleDict.getOrDefault<scalar>("maxCo", 0.9) pimpleDict.lookupOrDefault<scalar>("maxCo", 0.9)
); );
scalar maxAlphaCo scalar maxAlphaCo
( (
pimpleDict.getOrDefault<scalar>("maxAlphaCo", 0.2) pimpleDict.lookupOrDefault<scalar>("maxAlphaCo", 0.2)
); );
scalar rDeltaTSmoothingCoeff scalar rDeltaTSmoothingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1) pimpleDict.lookupOrDefault<scalar>("rDeltaTSmoothingCoeff", 0.1)
); );
label nAlphaSpreadIter label nAlphaSpreadIter
( (
pimpleDict.getOrDefault<label>("nAlphaSpreadIter", 1) pimpleDict.lookupOrDefault<label>("nAlphaSpreadIter", 1)
); );
scalar alphaSpreadDiff scalar alphaSpreadDiff
( (
pimpleDict.getOrDefault<scalar>("alphaSpreadDiff", 0.2) pimpleDict.lookupOrDefault<scalar>("alphaSpreadDiff", 0.2)
); );
scalar alphaSpreadMax scalar alphaSpreadMax
( (
pimpleDict.getOrDefault<scalar>("alphaSpreadMax", 0.99) pimpleDict.lookupOrDefault<scalar>("alphaSpreadMax", 0.99)
); );
scalar alphaSpreadMin scalar alphaSpreadMin
( (
pimpleDict.getOrDefault<scalar>("alphaSpreadMin", 0.01) pimpleDict.lookupOrDefault<scalar>("alphaSpreadMin", 0.01)
); );
label nAlphaSweepIter label nAlphaSweepIter
( (
pimpleDict.getOrDefault<label>("nAlphaSweepIter", 5) pimpleDict.lookupOrDefault<label>("nAlphaSweepIter", 5)
); );
scalar rDeltaTDampingCoeff scalar rDeltaTDampingCoeff
( (
pimpleDict.getOrDefault<scalar>("rDeltaTDampingCoeff", 1.0) pimpleDict.lookupOrDefault<scalar>("rDeltaTDampingCoeff", 1.0)
); );
scalar maxDeltaT scalar maxDeltaT
( (
pimpleDict.getOrDefault<scalar>("maxDeltaT", GREAT) pimpleDict.lookupOrDefault<scalar>("maxDeltaT", GREAT)
); );
volScalarField rDeltaT0("rDeltaT0", rDeltaT); volScalarField rDeltaT0("rDeltaT0", rDeltaT);

View File

@ -1,4 +1,4 @@
#include "readDyMControls.H" #include "readDyMControls.H"
correctPhi = pimple.dict().getOrDefault("correctPhi", true); correctPhi = pimple.dict().lookupOrDefault("correctPhi", true);
maxAcousticCo = runTime.controlDict().get<scalar>("maxAcousticCo"); maxAcousticCo = runTime.controlDict().get<scalar>("maxAcousticCo");

View File

@ -28,7 +28,7 @@ Global
Description Description
Reset the timestep to maintain a constant maximum courant Number. Reset the timestep to maintain a constant maximum courant Number.
Reduction of time-step is immediate but increase is damped to avoid Reduction of time-step is imediate but increase is damped to avoid
unstable oscillations. unstable oscillations.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I../VoF \ -I../VoF \
-ItwoPhaseMixtureThermo \ -ItwoPhaseMixtureThermo \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2018 OpenFOAM Foundation Copyright (C) 2017-2018 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -58,9 +57,9 @@ Foam::compressibleInterPhaseTransportModel::compressibleInterPhaseTransportModel
) )
); );
const word simulationType word simulationType
( (
turbulenceProperties.get<word>("simulationType") turbulenceProperties.lookup("simulationType")
); );
if (simulationType == "twoPhaseTransport") if (simulationType == "twoPhaseTransport")

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I.. \ -I.. \
-I../../VoF \ -I../../VoF \
-I../twoPhaseMixtureThermo \ -I../twoPhaseMixtureThermo \

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I.. \ -I.. \
-I../../VoF \ -I../../VoF \
-I../twoPhaseMixtureThermo \ -I../twoPhaseMixtureThermo \

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenFOAM Foundation Copyright (C) 2017 OpenFOAM Foundation
Copyright (C) 2018-2020 OpenCFD Ltd. Copyright (C) 2018 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -55,56 +55,60 @@ VoFPatchTransfer::VoFPatchTransfer
transferModel(type(), film, dict), transferModel(type(), film, dict),
deltaFactorToVoF_ deltaFactorToVoF_
( (
coeffDict_.getOrDefault<scalar>("deltaFactorToVoF", 1.0) coeffDict_.lookupOrDefault<scalar>("deltaFactorToVoF", 1.0)
), ),
deltaFactorToFilm_ deltaFactorToFilm_
( (
coeffDict_.getOrDefault<scalar>("deltaFactorToFilm", 0.5) coeffDict_.lookupOrDefault<scalar>("deltaFactorToFilm", 0.5)
), ),
alphaToVoF_ alphaToVoF_
( (
coeffDict_.getOrDefault<scalar>("alphaToVoF", 0.5) coeffDict_.lookupOrDefault<scalar>("alphaToVoF", 0.5)
), ),
alphaToFilm_ alphaToFilm_
( (
coeffDict_.getOrDefault<scalar>("alphaToFilm", 0.1) coeffDict_.lookupOrDefault<scalar>("alphaToFilm", 0.1)
), ),
transferRateCoeff_ transferRateCoeff_
( (
coeffDict_.getOrDefault<scalar>("transferRateCoeff", 0.1) coeffDict_.lookupOrDefault<scalar>("transferRateCoeff", 0.1)
), )
patchIDs_(),
patchTransferredMasses_()
{ {
const polyBoundaryMesh& pbm = film.regionMesh().boundaryMesh(); const polyBoundaryMesh& pbm = film.regionMesh().boundaryMesh();
patchIDs_.setSize
const label nPatches
( (
pbm.size() - film.regionMesh().globalData().processorPatches().size() pbm.size() - film.regionMesh().globalData().processorPatches().size()
); );
wordReList patchNames; if (coeffDict_.found("patches"))
if (coeffDict_.readIfPresent("patches", patchNames))
{ {
patchIDs_ = pbm.patchSet(patchNames).sortedToc(); const wordReList patchNames(coeffDict_.lookup("patches"));
const labelHashSet patchSet = pbm.patchSet(patchNames);
Info<< " applying to " << patchIDs_.size() << " patches:" << nl; Info<< " applying to patches:" << nl;
for (const label patchi : patchIDs_) label pidi = 0;
for (const label patchi : patchSet)
{ {
patchIDs_[pidi++] = patchi;
Info<< " " << pbm[patchi].name() << endl; Info<< " " << pbm[patchi].name() << endl;
} }
patchIDs_.setSize(pidi);
patchTransferredMasses_.setSize(pidi, 0);
} }
else else
{ {
Info<< " applying to all patches" << endl; Info<< " applying to all patches" << endl;
patchIDs_ = identity(nPatches); forAll(patchIDs_, patchi)
{
patchIDs_[patchi] = patchi;
}
patchTransferredMasses_.setSize(patchIDs_.size(), 0);
} }
patchTransferredMasses_.resize(patchIDs_.size(), Zero); if (!patchIDs_.size())
if (patchIDs_.empty())
{ {
FatalErrorInFunction FatalErrorInFunction
<< "No patches selected" << "No patches selected"

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenFOAM Foundation Copyright (C) 2017 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -125,9 +124,9 @@ Foam::fv::VoFSolidificationMeltingSource::VoFSolidificationMeltingSource
cellSetOption(sourceName, modelType, dict, mesh), cellSetOption(sourceName, modelType, dict, mesh),
alphaSolidT_(Function1<scalar>::New("alphaSolidT", coeffs_)), alphaSolidT_(Function1<scalar>::New("alphaSolidT", coeffs_)),
L_("L", dimEnergy/dimMass, coeffs_), L_("L", dimEnergy/dimMass, coeffs_),
relax_(coeffs_.getOrDefault("relax", 0.9)), relax_(coeffs_.lookupOrDefault("relax", 0.9)),
Cu_(coeffs_.getOrDefault<scalar>("Cu", 100000)), Cu_(coeffs_.lookupOrDefault<scalar>("Cu", 100000)),
q_(coeffs_.getOrDefault<scalar>("q", 0.001)), q_(coeffs_.lookupOrDefault("q", 0.001)),
alphaSolid_ alphaSolid_
( (
IOobject IOobject

View File

@ -1,4 +1,5 @@
EXE_INC = \ EXE_INC = \
-I. \
-I../VoF \ -I../VoF \
-I../interFoam \ -I../interFoam \
-ImultiphaseMixtureThermo/lnInclude \ -ImultiphaseMixtureThermo/lnInclude \

View File

@ -28,7 +28,7 @@ Class
Description Description
Contact-angle boundary condition for multi-phase interface-capturing Contact-angle boundary condition for multi-phase interface-capturing
simulations. Used in conjunction with multiphaseMixture. simulations. Used in conjuction with multiphaseMixture.
SourceFiles SourceFiles
alphaContactAngleFvPatchScalarField.C alphaContactAngleFvPatchScalarField.C

View File

@ -4,12 +4,12 @@ label nAlphaCorr(alphaControls.get<label>("nAlphaCorr"));
label nAlphaSubCycles(alphaControls.get<label>("nAlphaSubCycles")); label nAlphaSubCycles(alphaControls.get<label>("nAlphaSubCycles"));
bool MULESCorr(alphaControls.getOrDefault("MULESCorr", false)); bool MULESCorr(alphaControls.lookupOrDefault("MULESCorr", false));
// Apply the compression correction from the previous iteration // Apply the compression correction from the previous iteration
// Improves efficiency for steady-simulations but can only be applied // Improves efficiency for steady-simulations but can only be applied
// once the alpha field is reasonably steady, i.e. fully developed // once the alpha field is reasonably steady, i.e. fully developed
bool alphaApplyPrevCorr bool alphaApplyPrevCorr
( (
alphaControls.getOrDefault("alphaApplyPrevCorr", false) alphaControls.lookupOrDefault("alphaApplyPrevCorr", false)
); );

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2014-2015 OpenFOAM Foundation Copyright (C) 2014-2015 OpenFOAM Foundation
Copyright (C) 2019-2020 OpenCFD Ltd. Copyright (C) 2019 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -89,9 +89,9 @@ incompressibleTwoPhaseInteractingMixture
( (
"d", "d",
dimLength, dimLength,
muModel_->viscosityProperties().getOrDefault("d", 0.0) muModel_->viscosityProperties().lookupOrDefault("d", 0.0)
), ),
alphaMax_(muModel_->viscosityProperties().getOrDefault("alphaMax", 1.0)), alphaMax_(muModel_->viscosityProperties().lookupOrDefault("alphaMax", 1.0)),
U_(U), U_(U),
phi_(phi), phi_(phi),
@ -132,11 +132,11 @@ bool Foam::incompressibleTwoPhaseInteractingMixture::read()
( (
"d", "d",
dimLength, dimLength,
muModel_->viscosityProperties().getOrDefault("d", 0) muModel_->viscosityProperties().lookupOrDefault("d", 0)
); );
alphaMax_ = alphaMax_ =
muModel_->viscosityProperties().getOrDefault muModel_->viscosityProperties().lookupOrDefault
( (
"alphaMax", "alphaMax",
1.0 1.0

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2014-2017 OpenFOAM Foundation Copyright (C) 2014-2017 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -69,7 +68,7 @@ Foam::mixtureViscosityModels::plastic::plastic
( (
IOobject::groupName IOobject::groupName
( (
viscosityProperties.getOrDefault<word>("alpha", "alpha"), viscosityProperties.lookupOrDefault<word>("alpha", "alpha"),
viscosityProperties.dictName() viscosityProperties.dictName()
) )
) )

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2014 OpenFOAM Foundation Copyright (C) 2014 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -65,7 +64,7 @@ Foam::mixtureViscosityModels::slurry::slurry
( (
IOobject::groupName IOobject::groupName
( (
viscosityProperties.getOrDefault<word>("alpha", "alpha"), viscosityProperties.lookupOrDefault<word>("alpha", "alpha"),
viscosityProperties.dictName() viscosityProperties.dictName()
) )
) )

View File

@ -2,7 +2,7 @@ fvVectorMatrix UEqn
( (
fvm::ddt(rho, U) fvm::ddt(rho, U)
+ fvm::div(rhoPhi, U) + fvm::div(rhoPhi, U)
//- fvm::Sp(fvc::ddt(rho) + fvc::div(rhoPhi), U) //- fvm::Sp(fvc::ddt(rho) + fvc::div(rhoPhi), U)
+ turbulence->divDevRhoReff(U) + turbulence->divDevRhoReff(U)
== ==
fvOptions(rho, U) fvOptions(rho, U)

View File

@ -6,7 +6,6 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2014 OpenFOAM Foundation Copyright (C) 2011-2014 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -39,12 +38,12 @@ scalar maxAlphaCo
scalar maxAlphaDdt scalar maxAlphaDdt
( (
runTime.controlDict().getOrDefault("maxAlphaDdt", GREAT) runTime.controlDict().lookupOrDefault("maxAlphaDdt", GREAT)
); );
scalar maxDi scalar maxDi
( (
runTime.controlDict().getOrDefault<scalar>("maxDi", GREAT) runTime.controlDict().lookupOrDefault<scalar>("maxDi", GREAT)
); );
scalar alphaCoNum = 0.0; scalar alphaCoNum = 0.0;

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -98,13 +98,13 @@ int main(int argc, char *argv[])
Info<< "Time = " << runTime.timeName() << nl << endl; Info<< "Time = " << runTime.timeName() << nl << endl;
fluid.correctMassSources(T);
fluid.solve(); fluid.solve();
rho = fluid.rho(); rho = fluid.rho();
// --- Pressure-velocity PIMPLE corrector loop // --- Pressure-velocity PIMPLE corrector loop
while (pimple.loop()) while (pimple.loop())
{ {
solve(fvm::ddt(rho) + fvc::div(rhoPhi));
#include "UEqn.H" #include "UEqn.H"
#include "YEqns.H" #include "YEqns.H"
#include "TEqn.H" #include "TEqn.H"

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017-2019 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -175,9 +175,11 @@ void Foam::radiation::laserDTRM::initialise()
const vector lPosition = focalLaserPosition_->value(t); const vector lPosition = focalLaserPosition_->value(t);
const vector lDir = normalised(laserDirection_->value(t)); const vector lDir = normalised(laserDirection_->value(t));
DebugInfo if (debug)
<< "Laser position : " << lPosition << nl {
<< "Laser direction : " << lDir << endl; Info << "Laser position : " << lPosition << endl;
Info << "Laser direction : " << lDir << endl;
}
// Find a vector on the area plane. Normal to laser direction // Find a vector on the area plane. Normal to laser direction
vector rArea = Zero; vector rArea = Zero;
@ -354,7 +356,7 @@ Foam::radiation::laserDTRM::laserDTRM(const volScalarField& T)
focalLaserRadius_(get<scalar>("focalLaserRadius")), focalLaserRadius_(get<scalar>("focalLaserRadius")),
qualityBeamLaser_ qualityBeamLaser_
( (
getOrDefault<scalar>("qualityBeamLaser", 0) lookupOrDefault<scalar>("qualityBeamLaser", 0.0)
), ),
sigma_(0), sigma_(0),
@ -364,7 +366,7 @@ Foam::radiation::laserDTRM::laserDTRM(const volScalarField& T)
reflectionSwitch_(false), reflectionSwitch_(false),
alphaCut_(getOrDefault<scalar>("alphaCut", 0.5)), alphaCut_(lookupOrDefault<scalar>("alphaCut", 0.5)),
a_ a_
( (
@ -451,7 +453,7 @@ Foam::radiation::laserDTRM::laserDTRM
focalLaserRadius_(get<scalar>("focalLaserRadius")), focalLaserRadius_(get<scalar>("focalLaserRadius")),
qualityBeamLaser_ qualityBeamLaser_
( (
getOrDefault<scalar>("qualityBeamLaser", 0) lookupOrDefault<scalar>("qualityBeamLaser", 0.0)
), ),
sigma_(0), sigma_(0),
@ -461,7 +463,7 @@ Foam::radiation::laserDTRM::laserDTRM
reflectionSwitch_(false), reflectionSwitch_(false),
alphaCut_(getOrDefault<scalar>("alphaCut", 0.5)), alphaCut_(lookupOrDefault<scalar>("alphaCut", 0.5)),
a_ a_
( (

View File

@ -143,7 +143,7 @@ public:
const volScalarField& Tf const volScalarField& Tf
) const; ) const;
//- Reference mass fraction for species based models //- Reference mass fraction for specied based models
virtual tmp<volScalarField> Yf virtual tmp<volScalarField> Yf
( (
const word& speciesName, const word& speciesName,

View File

@ -50,7 +50,6 @@ License
#include "kineticGasEvaporation.H" #include "kineticGasEvaporation.H"
#include "Lee.H" #include "Lee.H"
#include "interfaceHeatResistance.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -329,152 +328,6 @@ namespace Foam
); );
// interfaceHeatResistance model definitions
// From pure phase (rho const) to phase (rho const)
makeInterfacePureType
(
interfaceHeatResistance,
heRhoThermo,
rhoThermo,
pureMixture,
constRhoHThermoPhysics,
heRhoThermo,
rhoThermo,
pureMixture,
constRhoHThermoPhysics
);
// From pure phase (rho const) to phase (Boussinesq)
makeInterfacePureType
(
interfaceHeatResistance,
heRhoThermo,
rhoThermo,
pureMixture,
constRhoHThermoPhysics,
heRhoThermo,
rhoThermo,
pureMixture,
BoussinesqFluidEThermoPhysics
);
// From pure phase (solidThermo) to phase (Boussinesq)
makeInterfacePureType
(
interfaceHeatResistance,
heSolidThermo,
solidThermo,
pureMixture,
hConstSolidThermoPhysics,
heRhoThermo,
rhoThermo,
pureMixture,
BoussinesqFluidEThermoPhysics
);
// From pure phase (solidThermo) to phase (rho const)
makeInterfacePureType
(
interfaceHeatResistance,
heSolidThermo,
solidThermo,
pureMixture,
hConstSolidThermoPhysics,
heRhoThermo,
rhoThermo,
pureMixture,
constRhoHThermoPhysics
);
// From pure phase (all-poly solidThermo) to phase (ico-rho)
makeInterfacePureType
(
interfaceHeatResistance,
heSolidThermo,
solidThermo,
pureMixture,
hPolyTranspPolyIcoSolidThermoPhysics,
heRhoThermo,
rhoThermo,
pureMixture,
icoPoly8HThermoPhysics
);
// From pure phase (exp-Transp, hPower solidThermo) to phase (ico-rho)
makeInterfacePureType
(
interfaceHeatResistance,
heSolidThermo,
solidThermo,
pureMixture,
hPowerSolidThermoPhysics,
heRhoThermo,
rhoThermo,
pureMixture,
icoPoly8HThermoPhysics
);
// From pure phase (const rho) to multi phase (incomp ideal gas)
makeInterfaceContSpecieMixtureType
(
interfaceHeatResistance,
heRhoThermo,
rhoThermo,
pureMixture,
constRhoHThermoPhysics,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constIncompressibleGasHThermoPhysics
);
// From pure phase (Boussinesq) to phase (solidThermo)
makeInterfacePureType
(
interfaceHeatResistance,
heRhoThermo,
rhoThermo,
pureMixture,
BoussinesqFluidEThermoPhysics,
heSolidThermo,
solidThermo,
pureMixture,
hConstSolidThermoPhysics
);
// From pure phase (rho const) to phase (solidThermo)
makeInterfacePureType
(
interfaceHeatResistance,
heRhoThermo,
rhoThermo,
pureMixture,
constRhoHThermoPhysics,
heSolidThermo,
solidThermo,
pureMixture,
hConstSolidThermoPhysics
);
//From pure liquid phase (ico-rho) to pure phase (exp-Transp, hPower solidThermo)
makeInterfacePureType
(
interfaceHeatResistance,
heRhoThermo,
rhoThermo,
pureMixture,
icoPoly8HThermoPhysics,
heSolidThermo,
solidThermo,
pureMixture,
hPowerSolidThermoPhysics
);
} }

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -41,7 +41,7 @@ Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::Lee
InterfaceCompositionModel<Thermo, OtherThermo>(dict, pair), InterfaceCompositionModel<Thermo, OtherThermo>(dict, pair),
C_("C", inv(dimTime), dict), C_("C", inv(dimTime), dict),
Tactivate_("Tactivate", dimTemperature, dict), Tactivate_("Tactivate", dimTemperature, dict),
alphaMin_(dict.getOrDefault<scalar>("alphaMin", 0)) alphaMin_(dict.lookupOrDefault<scalar>("alphaMin", 0))
{} {}
@ -50,44 +50,6 @@ Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::Lee
template<class Thermo, class OtherThermo> template<class Thermo, class OtherThermo>
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::Kexp Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::Kexp
(
const volScalarField& refValue
)
{
{
const volScalarField from
(
min(max(this->pair().from(), scalar(0)), scalar(1))
);
const volScalarField coeff
(
C_*from*this->pair().from().rho()*pos(from - alphaMin_)
*(refValue - Tactivate_)
/Tactivate_
);
if (sign(C_.value()) > 0)
{
return
(
coeff*pos(refValue - Tactivate_)
);
}
else
{
return
(
coeff*pos(Tactivate_ - refValue)
);
}
}
}
template<class Thermo, class OtherThermo>
Foam::tmp<Foam::volScalarField>
Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::KSp
( (
label variable, label variable,
const volScalarField& refValue const volScalarField& refValue
@ -100,67 +62,30 @@ Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::KSp
min(max(this->pair().from(), scalar(0)), scalar(1)) min(max(this->pair().from(), scalar(0)), scalar(1))
); );
const volScalarField coeff
(
C_*from*this->pair().from().rho()*pos(from - alphaMin_)
/Tactivate_
);
if (sign(C_.value()) > 0) if (sign(C_.value()) > 0)
{ {
return return
( (
coeff*pos(refValue - Tactivate_) C_
* from
* this->pair().from().rho()
* (refValue.oldTime() - Tactivate_)
* pos(from - alphaMin_)
* pos(refValue.oldTime() - Tactivate_)/Tactivate_
); );
} }
else else
{ {
return return
( (
coeff*pos(Tactivate_ - refValue) -C_
* from
* this->pair().from().rho()
* pos(from - alphaMin_)
* (Tactivate_ - refValue.oldTime())
* pos(Tactivate_ - refValue.oldTime())/Tactivate_
); );
}
}
else
{
return tmp<volScalarField> ();
}
}
template<class Thermo, class OtherThermo>
Foam::tmp<Foam::volScalarField>
Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::KSu
(
label variable,
const volScalarField& refValue
)
{
if (this->modelVariable_ == variable)
{
volScalarField from
(
min(max(this->pair().from(), scalar(0)), scalar(1))
);
const volScalarField coeff
(
C_*from*this->pair().from().rho()*pos(from - alphaMin_)
);
if (sign(C_.value()) > 0)
{
return
(
-coeff*pos(refValue - Tactivate_)
);
}
else
{
return
(
coeff*pos(Tactivate_ - refValue)
);
} }
} }
else else
@ -178,12 +103,4 @@ Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::Tactivate() const
} }
template<class Thermo, class OtherThermo>
bool
Foam::meltingEvaporationModels::Lee<Thermo, OtherThermo>::includeDivU()
{
return true;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -27,7 +27,7 @@ Class
Foam::meltingEvaporationModels::Lee Foam::meltingEvaporationModels::Lee
Description Description
Mass transfer Lee model. Simple model driven by field value difference as: Mass tranfer Lee model. Simple model driven by field value difference as:
\f[ \f[
\dot{m} = C \rho \alpha (T - T_{activate})/T_{activate} \dot{m} = C \rho \alpha (T - T_{activate})/T_{activate}
@ -80,8 +80,6 @@ Usage
Property | Description | Required | Default value Property | Description | Required | Default value
Tactivate | Activation temperature | yes Tactivate | Activation temperature | yes
C | Model constant | yes C | Model constant | yes
includeVolChange | Volumen change | no | yes
species | Specie name on the other phase | no | none
\endtable \endtable
SourceFiles SourceFiles
@ -94,6 +92,7 @@ SourceFiles
#include "InterfaceCompositionModel.H" #include "InterfaceCompositionModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *// // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//
namespace Foam namespace Foam
@ -102,7 +101,7 @@ namespace meltingEvaporationModels
{ {
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class Lee Declaration Class Lee
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class Thermo, class OtherThermo> template<class Thermo, class OtherThermo>
@ -110,7 +109,7 @@ class Lee
: :
public InterfaceCompositionModel<Thermo, OtherThermo> public InterfaceCompositionModel<Thermo, OtherThermo>
{ {
// Private Data // Private data
//- Condensation coefficient [1/s] //- Condensation coefficient [1/s]
dimensionedScalar C_; dimensionedScalar C_;
@ -144,32 +143,15 @@ public:
// Member Functions // Member Functions
//- Explicit total mass transfer coefficient //- Explicit mass transfer coefficient
virtual tmp<volScalarField> Kexp virtual tmp<volScalarField> Kexp
( (
const volScalarField& field label variable,
);
//- Implicit mass transfer coefficient
virtual tmp<volScalarField> KSp
(
label modelVariable,
const volScalarField& field
);
//- Explicit mass transfer coefficient
virtual tmp<volScalarField> KSu
(
label modelVariable,
const volScalarField& field const volScalarField& field
); );
//- Return T transition between phases //- Return T transition between phases
virtual const dimensionedScalar& Tactivate() const; virtual const dimensionedScalar& Tactivate() const;
//- Add/subtract alpha*div(U) as a source term
//- for alpha, substituting div(U) = mDot(1/rho1 - 1/rho2)
virtual bool includeDivU();
}; };

Some files were not shown because too many files have changed in this diff Show More