15 Commits

Author SHA1 Message Date
1a0c91b3ba thermophysicalModels: Added laminar thermal diffusivity for energy, alphahe
Needed for laminar transport of he (h or e)

Resolves bug-report https://bugs.openfoam.org/view.php?id=3025
2018-08-05 11:33:58 +01:00
5c6e283b35 Pair: Include an unused return to avoid compiler warning 2018-08-03 12:07:14 +01:00
ab3187783a rigidBodyDynamics::compositeJoint: Reinstated setLastJoint joint assignment
Resolves bug-report https://bugs.openfoam.org/view.php?id=3016
2018-07-31 15:35:47 +01:00
f6aa1105a5 etc/caseDicts/postProcessing/visualization/surfaces: Corrected typo in comment
Resolves bug-report https://bugs.openfoam.org/view.php?id=3013
2018-07-31 14:14:50 +01:00
78b00911ad Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-6 2018-07-25 13:39:21 +01:00
ff66723ebb radiation: Removed the redundant "radiation off" switch from radiationProperties
To switch-off radiation set

    radiationModel  none;

in radiationProperties which instantiates "null" model that does not read any
data or coefficients or evaluate any fields.
2018-07-25 12:27:35 +01:00
50bf76a422 foamGet: check target directory exists and warn
only if controlDict does not exist.
2018-07-25 08:57:10 +01:00
82b3c0c1d5 cubicEqn, quadraticEqn: Correction to repeated roots
This resolves bug report https://bugs.openfoam.org/view.php?id=3015
2018-07-24 16:11:12 +01:00
63b0469a7b tutorials::coolingSphere/Allclean: avoid extended regular expressions in grep
Solves grep problem on Slackware 14.2

Patch contributed by Lorenzo Trevisan
Resolves patch request https://bugs.openfoam.org/view.php?id=3012
2018-07-24 11:54:17 +01:00
f2766db589 foamInfo: added -k | -keyword option, searches more broadly for a
case-insensitive keyword, rather than an specific model name. For
example, to search for all k-epsilon related models:

foamInfo -k kepsilon
2018-07-18 16:54:59 +01:00
e1944af08b Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-6 2018-07-18 16:53:43 +01:00
c7056f4734 foamGet: fixed when file only exists with extension,
e.g. sampleDict.cfg
2018-07-18 16:49:01 +01:00
8b86ccf55c foamGet: fixed when file only exists with extension,
e.g. sampleDict.cfg
2018-07-17 19:24:24 +01:00
66a81087c2 tutorials/incompressible/simpleFoam/turbineSiting: Corrected initialization 2018-07-13 15:26:55 +01:00
f845197ccf sampledSet/lineFace: Added error message 2018-07-12 11:02:01 +01:00
54 changed files with 395 additions and 283 deletions

View File

@ -48,7 +48,7 @@ Description
#include "fvCFD.H"
#include "singlePhaseTransportModel.H"
#include "turbulentTransportModel.H"
#include "radiationModel.H"
#include "noRadiation.H"
#include "fvOptions.H"
#include "pimpleControl.H"

View File

@ -48,7 +48,7 @@ Description
#include "fvCFD.H"
#include "singlePhaseTransportModel.H"
#include "turbulentTransportModel.H"
#include "radiationModel.H"
#include "noRadiation.H"
#include "fvOptions.H"
#include "simpleControl.H"

View File

@ -350,6 +350,25 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::kappa
}
Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::alphahe() const
{
return
alpha1()*thermo1_->alphahe()
+ alpha2()*thermo2_->alphahe();
}
Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::alphahe
(
const label patchi
) const
{
return
alpha1().boundaryField()[patchi]*thermo1_->alphahe(patchi)
+ alpha2().boundaryField()[patchi]*thermo2_->alphahe(patchi);
}
Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::kappaEff
(
const volScalarField& alphat

View File

@ -266,6 +266,12 @@ public:
const label patchi
) const;
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const;
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const;
//- Effective thermal diffusivity of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff
(

View File

@ -603,6 +603,45 @@ Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::kappa
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::alphahe() const
{
PtrDictionary<phaseModel>::const_iterator phasei = phases_.begin();
tmp<volScalarField> talphaEff(phasei()*phasei().thermo().alphahe());
for (++phasei; phasei != phases_.end(); ++phasei)
{
talphaEff.ref() += phasei()*phasei().thermo().alphahe();
}
return talphaEff;
}
Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::alphahe
(
const label patchi
) const
{
PtrDictionary<phaseModel>::const_iterator phasei = phases_.begin();
tmp<scalarField> talphaEff
(
phasei().boundaryField()[patchi]
*phasei().thermo().alphahe(patchi)
);
for (++phasei; phasei != phases_.end(); ++phasei)
{
talphaEff.ref() +=
phasei().boundaryField()[patchi]
*phasei().thermo().alphahe(patchi);
}
return talphaEff;
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::kappaEff
(
const volScalarField& alphat

View File

@ -397,6 +397,12 @@ public:
const label patchi
) const;
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const;
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const;
//- Effective thermal diffusivity of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff
(

View File

@ -201,15 +201,6 @@ public:
virtual void divU(tmp<volScalarField> divU);
// Transport (prevents compiler warnings)
//- Return the effective thermal conductivity
using BasePhaseModel::kappaEff;
//- Return the effective thermal conductivity for enthalpy
using BasePhaseModel::alphaEff;
// Turbulence
//- Return the turbulent dynamic viscosity
@ -224,17 +215,23 @@ public:
//- Return the effective kinematic viscosity
virtual tmp<volScalarField> nuEff() const;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
using BasePhaseModel::kappaEff;
//- Return the effective thermal conductivity
virtual tmp<volScalarField> kappaEff() const;
//- Return the effective thermal conductivity on a patch
virtual tmp<scalarField> kappaEff(const label patchi) const;
//- Return the effective thermal diffusivity for enthalpy
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
using BasePhaseModel::alphaEff;
//- Return the effective thermal diffusivity
virtual tmp<volScalarField> alphaEff() const;
//- Return the effective thermal conductivity for enthalpy on a
// patch
//- Return the effective thermal conductivity on a patch
virtual tmp<scalarField> alphaEff(const label patchi) const;
//- Return the turbulent kinetic energy

View File

@ -171,15 +171,6 @@ public:
virtual void divU(tmp<volScalarField> divU);
// Transport (prevents compiler warnings)
//- Return the effective thermal conductivity
using BasePhaseModel::kappaEff;
//- Return the effective thermal conductivity for enthalpy
using BasePhaseModel::alphaEff;
// Turbulence
//- Return the turbulent dynamic viscosity
@ -194,17 +185,23 @@ public:
//- Return the effective kinematic viscosity
virtual tmp<volScalarField> nuEff() const;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
using BasePhaseModel::kappaEff;
//- Return the effective thermal conductivity
virtual tmp<volScalarField> kappaEff() const;
//- Return the effective thermal conductivity on a patch
virtual tmp<scalarField> kappaEff(const label patchi) const;
//- Return the effective thermal diffusivity for enthalpy
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
using BasePhaseModel::alphaEff;
//- Return the effective thermal diffusivity
virtual tmp<volScalarField> alphaEff() const;
//- Return the effective thermal conductivity for enthalpy on a
// patch
//- Return the effective thermal conductivity on a patch
virtual tmp<scalarField> alphaEff(const label patchi) const;
//- Return the turbulent kinetic energy

View File

@ -153,6 +153,25 @@ Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::kappa
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alphahe() const
{
return thermo_->alphahe();
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::scalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alphahe
(
const label patchi
) const
{
return thermo_->alphahe(patchi);
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::kappaEff

View File

@ -112,56 +112,63 @@ public:
//- Return the laminar kinematic viscosity on a patch
virtual tmp<scalarField> nu(const label patchi) const;
//- Return the laminar thermal conductivity
//- Thermal diffusivity for enthalpy of mixture [kg/m/s]
virtual tmp<volScalarField> alpha() const;
//- Thermal diffusivity for enthalpy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alpha(const label patchi) const;
//- Thermal diffusivity for temperature of mixture [J/m/s/K]
virtual tmp<volScalarField> kappa() const;
//- Return the laminar thermal conductivity on a patch
//- Thermal diffusivity for temperature of mixture
// for patch [J/m/s/K]
virtual tmp<scalarField> kappa(const label patchi) const;
//- Return the laminar thermal conductivity, given the turbulent
// thermal diffusivity
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const;
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const;
// Turbulence
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
using BasePhaseModel::kappaEff;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff
(
const volScalarField& alphat
) const;
//- Return the laminar thermal conductivity on a patch, given the
// turbulent thermal diffusivity
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
virtual tmp<scalarField> kappaEff
(
const scalarField& alphat,
const label patchi
) const;
//- Return the thermal diffusivity for enthalpy
virtual tmp<volScalarField> alpha() const;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
using BasePhaseModel::alphaEff;
//- Return the thermal diffusivity for enthalpy on a patch
virtual tmp<scalarField> alpha(const label patchi) const;
//- Return the effective thermal diffusivity for enthalpy, given the
// turbulent thermal diffusivity
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff
(
const volScalarField& alphat
) const;
//- Return the effective thermal diffusivity for enthalpy on a
// patch, given the turbulent thermal diffusivity
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff
(
const scalarField& alphat,
const label patchi
) const;
// Turbulence (prevents compiler warnings)
//- Return the effective thermal conductivity
using BasePhaseModel::kappaEff;
//- Return the effective thermal conductivity for enthalpy
using BasePhaseModel::alphaEff;
};

View File

@ -327,42 +327,48 @@ public:
//- Return the laminar kinematic viscosity on a patch
virtual tmp<scalarField> nu(const label patchi) const = 0;
//- Return the laminar thermal conductivity
//- Thermal diffusivity for enthalpy of mixture [kg/m/s]
virtual tmp<volScalarField> alpha() const = 0;
//- Thermal diffusivity for enthalpy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alpha(const label patchi) const = 0;
//- Thermal diffusivity for temperature of mixture [J/m/s/K]
virtual tmp<volScalarField> kappa() const = 0;
//- Return the laminar thermal conductivity on a patch
//- Thermal diffusivity for temperature of mixture
// for patch [J/m/s/K]
virtual tmp<scalarField> kappa(const label patchi) const = 0;
//- Return the effective thermal conductivity, given the turbulent
// thermal diffusivity
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const = 0;
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const = 0;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff
(
const volScalarField& alphat
) const = 0;
//- Return the effective thermal conductivity on a patch, given the
// turbulent thermal diffusivity
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
virtual tmp<scalarField> kappaEff
(
const scalarField& alphat,
const label patchi
) const = 0;
//- Return the laminar thermal diffusivity for enthalpy
virtual tmp<volScalarField> alpha() const = 0;
//- Return the laminar thermal diffusivity for enthalpy on a patch
virtual tmp<scalarField> alpha(const label patchi) const = 0;
//- Return the effective thermal diffusivity for enthalpy, given the
// turbulent thermal diffusivity
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff
(
const volScalarField& alphat
) const = 0;
//- Return the effective thermal diffusivity for enthalpy on a
// patch, given the turbulent thermal diffusivity
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff
(
const scalarField& alphat,
@ -384,17 +390,19 @@ public:
//- Return the effective kinematic viscosity
virtual tmp<volScalarField> nuEff() const = 0;
//- Return the effective thermal conductivity
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff() const = 0;
//- Return the effective thermal conductivity on a patch
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
virtual tmp<scalarField> kappaEff(const label patchi) const = 0;
//- Return the effective thermal diffusivity for enthalpy
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff() const = 0;
//- Return the effective thermal conductivity for enthalpy on a
// patch
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff(const label patchi) const = 0;
//- Return the turbulent kinetic energy

View File

@ -196,19 +196,45 @@ public:
return thermo_->mu(patchi);
}
//- Return the thermal conductivity on a patch
//- Thermal diffusivity for enthalpy of mixture [kg/m/s]
tmp<volScalarField> alpha() const
{
return thermo_->alpha();
}
//- Thermal diffusivity for enthalpy of mixture for patch [kg/m/s]
tmp<scalarField> alpha(const label patchi) const
{
return thermo_->alpha(patchi);
}
//- Thermal diffusivity for temperature of mixture [J/m/s/K]
tmp<scalarField> kappa(const label patchi) const
{
return thermo_->kappa(patchi);
}
//- Return the thermal conductivity
//- Thermal diffusivity for temperature of mixture
// for patch [J/m/s/K]
tmp<volScalarField> kappa() const
{
return thermo_->kappa();
}
//- Return the laminar thermal conductivity
//- Thermal diffusivity for energy of mixture [kg/m/s]
tmp<volScalarField> alphahe() const
{
return thermo_->alphahe();
}
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
tmp<scalarField> alphahe(const label patchi) const
{
return thermo_->alphahe(patchi);
}
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
tmp<volScalarField> kappaEff
(
const volScalarField& alphat
@ -217,7 +243,8 @@ public:
return thermo_->kappaEff(alphat);
}
//- Return the laminar thermal conductivity on a patch
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
tmp<scalarField> kappaEff
(
const scalarField& alphat,
@ -227,19 +254,7 @@ public:
return thermo_->kappaEff(alphat, patchi);
}
//- Return the laminar thermal diffusivity for enthalpy
tmp<volScalarField> alpha() const
{
return thermo_->alpha();
}
//- Return the laminar thermal diffusivity for enthalpy on a patch
tmp<scalarField> alpha(const label patchi) const
{
return thermo_->alpha(patchi);
}
//- Return the effective thermal diffusivity for enthalpy
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
tmp<volScalarField> alphaEff
(
const volScalarField& alphat
@ -248,7 +263,8 @@ public:
return thermo_->alphaEff(alphat);
}
//- Return the effective thermal diffusivity for enthalpy on a patch
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
tmp<scalarField> alphaEff
(
const scalarField& alphat,

View File

@ -54,7 +54,7 @@ USAGE
error() {
exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
while [ "$#" -ge 1 ]; do echo "Error: $1"; shift; done
usage
exit 1
}
@ -68,8 +68,8 @@ findFilesInDirs () {
[ -d "$_d" ] && _out="$(find "$_d" -name "$_str" -type f | sort) $_out"
done
# Remove whitespace
echo "$_out" | xargs -n 1
# Remove whitespace and blank lines
echo "$_out" | xargs -n 1 | awk 'NF'
}
findFiles () {
@ -136,7 +136,7 @@ setFile () {
noFilesMessage () {
_ext="$1"
[ "$_ext" = "ANY" ] && echo "(with or without file extensions)" && return 1
[ -n "$_ext" ] && echo "with file extension $_ext" && return 1
[ -n "$_ext" ] && echo "with file extension '$_ext'" && return 1
}
searchDirs="\
@ -170,7 +170,6 @@ do
-t | -target)
[ "$#" -ge 2 ] || error "'$1' option requires an argument"
tgt="$2"
[ -d "$tgt" ] || error "directory with -t option does not exist: '$tgt'"
shift 2
;;
-*)
@ -183,15 +182,16 @@ do
done
[ $# -gt 1 ] && error "$# arguments \"$*\" specified: only 1 permitted"
[ $# -eq 1 ] || error "Missing argument: no file name/prefix <file> supplied"
[ $# -eq 1 ] || error "missing argument: no file name/prefix <file> supplied"
prefix="$1"
[ -s "system/controlDict" ] || \
error "Cannot find OpenFOAM case directory (no system/controlDict file)"
echo "Warning: cannot find OpenFOAM case directory (no system/controlDict file)"
[ -d "$tgt" ] || error "target directory does not exist: '$tgt'"
files="$(findFiles "$searchDirs" "$prefix" "$ext")"
[ -z "$files" ] && \
error "No file $prefix found $(noFilesMessage "$ext")"
error "no file $prefix found $(noFilesMessage "$ext")"
nFiles="$(nArgs "$files")"
[ "$nFiles" -eq 1 ] && cpFile "$files" "$tgt" && exit 0

View File

@ -39,6 +39,7 @@ options:
-browser | -b <name> output C++ source guide web page with specified browser,
e.g. foamInfo -browser "firefox"
-help | -h print the usage
-keyword | -k uses <name> as a keyword, rather than an exact match
-web | -w output C++ source guide web page with the browser
specified in the global controlDict file
@ -49,13 +50,22 @@ Prints the following for an application, a script, or a model
- Usage details from the header file;
- Examples: a list of relevant cases from the tutorials directory.
For example, run:
By default, finds a case-sensitive match to <name>; otherwise, a
case-insensitive match; otherwise, looks for a broader keyword match
with "-keyword | -k" option.
Examples:
foamInfo simpleFoam
foamInfo kEpsilon
foamInfo turbulentIntensityKineticEnergyInlet
foamInfo fixedTemperatureConstraint
foamInfo surfaces
foamInfo foamNewBC
foamInfo wallFunction
foamInfo kEpsilon
foamInfo -k kEpsilon
foamInfo fixedValue
foamInfo -k fixedValue
foamInfo -k contactAngle
USAGE
}
@ -67,6 +77,17 @@ error() {
exit 1
}
# (1) case-sensitive match; (2) case-insensitive match; (3) keyword match
findModelFiles() {
find "$FOAM_SRC" \
-name "$1" \
-iname "$2" \
! -iname "$3" \
! -name "*Fwd.H" \
! -name "*Fields.H" \
! -name "*I.H" -type f
}
findFiles() {
_pre="$1"
@ -77,20 +98,16 @@ findFiles() {
_out="$(find "$FOAM_SRC/../bin" -name "${_pre}" -type f) $_out"
# Model
# exact match
_models="$(find "$FOAM_SRC" \
-name "${_pre}*.H" \
! -name "*Fwd.H" \
! -name "*Fields.H" \
! -name "*I.H" -type f)"
# case-sensitive match
_models="$(findModelFiles "${_pre}*.H" "*" "")"
# otherwise "looser" match
# case-insensitive match
[ "$_models" ] || \
_models="$(find "$FOAM_SRC" \
-iname "*${_pre}*.H" \
! -name "*Fwd.H" \
! -name "*Fields.H" \
! -name "*I.H" -type f)"
_models="$(findModelFiles "*" "${_pre}*.H" "")"
# keyword match
[ "$_models" -a ! "$KEYWORD" ] || \
_models="$_models $(findModelFiles "*" "*${_pre}*.H" "${_pre}*.H")"
_out="$_models $_out"
@ -105,7 +122,7 @@ findFiles() {
_out="$(find "$FOAM_ETC" -name "${_pre}" -type f) $_out"
# Remove whitespace
echo "$_out" | xargs -n 1
echo "$_out" | xargs -n 1 | awk 'NF'
}
nArgs() {
@ -292,6 +309,7 @@ all=""
# Global controlDict file
controlDict="$(foamEtcFile controlDict 2> /dev/null)"
BROWSER="$(grep docBrowser "$controlDict" 2> /dev/null | cut -d "\"" -f2)"
KEYWORD=""
while [ "$#" -gt 0 ]
do
@ -309,6 +327,10 @@ do
-h | -help)
usage && exit 0
;;
-k | -keyword)
KEYWORD="yes"
shift
;;
-w | -web)
web="yes"
shift

View File

@ -40,7 +40,7 @@ surfaces
pointAndNormalDict
{
basePoint (0 0 2); // Overrides default basePoint (0 0 0)
normalVector $z; // $y: macro for (0 0 1)
normalVector $z; // $z: macro for (0 0 1)
}
}

View File

@ -15,9 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel P1;
radiationModel none; // P1;
solverFreq 1;

View File

@ -15,9 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel P1;
radiationModel none; // P1;
solverFreq 1;

View File

@ -116,6 +116,7 @@ public:
FatalErrorInFunction
<< "Call to other only valid for Pair with differing"
<< " elements:" << *this << abort(FatalError);
return first();
}
else if (first() == a)
{

View File

@ -96,7 +96,7 @@ Foam::Roots<3> Foam::cubicEqn::roots() const
if (oneReal)
{
const Roots<1> r = linearEqn(- a, b/3).roots();
const Roots<1> r = linearEqn(a, b/3).roots();
return Roots<3>(r.type(0), r[0]);
}
else if (twoReal)

View File

@ -71,7 +71,7 @@ Foam::Roots<2> Foam::quadraticEqn::roots() const
if (oneReal)
{
const Roots<1> r = linearEqn(- a, b/2).roots();
const Roots<1> r = linearEqn(a, b/2).roots();
return Roots<2>(r, r);
}
else if (twoReal)

View File

@ -102,42 +102,40 @@ public:
//- Re-read model coefficients if they have changed
virtual bool read();
//- Return the turbulent thermal diffusivity for enthalpy [kg/m/s]
//- Turbulent thermal diffusivity for enthalpy [kg/m/s]
virtual tmp<volScalarField> alphat() const
{
return alphat_;
}
//- Return the turbulent thermal diffusivity for enthalpy for a patch
// [kg/m/s]
//- Turbulent thermal diffusivity for enthalpy for a patch [kg/m/s]
virtual tmp<scalarField> alphat(const label patchi) const
{
return alphat()().boundaryField()[patchi];
}
//- Return the effective turbulent thermal diffusivity for temperature
// [J/m/s/K]
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff() const
{
return this->transport_.kappaEff(alphat());
}
//- Return the effective turbulent thermal diffusivity for temperature
// [J/m/s/K]
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
virtual tmp<scalarField> kappaEff(const label patchi) const
{
return this->transport_.kappaEff(alphat(patchi), patchi);
}
//- Return the effective turbulent thermal diffusivity for enthalpy
// [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff() const
{
return this->transport_.alphaEff(alphat());
}
//- Return the effective turbulent thermal diffusivity for enthalpy
// for a patch [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff(const label patchi) const
{
return this->transport_.alphaEff(alphat(patchi), patchi);

View File

@ -107,65 +107,62 @@ public:
// Member Functions
//- Return the thermal diffusivity for temperature [J/m/s/K]
virtual tmp<volScalarField> kappa() const
{
return this->transport_.kappa();
}
//- Return the laminar thermal diffusivity for temperature on patch
// [J/m/s/K]
virtual tmp<scalarField> kappa(const label patchi) const
{
return this->transport_.kappa(patchi);
}
//- Return the laminar thermal diffusivity for enthalpy [kg/m/s]
//- Thermal diffusivity for enthalpy of mixture [kg/m/s]
virtual tmp<volScalarField> alpha() const
{
return this->transport_.alpha();
}
//- Return the laminar thermal diffusivity for enthalpy on patch
// [kg/m/s]
//- Thermal diffusivity for enthalpy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alpha(const label patchi) const
{
return this->transport_.alpha(patchi);
}
//- Return the turbulent thermal diffusivity for enthalpy [kg/m/s]
//- Thermal diffusivity for temperature of mixture [J/m/s/K]
virtual tmp<volScalarField> kappa() const
{
return this->transport_.kappa();
}
//- Thermal diffusivity for temperature of mixture
// for patch [J/m/s/K]
virtual tmp<scalarField> kappa(const label patchi) const
{
return this->transport_.kappa(patchi);
}
//- Turbulent thermal diffusivity for enthalpy [kg/m/s]
virtual tmp<volScalarField> alphat() const;
//- Return the turbulent thermal diffusivity for enthalpy for a patch
// [kg/m/s]
//- Turbulent thermal diffusivity for enthalpy for a patch [kg/m/s]
virtual tmp<scalarField> alphat(const label patchi) const;
//- Return the effective turbulent thermal diffusivity for temperature
// [J/m/s/K]
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff() const
{
return kappa();
}
//- Return the effective turbulent thermal diffusivity for temperature
// [J/m/s/K]
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
virtual tmp<scalarField> kappaEff(const label patchi) const
{
return kappa(patchi);
}
//- Return the effective turbulent thermal diffusivity for enthalpy
// [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff() const
{
return alpha();
return this->transport_.alphahe();
}
//- Return the effective turbulent thermal diffusivity for enthalpy
// for a patch [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff(const label patchi) const
{
return alpha(patchi);
return this->transport_.alphahe(patchi);
}
};

View File

@ -52,7 +52,7 @@ namespace joints
void Foam::RBD::joints::composite::setLastJoint()
{
//last().joint::operator=(*this);
last().joint::operator=(*this);
}

View File

@ -243,6 +243,9 @@ public:
// Member Operators
//- Assignment
inline void operator=(const joint& j);
//- Return the unit quaternion for this joint
// if it uses a quaternion representation for rotation
inline quaternion unitQuaternion

View File

@ -64,6 +64,14 @@ inline const Foam::List<Foam::spatialVector>& Foam::RBD::joint::S() const
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
inline void Foam::RBD::joint::operator=(const joint& j)
{
S_ = j.S_;
index_ = j.index_;
qIndex_ = j.qIndex_;
}
inline Foam::quaternion Foam::RBD::joint::unitQuaternion
(
const scalarField& q

View File

@ -124,6 +124,7 @@ void Foam::sampledSets::lineFace::calcSamples
if (!sampleParticle.onBoundaryFace())
{
FatalErrorInFunction
<< "Failed to associate with the starting boundary face"
<< exit(FatalError);
}
}

View File

@ -422,21 +422,27 @@ public:
//- Thermal diffusivity for temperature of mixture [J/m/s/K]
virtual tmp<volScalarField> kappa() const = 0;
//- Thermal diffusivity for temperature
// of mixture for patch [J/m/s/K]
//- Thermal diffusivity for temperature of mixture
// for patch [J/m/s/K]
virtual tmp<scalarField> kappa
(
const label patchi
) const = 0;
//- Effective thermal diffusivity for temperature
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const = 0;
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const = 0;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff
(
const volScalarField&
) const = 0;
//- Effective thermal diffusivity for temperature
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
virtual tmp<scalarField> kappaEff
(
@ -444,13 +450,14 @@ public:
const label patchi
) const = 0;
//- Effective thermal diffusivity of mixture [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff
(
const volScalarField& alphat
) const = 0;
//- Effective thermal diffusivity of mixture for patch [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff
(
const scalarField& alphat,

View File

@ -794,6 +794,31 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::kappa
}
template<class BasicThermo, class MixtureType>
Foam::tmp<Foam::volScalarField>
Foam::heThermo<BasicThermo, MixtureType>::alphahe() const
{
tmp<Foam::volScalarField> alphaEff(this->CpByCpv()*this->alpha_);
alphaEff.ref().rename("alphahe");
return alphaEff;
}
template<class BasicThermo, class MixtureType>
Foam::tmp<Foam::scalarField>
Foam::heThermo<BasicThermo, MixtureType>::alphahe(const label patchi) const
{
return
this->CpByCpv
(
this->p_.boundaryField()[patchi],
this->T_.boundaryField()[patchi],
patchi
)
*this->alpha_.boundaryField()[patchi];
}
template<class BasicThermo, class MixtureType>
Foam::tmp<Foam::volScalarField>
Foam::heThermo<BasicThermo, MixtureType>::kappaEff

View File

@ -268,18 +268,27 @@ public:
//- Thermal diffusivity for temperature of mixture [J/m/s/K]
virtual tmp<volScalarField> kappa() const;
//- Thermal diffusivity for temperature
// of mixture for patch [J/m/s/K]
//- Thermal diffusivity for temperature of mixture
// for patch [J/m/s/K]
virtual tmp<scalarField> kappa
(
const label patchi
) const;
//- Effective thermal diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff(const volScalarField&) const;
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const;
//- Effective thermal diffusivity for temperature
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
virtual tmp<volScalarField> kappaEff
(
const volScalarField&
) const;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
virtual tmp<scalarField> kappaEff
(
@ -287,13 +296,14 @@ public:
const label patchi
) const;
//- Effective thermal diffusivity of mixture [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff
(
const volScalarField& alphat
) const;
//- Effective thermal diffusivity of mixture for patch [kg/m/s]
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff
(
const scalarField& alphat,

View File

@ -10,7 +10,7 @@
1.0
);
if (radiation->radiation())
if (!isType<radiation::noRadiation>(radiation()))
{
IOdictionary transportProperties
(

View File

@ -68,16 +68,20 @@ Foam::radiation::noRadiation::~noRadiation()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::radiation::noRadiation::read()
{
return radiationModel::read();
}
void Foam::radiation::noRadiation::correct()
{}
void Foam::radiation::noRadiation::calculate()
{}
bool Foam::radiation::noRadiation::read()
{
return radiationModel::read();
}
Foam::tmp<Foam::volScalarField> Foam::radiation::noRadiation::Rp() const
{
return tmp<volScalarField>

View File

@ -85,6 +85,9 @@ public:
// Edit
//- Main update/correction routine
void correct();
//- Solve radiation equation(s)
void calculate();

View File

@ -74,19 +74,16 @@ Foam::IOobject Foam::radiation::radiationModel::createIOobject
void Foam::radiation::radiationModel::initialise()
{
if (radiation_)
{
solverFreq_ = max(1, lookupOrDefault<label>("solverFreq", 1));
solverFreq_ = max(1, lookupOrDefault<label>("solverFreq", 1));
absorptionEmission_.reset
(
absorptionEmissionModel::New(*this, mesh_).ptr()
);
absorptionEmission_.reset
(
absorptionEmissionModel::New(*this, mesh_).ptr()
);
scatter_.reset(scatterModel::New(*this, mesh_).ptr());
scatter_.reset(scatterModel::New(*this, mesh_).ptr());
soot_.reset(sootModel::New(*this, mesh_).ptr());
}
soot_.reset(sootModel::New(*this, mesh_).ptr());
}
@ -108,7 +105,6 @@ Foam::radiation::radiationModel::radiationModel(const volScalarField& T)
mesh_(T.mesh()),
time_(T.time()),
T_(T),
radiation_(false),
coeffs_(dictionary::null),
solverFreq_(0),
firstIter_(true),
@ -128,7 +124,6 @@ Foam::radiation::radiationModel::radiationModel
mesh_(T.mesh()),
time_(T.time()),
T_(T),
radiation_(lookupOrDefault("radiation", true)),
coeffs_(subOrEmptyDict(type + "Coeffs")),
solverFreq_(1),
firstIter_(true),
@ -136,11 +131,6 @@ Foam::radiation::radiationModel::radiationModel
scatter_(nullptr),
soot_(nullptr)
{
if (readOpt() == IOobject::NO_READ)
{
radiation_ = false;
}
initialise();
}
@ -167,7 +157,6 @@ Foam::radiation::radiationModel::radiationModel
mesh_(T.mesh()),
time_(T.time()),
T_(T),
radiation_(lookupOrDefault("radiation", true)),
coeffs_(subOrEmptyDict(type + "Coeffs")),
solverFreq_(1),
firstIter_(true),
@ -187,11 +176,25 @@ Foam::radiation::radiationModel::~radiationModel()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::radiation::radiationModel::correct()
{
if (firstIter_ || (time_.timeIndex() % solverFreq_ == 0))
{
calculate();
firstIter_ = false;
}
if (!soot_.empty())
{
soot_->correct();
}
}
bool Foam::radiation::radiationModel::read()
{
if (regIOobject::read())
{
lookup("radiation") >> radiation_;
coeffs_ = subOrEmptyDict(type() + "Coeffs");
solverFreq_ = lookupOrDefault<label>("solverFreq", 1);
@ -206,26 +209,6 @@ bool Foam::radiation::radiationModel::read()
}
void Foam::radiation::radiationModel::correct()
{
if (!radiation_)
{
return;
}
if (firstIter_ || (time_.timeIndex() % solverFreq_ == 0))
{
calculate();
firstIter_ = false;
}
if (!soot_.empty())
{
soot_->correct();
}
}
Foam::tmp<Foam::fvScalarMatrix> Foam::radiation::radiationModel::Sh
(
const basicThermo& thermo,

View File

@ -86,9 +86,6 @@ protected:
//- Reference to the temperature field
const volScalarField& T_;
//- Radiation model on/off flag
Switch radiation_;
//- Radiation model dictionary
dictionary coeffs_;
@ -211,12 +208,6 @@ public:
// Access
//- Radiation model on/off flag
const Switch radiation() const
{
return radiation_;
}
//- Source term component (for power of T^4)
virtual tmp<volScalarField> Rp() const = 0;

View File

@ -6,7 +6,7 @@ cd "${0%/*}" || exit 1 # Run from this directory
removeRegionDirs () {
# HACK to get regionDirs from materialProperties
_regionDirs="$(grep -E "^[a-Z]" constant/materialProperties | tail -n +2)"
_regionDirs="$(grep "^[a-zA-Z]" constant/materialProperties | tail -n +2)"
for _d in system constant
do

View File

@ -16,10 +16,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -14,9 +14,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,9 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,9 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -14,9 +14,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -16,9 +16,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
@ -12,6 +12,5 @@ zDir (0 0 1);
flowDir (1 0 0);
z0 uniform 0.1;
zGround uniform 935.0;
value $internalField;
// ************************************************************************* //

View File

@ -17,6 +17,6 @@ runParallel topoSet
runParallel $(getApplication)
runApplication reconstructParMesh -constant
runApplication reconstructPar
runApplication reconstructPar -constant
#------------------------------------------------------------------------------

View File

@ -15,8 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,9 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,10 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,9 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,8 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,9 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,9 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,10 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
solverFreq 10;
// ************************************************************************* //

View File

@ -15,8 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,8 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //

View File

@ -15,9 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel none;
// ************************************************************************* //