mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -10,4 +10,6 @@ EXE_LIBS = \
|
|||||||
-lcompressibleTurbulenceModel \
|
-lcompressibleTurbulenceModel \
|
||||||
-lcompressibleRASModels \
|
-lcompressibleRASModels \
|
||||||
-lcompressibleLESModels \
|
-lcompressibleLESModels \
|
||||||
-lfiniteVolume
|
-lfiniteVolume \
|
||||||
|
-L$(FOAM_USER_LIBBIN) \
|
||||||
|
-lFvPatchScalarFieldEnthalpyJump
|
||||||
|
|||||||
@ -174,6 +174,7 @@ $(derivedFvPatchFields)/waveSurfacePressure/waveSurfacePressureFvPatchScalarFiel
|
|||||||
$(derivedFvPatchFields)/phaseHydrostaticPressure/phaseHydrostaticPressureFvPatchScalarField.C
|
$(derivedFvPatchFields)/phaseHydrostaticPressure/phaseHydrostaticPressureFvPatchScalarField.C
|
||||||
$(derivedFvPatchFields)/variableHeightFlowRate/variableHeightFlowRateFvPatchField.C
|
$(derivedFvPatchFields)/variableHeightFlowRate/variableHeightFlowRateFvPatchField.C
|
||||||
$(derivedFvPatchFields)/variableHeightFlowRateInletVelocity/variableHeightFlowRateInletVelocityFvPatchVectorField.C
|
$(derivedFvPatchFields)/variableHeightFlowRateInletVelocity/variableHeightFlowRateInletVelocityFvPatchVectorField.C
|
||||||
|
$(derivedFvPatchFields)/temperatureJump/temperatureJumpFvPatchScalarField.C
|
||||||
|
|
||||||
fvsPatchFields = fields/fvsPatchFields
|
fvsPatchFields = fields/fvsPatchFields
|
||||||
$(fvsPatchFields)/fvsPatchField/fvsPatchFields.C
|
$(fvsPatchFields)/fvsPatchField/fvsPatchFields.C
|
||||||
|
|||||||
@ -0,0 +1,129 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
#include "temperatureJumpFvPatchScalarField.H"
|
||||||
|
#include "volFields.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::temperatureJumpFvPatchScalarField::temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(p, iF),
|
||||||
|
jumpTable_(0)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::temperatureJumpFvPatchScalarField::temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const temperatureJumpFvPatchScalarField& ptf,
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
|
const fvPatchFieldMapper& mapper
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(ptf, p, iF, mapper),
|
||||||
|
jumpTable_(ptf.jumpTable_().clone().ptr())
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::temperatureJumpFvPatchScalarField::temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(p, iF),
|
||||||
|
jumpTable_(new DataEntry<scalar>("jumpTable"))
|
||||||
|
{
|
||||||
|
|
||||||
|
if (this->cyclicPatch().owner())
|
||||||
|
{
|
||||||
|
jumpTable_ = DataEntry<scalar>::New("jumpTable", dict);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dict.found("value"))
|
||||||
|
{
|
||||||
|
fvPatchScalarField::operator=
|
||||||
|
(
|
||||||
|
scalarField("value", dict, p.size())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::temperatureJumpFvPatchScalarField::temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const temperatureJumpFvPatchScalarField& ptf
|
||||||
|
)
|
||||||
|
:
|
||||||
|
cyclicLduInterfaceField(),
|
||||||
|
fixedJumpFvPatchField<scalar>(ptf),
|
||||||
|
jumpTable_(ptf.jumpTable_().clone().ptr())
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::temperatureJumpFvPatchScalarField::temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const temperatureJumpFvPatchScalarField& ptf,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(ptf, iF),
|
||||||
|
jumpTable_(ptf.jumpTable_().clone().ptr())
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::temperatureJumpFvPatchScalarField::write(Ostream& os) const
|
||||||
|
{
|
||||||
|
fixedJumpFvPatchField<scalar>::write(os);
|
||||||
|
if (this->cyclicPatch().owner())
|
||||||
|
{
|
||||||
|
jumpTable_->writeData(os);
|
||||||
|
}
|
||||||
|
this->writeEntry("value", os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
makePatchTypeField
|
||||||
|
(
|
||||||
|
fvPatchScalarField,
|
||||||
|
temperatureJumpFvPatchScalarField
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,159 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::temperatureJumpFvPatchScalarField
|
||||||
|
|
||||||
|
Description
|
||||||
|
Introduce a jump in temperature on a cycle patch
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type temperatureJump;
|
||||||
|
patchType cyclic;
|
||||||
|
jumpTable constant 100;
|
||||||
|
value uniform 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
temperatureJumpFvPatchScalarField.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef temperatureJumpFvPatchScalarField_H
|
||||||
|
#define temperatureJumpFvPatchScalarField_H
|
||||||
|
|
||||||
|
#include "fixedJumpFvPatchField.H"
|
||||||
|
#include "DataEntry.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class temperatureJumpFvPatchScalarField Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class temperatureJumpFvPatchScalarField
|
||||||
|
:
|
||||||
|
public fixedJumpFvPatchField<scalar>
|
||||||
|
{
|
||||||
|
|
||||||
|
// Private data
|
||||||
|
|
||||||
|
//- Interpolation table
|
||||||
|
autoPtr<DataEntry<scalar> > jumpTable_;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("temperatureJump");
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from patch and internal field
|
||||||
|
temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<scalar, volMesh>&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct from patch, internal field and dictionary
|
||||||
|
temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<scalar, volMesh>&,
|
||||||
|
const dictionary&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct by mapping given temperatureJumpFvPatchScalarField onto a
|
||||||
|
// new patch
|
||||||
|
temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const temperatureJumpFvPatchScalarField&,
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<scalar, volMesh>&,
|
||||||
|
const fvPatchFieldMapper&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct as copy
|
||||||
|
temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const temperatureJumpFvPatchScalarField&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct and return a clone
|
||||||
|
virtual tmp<fvPatchField<scalar> > clone() const
|
||||||
|
{
|
||||||
|
return tmp<fvPatchField<scalar> >
|
||||||
|
(
|
||||||
|
new temperatureJumpFvPatchScalarField(*this)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//- Construct as copy setting internal field reference
|
||||||
|
temperatureJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const temperatureJumpFvPatchScalarField&,
|
||||||
|
const DimensionedField<scalar, volMesh>&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct and return a clone setting internal field reference
|
||||||
|
virtual tmp<fvPatchField<scalar> > clone
|
||||||
|
(
|
||||||
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return tmp<fvPatchField<scalar> >
|
||||||
|
(
|
||||||
|
new temperatureJumpFvPatchScalarField(*this, iF)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Member functions
|
||||||
|
|
||||||
|
|
||||||
|
// Access functions
|
||||||
|
|
||||||
|
//- Return jumpTable
|
||||||
|
const DataEntry<scalar>& jumpTable() const
|
||||||
|
{
|
||||||
|
return jumpTable_();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//- Write
|
||||||
|
virtual void write(Ostream&) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -22,6 +22,7 @@ derivedFvPatchFields/mixedEnthalpy/mixedEnthalpyFvPatchScalarField.C
|
|||||||
derivedFvPatchFields/fixedInternalEnergy/fixedInternalEnergyFvPatchScalarField.C
|
derivedFvPatchFields/fixedInternalEnergy/fixedInternalEnergyFvPatchScalarField.C
|
||||||
derivedFvPatchFields/gradientInternalEnergy/gradientInternalEnergyFvPatchScalarField.C
|
derivedFvPatchFields/gradientInternalEnergy/gradientInternalEnergyFvPatchScalarField.C
|
||||||
derivedFvPatchFields/mixedInternalEnergy/mixedInternalEnergyFvPatchScalarField.C
|
derivedFvPatchFields/mixedInternalEnergy/mixedInternalEnergyFvPatchScalarField.C
|
||||||
|
derivedFvPatchFields/enthalpyJump/enthalpyJumpFvPatchScalarField.C
|
||||||
|
|
||||||
derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
|
derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
EXE_INC = \
|
EXE_INC = \
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude
|
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||||
|
-I/home/tom3/sergio/development/chtMultiRegionCoupledFoam/lnInclude
|
||||||
|
|
||||||
LIB_LIBS = \
|
LIB_LIBS = \
|
||||||
-lfiniteVolume
|
-lfiniteVolume \
|
||||||
|
-L$(FOAM_USER_LIBBIN)/FvPatchScalarFieldEnthalpyJump
|
||||||
|
|||||||
@ -33,6 +33,8 @@ License
|
|||||||
#include "fixedInternalEnergyFvPatchScalarField.H"
|
#include "fixedInternalEnergyFvPatchScalarField.H"
|
||||||
#include "gradientInternalEnergyFvPatchScalarField.H"
|
#include "gradientInternalEnergyFvPatchScalarField.H"
|
||||||
#include "mixedInternalEnergyFvPatchScalarField.H"
|
#include "mixedInternalEnergyFvPatchScalarField.H"
|
||||||
|
#include "temperatureJumpFvPatchScalarField.H"
|
||||||
|
#include "enthalpyJumpFvPatchScalarField.H"
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * private static data * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * private static data * * * * * * * * * * * * * */
|
||||||
|
|
||||||
@ -64,10 +66,14 @@ Foam::wordList Foam::basicThermo::hBoundaryTypes()
|
|||||||
{
|
{
|
||||||
hbt[patchi] = gradientEnthalpyFvPatchScalarField::typeName;
|
hbt[patchi] = gradientEnthalpyFvPatchScalarField::typeName;
|
||||||
}
|
}
|
||||||
else if (isA<mixedFvPatchScalarField>(tbf[patchi]))
|
else if(isA<mixedFvPatchScalarField>(tbf[patchi]))
|
||||||
{
|
{
|
||||||
hbt[patchi] = mixedEnthalpyFvPatchScalarField::typeName;
|
hbt[patchi] = mixedEnthalpyFvPatchScalarField::typeName;
|
||||||
}
|
}
|
||||||
|
else if (isA<temperatureJumpFvPatchScalarField>(tbf[patchi]))
|
||||||
|
{
|
||||||
|
hbt[patchi] = enthalpyJumpFvPatchScalarField::typeName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return hbt;
|
return hbt;
|
||||||
@ -85,7 +91,7 @@ void Foam::basicThermo::hBoundaryCorrection(volScalarField& h)
|
|||||||
refCast<gradientEnthalpyFvPatchScalarField>(hbf[patchi]).gradient()
|
refCast<gradientEnthalpyFvPatchScalarField>(hbf[patchi]).gradient()
|
||||||
= hbf[patchi].fvPatchField::snGrad();
|
= hbf[patchi].fvPatchField::snGrad();
|
||||||
}
|
}
|
||||||
else if (isA<mixedEnthalpyFvPatchScalarField>(hbf[patchi]))
|
else if(isA<mixedEnthalpyFvPatchScalarField>(hbf[patchi]))
|
||||||
{
|
{
|
||||||
refCast<mixedEnthalpyFvPatchScalarField>(hbf[patchi]).refGrad()
|
refCast<mixedEnthalpyFvPatchScalarField>(hbf[patchi]).refGrad()
|
||||||
= hbf[patchi].fvPatchField::snGrad();
|
= hbf[patchi].fvPatchField::snGrad();
|
||||||
|
|||||||
@ -0,0 +1,165 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
#include "enthalpyJumpFvPatchScalarField.H"
|
||||||
|
#include "temperatureJumpFvPatchScalarField.H"
|
||||||
|
#include "basicThermo.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::enthalpyJumpFvPatchScalarField::enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(p, iF)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::enthalpyJumpFvPatchScalarField::enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const enthalpyJumpFvPatchScalarField& ptf,
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
|
const fvPatchFieldMapper& mapper
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(ptf, p, iF, mapper)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::enthalpyJumpFvPatchScalarField::enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch& p,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
|
const dictionary& dict
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(p, iF)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (dict.found("value"))
|
||||||
|
{
|
||||||
|
fvPatchScalarField::operator=
|
||||||
|
(
|
||||||
|
scalarField("value", dict, p.size())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::enthalpyJumpFvPatchScalarField::enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const enthalpyJumpFvPatchScalarField& ptf
|
||||||
|
)
|
||||||
|
:
|
||||||
|
cyclicLduInterfaceField(),
|
||||||
|
fixedJumpFvPatchField<scalar>(ptf)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::enthalpyJumpFvPatchScalarField::enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const enthalpyJumpFvPatchScalarField& ptf,
|
||||||
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
|
)
|
||||||
|
:
|
||||||
|
fixedJumpFvPatchField<scalar>(ptf, iF)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void Foam::enthalpyJumpFvPatchScalarField::updateCoeffs()
|
||||||
|
{
|
||||||
|
if (this->updated())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this->cyclicPatch().owner())
|
||||||
|
{
|
||||||
|
const basicThermo& thermo = db().lookupObject<basicThermo>
|
||||||
|
(
|
||||||
|
"thermophysicalProperties"
|
||||||
|
);
|
||||||
|
|
||||||
|
label patchID = patch().index();
|
||||||
|
|
||||||
|
const temperatureJumpFvPatchScalarField& TbPatch =
|
||||||
|
refCast<const temperatureJumpFvPatchScalarField>
|
||||||
|
(
|
||||||
|
thermo.T().boundaryField()[patchID]
|
||||||
|
);
|
||||||
|
|
||||||
|
const scalar time = this->db().time().value();
|
||||||
|
const scalarField jumpTb
|
||||||
|
(
|
||||||
|
patch().size(), TbPatch.jumpTable().value(time)
|
||||||
|
);
|
||||||
|
|
||||||
|
const labelUList& faceCells = this->patch().faceCells();
|
||||||
|
|
||||||
|
if (db().foundObject<volScalarField>("h"))
|
||||||
|
{
|
||||||
|
jump_ = thermo.h(jumpTb, faceCells);
|
||||||
|
}
|
||||||
|
else if (db().foundObject<volScalarField>("hs"))
|
||||||
|
{
|
||||||
|
jump_ = thermo.hs(jumpTb, faceCells);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FatalErrorIn("enthalpyJumpFvPatchScalarField::updateCoeffs()")
|
||||||
|
<< " hs or h are not found in db()"
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fixedJumpFvPatchField<scalar>::updateCoeffs();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::enthalpyJumpFvPatchScalarField::write(Ostream& os) const
|
||||||
|
{
|
||||||
|
fixedJumpFvPatchField<scalar>::write(os);
|
||||||
|
this->writeEntry("value", os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
makePatchTypeField
|
||||||
|
(
|
||||||
|
fvPatchScalarField,
|
||||||
|
enthalpyJumpFvPatchScalarField
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,142 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::enthalpyJumpFvPatchScalarField
|
||||||
|
|
||||||
|
Description
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
enthalpyJumpFvPatchScalarField.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef enthalpyJumpFvPatchScalarField_H
|
||||||
|
#define enthalpyJumpFvPatchScalarField_H
|
||||||
|
|
||||||
|
#include "fixedJumpFvPatchField.H"
|
||||||
|
#include "DataEntry.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class enthalpyJumpFvPatchScalarField Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class enthalpyJumpFvPatchScalarField
|
||||||
|
:
|
||||||
|
public fixedJumpFvPatchField<scalar>
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("enthalpyJump");
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from patch and internal field
|
||||||
|
enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<scalar, volMesh>&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct from patch, internal field and dictionary
|
||||||
|
enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<scalar, volMesh>&,
|
||||||
|
const dictionary&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct by mapping given enthalpyJumpFvPatchScalarField onto a
|
||||||
|
// new patch
|
||||||
|
enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const enthalpyJumpFvPatchScalarField&,
|
||||||
|
const fvPatch&,
|
||||||
|
const DimensionedField<scalar, volMesh>&,
|
||||||
|
const fvPatchFieldMapper&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct as copy
|
||||||
|
enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const enthalpyJumpFvPatchScalarField&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct and return a clone
|
||||||
|
virtual tmp<fvPatchField<scalar> > clone() const
|
||||||
|
{
|
||||||
|
return tmp<fvPatchField<scalar> >
|
||||||
|
(
|
||||||
|
new enthalpyJumpFvPatchScalarField(*this)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//- Construct as copy setting internal field reference
|
||||||
|
enthalpyJumpFvPatchScalarField
|
||||||
|
(
|
||||||
|
const enthalpyJumpFvPatchScalarField&,
|
||||||
|
const DimensionedField<scalar, volMesh>&
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Construct and return a clone setting internal field reference
|
||||||
|
virtual tmp<fvPatchField<scalar> > clone
|
||||||
|
(
|
||||||
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return tmp<fvPatchField<scalar> >
|
||||||
|
(
|
||||||
|
new enthalpyJumpFvPatchScalarField(*this, iF)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Member functions
|
||||||
|
|
||||||
|
|
||||||
|
// Evaluation functions
|
||||||
|
|
||||||
|
//- Update the coefficients
|
||||||
|
virtual void updateCoeffs();
|
||||||
|
|
||||||
|
|
||||||
|
//- Write
|
||||||
|
virtual void write(Ostream&) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -113,7 +113,8 @@ Foam::hPsiThermo<MixtureType>::hPsiThermo(const fvMesh& mesh)
|
|||||||
),
|
),
|
||||||
mesh,
|
mesh,
|
||||||
dimEnergy/dimMass,
|
dimEnergy/dimMass,
|
||||||
this->hBoundaryTypes()
|
this->hBoundaryTypes(),
|
||||||
|
mesh.boundaryMesh().types()
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
scalarField& hCells = h_.internalField();
|
scalarField& hCells = h_.internalField();
|
||||||
|
|||||||
@ -113,7 +113,8 @@ Foam::hsPsiThermo<MixtureType>::hsPsiThermo(const fvMesh& mesh)
|
|||||||
),
|
),
|
||||||
mesh,
|
mesh,
|
||||||
dimEnergy/dimMass,
|
dimEnergy/dimMass,
|
||||||
this->hBoundaryTypes()
|
this->hBoundaryTypes(),
|
||||||
|
mesh.boundaryMesh().types()
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
scalarField& hsCells = hs_.internalField();
|
scalarField& hsCells = hs_.internalField();
|
||||||
|
|||||||
@ -118,9 +118,11 @@ Foam::hRhoThermo<MixtureType>::hRhoThermo(const fvMesh& mesh)
|
|||||||
),
|
),
|
||||||
mesh,
|
mesh,
|
||||||
dimEnergy/dimMass,
|
dimEnergy/dimMass,
|
||||||
this->hBoundaryTypes()
|
this->hBoundaryTypes(),
|
||||||
|
mesh.boundaryMesh().types()
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
||||||
scalarField& hCells = h_.internalField();
|
scalarField& hCells = h_.internalField();
|
||||||
const scalarField& TCells = this->T_.internalField();
|
const scalarField& TCells = this->T_.internalField();
|
||||||
|
|
||||||
@ -138,6 +140,7 @@ Foam::hRhoThermo<MixtureType>::hRhoThermo(const fvMesh& mesh)
|
|||||||
hBoundaryCorrection(h_);
|
hBoundaryCorrection(h_);
|
||||||
|
|
||||||
calculate();
|
calculate();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -118,7 +118,8 @@ Foam::hsRhoThermo<MixtureType>::hsRhoThermo(const fvMesh& mesh)
|
|||||||
),
|
),
|
||||||
mesh,
|
mesh,
|
||||||
dimEnergy/dimMass,
|
dimEnergy/dimMass,
|
||||||
this->hBoundaryTypes()
|
this->hBoundaryTypes(),
|
||||||
|
mesh.boundaryMesh().types()
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
scalarField& hsCells = hs_.internalField();
|
scalarField& hsCells = hs_.internalField();
|
||||||
|
|||||||
Reference in New Issue
Block a user