Moved conjugate heat transfer library to src

This commit is contained in:
Hrvoje Jasak 2017-02-06 11:31:10 +00:00
parent 98680aceae
commit 71540e2164
71 changed files with 116 additions and 121 deletions

View file

@ -1,5 +1,4 @@
EXE_INC = \
-I../conjugateHeatTransfer/lnInclude \
-I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
-I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
@ -7,8 +6,9 @@ EXE_INC = \
-I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
-I$(LIB_SRC)/coupledMatrix/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude
-I$(LIB_SRC)/conjugateHeatTransfer/lnInclude
EXE_LIBS = \
-lincompressibleTurbulenceModel \

View file

@ -1,5 +1,4 @@
EXE_INC = \
-I../conjugateHeatTransfer/lnInclude \
-I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
-I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \
@ -7,8 +6,9 @@ EXE_INC = \
-I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
-I$(LIB_SRC)/coupledMatrix/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude
-I$(LIB_SRC)/conjugateHeatTransfer/lnInclude
EXE_LIBS = \
-lincompressibleTurbulenceModel \

View file

@ -59,6 +59,8 @@ thermophysicalModels/Allwmake
transportModels/Allwmake
turbulenceModels/Allwmake
lagrangian/Allwmake
wmake libso conjugateHeatTransfer
postProcessing/Allwmake
conversion/Allwmake

View file

@ -47,7 +47,7 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class chtRcTemperatureFvPatchScalarField Declaration
Class chtRcTemperatureFvPatchScalarField Declaration
\*---------------------------------------------------------------------------*/
class chtRcTemperatureFvPatchScalarField
@ -60,7 +60,7 @@ class chtRcTemperatureFvPatchScalarField
word kName_;
//- Take radiation into account for this patch
bool radiation_;
Switch radiation_;
public:
@ -86,7 +86,8 @@ public:
const dictionary&
);
//- Construct by mapping given chtRcTemperatureFvPatchScalarField onto a new patch
//- Construct by mapping given chtRcTemperatureFvPatchScalarField
// onto a new patch
chtRcTemperatureFvPatchScalarField
(
const chtRcTemperatureFvPatchScalarField&,
@ -128,8 +129,26 @@ public:
// Access functions
//- Return kName
const word& kName() const
{
return kName_;
}
//- Return access to kName
word& kName()
{
return kName_;
}
//- Return radiation
bool radiation() const
const Switch& radiation() const
{
return radiation_;
}
//- Return access to radiation
Switch& radiation()
{
return radiation_;
}
@ -158,7 +177,6 @@ public:
//- Write
virtual void write(Ostream&) const;
};

View file

@ -36,14 +36,10 @@ Author
#include "radiationConstants.H"
#include "VectorN.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarField
Foam::chtRcThermalDiffusivityFvPatchScalarField::
chtRcThermalDiffusivityFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF
@ -53,7 +49,8 @@ chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarF
{}
chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarField
Foam::chtRcThermalDiffusivityFvPatchScalarField::
chtRcThermalDiffusivityFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
@ -64,7 +61,8 @@ chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarF
{}
chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarField
Foam::chtRcThermalDiffusivityFvPatchScalarField::
chtRcThermalDiffusivityFvPatchScalarField
(
const chtRcThermalDiffusivityFvPatchScalarField& ptf,
const fvPatch& p,
@ -76,7 +74,8 @@ chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarF
{}
chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarField
Foam::chtRcThermalDiffusivityFvPatchScalarField::
chtRcThermalDiffusivityFvPatchScalarField
(
const chtRcThermalDiffusivityFvPatchScalarField& ptf,
const DimensionedField<scalar, volMesh>& iF
@ -88,7 +87,7 @@ chtRcThermalDiffusivityFvPatchScalarField::chtRcThermalDiffusivityFvPatchScalarF
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void chtRcThermalDiffusivityFvPatchScalarField::evaluate
void Foam::chtRcThermalDiffusivityFvPatchScalarField::evaluate
(
const Pstream::commsTypes
)
@ -97,7 +96,7 @@ void chtRcThermalDiffusivityFvPatchScalarField::evaluate
}
void chtRcThermalDiffusivityFvPatchScalarField::updateCoeffs()
void Foam::chtRcThermalDiffusivityFvPatchScalarField::updateCoeffs()
{
if (updated())
{
@ -109,16 +108,18 @@ void chtRcThermalDiffusivityFvPatchScalarField::updateCoeffs()
void
chtRcThermalDiffusivityFvPatchScalarField::calcThermalDiffusivity
Foam::chtRcThermalDiffusivityFvPatchScalarField::calcThermalDiffusivity
(
chtRegionCoupleBase& owner,
const chtRegionCoupleBase& neighbour
) const
{
if(debug)
if (debug)
{
Info << "In chtRcThermalDiffusivityFvPatchScalarField::calcThermalDiffusivity on "
<< this->dimensionedInternalField().name()
InfoIn
(
"chtRcThermalDiffusivityFvPatchScalarField::calcThermalDiffusivity"
) << "for field " << this->dimensionedInternalField().name()
<< " in " << this->patch().boundaryMesh().mesh().name()
<< endl;
}
@ -158,19 +159,19 @@ chtRcThermalDiffusivityFvPatchScalarField::calcThermalDiffusivity
const scalarField& lfNei = neighbour.originalPatchField();
scalarField lTcNei = TwOwn.shadowPatchField().patchInternalField();
forAll(lData, facei)
forAll (lData, facei)
{
lData[facei][0] = lTcNei[facei];
lData[facei][1] = lfNei[facei];
}
if(TwOwn.shadowPatchField().radiation())
if (TwOwn.shadowPatchField().radiation())
{
const scalarField& lQrNei =
owner.lookupShadowPatchField<volScalarField, scalar>("Qr");
const scalarField& lTwNei = TwOwn.shadowPatchField();
forAll(lData, facei)
forAll (lData, facei)
{
lData[facei][2] = lTwNei[facei];
lData[facei][3] = lQrNei[facei];
@ -180,15 +181,15 @@ chtRcThermalDiffusivityFvPatchScalarField::calcThermalDiffusivity
const Field<VectorN<scalar, 4> > iData =
owner.regionCouplePatch().interpolate(lData);
forAll(iData, facei)
forAll (iData, facei)
{
TcNei[facei] = iData[facei][0];
fNei[facei] = iData[facei][1];
}
if(TwOwn.shadowPatchField().radiation())
if (TwOwn.shadowPatchField().radiation())
{
forAll(iData, facei)
forAll (iData, facei)
{
Qr[facei] += iData[facei][3];
fourQro[facei] +=
@ -205,46 +206,35 @@ chtRcThermalDiffusivityFvPatchScalarField::calcThermalDiffusivity
const scalarField kOwn = fOwn/(1.0 - p.weights())/mld.magDelta(p.index());
const scalarField kNei = fNei/p.weights()/mld.magDelta(p.index());
//Info << "kOwn = " << kOwn << endl;
//Info << "kNei = " << kNei << endl;
//Info << "TcOwn = " << TcOwn << endl;
//Info << "TcNei = " << TcNei << endl;
//Info << "DeltaT = " << TcNei - TcOwn << endl;
//Info << "Qr = " << Qr << endl;
//Info << "kOwn + kNei = " << (kOwn + kNei) << endl;
//Info << "k = " << k << endl;
k = kOwn*(TwOwn*(kNei*(TcNei - TcOwn) + Qr + fourQro) - TcOwn*fourQro);
k /= stabilise((fourQro + TwOwn*(kOwn + kNei))*(TcNei - TcOwn), SMALL);
k /= p.deltaCoeffs();
//Info << "k = " << k << endl;
forAll(k, facei)
forAll (k, facei)
{
k[facei] = max(min(k[facei], 100*kHarm[facei]), 0.01*kHarm[facei]);
}
//Info << "k = " << k << endl;
owner.fvPatchScalarField::updateCoeffs();
}
void
chtRcThermalDiffusivityFvPatchScalarField::calcTemperature
Foam::chtRcThermalDiffusivityFvPatchScalarField::calcTemperature
(
chtRcTemperatureFvPatchScalarField& TwOwn,
const chtRcTemperatureFvPatchScalarField& neighbour,
const chtRegionCoupleBase& ownerK
) const
{
if(debug)
if (debug)
{
Info << "In chtRcThermalDiffusivityFvPatchScalarField::calcTemperature on "
<< this->dimensionedInternalField().name()
InfoIn
(
"chtRcThermalDiffusivityFvPatchScalarField::calcTemperature"
) << "for field " << this->dimensionedInternalField().name()
<< " in " << this->patch().boundaryMesh().mesh().name()
<< endl;
}
@ -280,19 +270,19 @@ chtRcThermalDiffusivityFvPatchScalarField::calcTemperature
scalarField lTcNei =
TwOwn.shadowPatchField().patchInternalField();
forAll(lData, facei)
forAll (lData, facei)
{
lData[facei][0] = lTcNei[facei];
lData[facei][1] = lfNei[facei];
}
if(TwOwn.shadowPatchField().radiation())
if (TwOwn.shadowPatchField().radiation())
{
const scalarField& lTwNei = TwOwn.shadowPatchField();
const scalarField& lQrNei =
TwOwn.lookupShadowPatchField<volScalarField, scalar>("Qr");
forAll(lData, facei)
forAll (lData, facei)
{
lData[facei][2] = lTwNei[facei];
lData[facei][3] = lQrNei[facei];
@ -302,15 +292,15 @@ chtRcThermalDiffusivityFvPatchScalarField::calcTemperature
const Field<VectorN<scalar, 4> > iData =
TwOwn.regionCouplePatch().interpolate(lData);
forAll(iData, facei)
forAll (iData, facei)
{
TcNei[facei] = iData[facei][0];
fNei[facei] = iData[facei][1];
}
if(TwOwn.shadowPatchField().radiation())
if (TwOwn.shadowPatchField().radiation())
{
forAll(iData, facei)
forAll (iData, facei)
{
fourQro[facei] +=
4.0*radiation::sigmaSB.value()*pow4(iData[facei][2]);
@ -322,29 +312,15 @@ chtRcThermalDiffusivityFvPatchScalarField::calcTemperature
const scalarField kOwn = fOwn/(1.0 - p.weights())/mld.magDelta(p.index());
const scalarField kNei = fNei/p.weights()/mld.magDelta(p.index());
//Info << "kOwn = " << kOwn << endl;
//Info << "kNei = " << kNei << endl;
//Info << "TcOwn = " << TcOwn << endl;
//Info << "TcNei = " << TcNei << endl;
//Info << "Qr = " << Qr << " Sum = " << sum(Qr*p.magSf()) << endl;
TwOwn *=
(fourQro + Qr + kOwn*TcOwn + kNei*TcNei)
/(TwOwn*(kOwn + kNei) + fourQro);
//Info << "TwOwn = " << TwOwn << endl;
//scalarField q1 = (TwOwn - TcOwn)*kOwn;
//Info << "q1 = " << q1 << " Sum = " << sum(q1*p.magSf()) << endl;
//scalarField q2 = (TcNei - TcOwn)*ownerK*p.deltaCoeffs();
//Info << "q2 = " << q2 << " Sum = " << sum(q2*p.magSf()) << endl;
TwOwn.fvPatchScalarField::updateCoeffs();
}
void chtRcThermalDiffusivityFvPatchScalarField::write(Ostream& os) const
void Foam::chtRcThermalDiffusivityFvPatchScalarField::write(Ostream& os) const
{
fvPatchScalarField::write(os);
os.writeKeyword("remoteField")
@ -353,19 +329,18 @@ void chtRcThermalDiffusivityFvPatchScalarField::write(Ostream& os) const
}
//- Specify data associated with VectorN<scalar, 4> type is contiguous
template<>
inline bool contiguous<VectorN<scalar, 4> >() {return true;}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makePatchTypeField
(
fvPatchScalarField,
chtRcThermalDiffusivityFvPatchScalarField
);
namespace Foam
{
makePatchTypeField
(
fvPatchScalarField,
chtRcThermalDiffusivityFvPatchScalarField
);
} // End namespace Foam
// ************************************************************************* //

View file

@ -25,10 +25,12 @@ Class
chtRcThermalDiffusivityFvPatchScalarField
Description
Region couple patch field taking radiation into account
Diffusivity for the region couple patch field taking radiation into account
Master side
Author
Henrik Rusche, Wikki GmbH. All rights reserved
Cleaned up by Hrvoje Jasak
SourceFiles
chtRcThermalDiffusivityFvPatchScalarField.C
@ -46,16 +48,13 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class chtRcThermalDiffusivityFvPatchScalarField Declaration
Class chtRcThermalDiffusivityFvPatchScalarField Declaration
\*---------------------------------------------------------------------------*/
class chtRcThermalDiffusivityFvPatchScalarField
:
public chtRegionCoupleBase
{
// Private data
public:
//- Runtime type information
@ -79,7 +78,8 @@ public:
const dictionary&
);
//- Construct by mapping given chtRcThermalDiffusivityFvPatchScalarField onto a new patch
//- Construct by mapping given
// chtRcThermalDiffusivityFvPatchScalarField onto a new patch
chtRcThermalDiffusivityFvPatchScalarField
(
const chtRcThermalDiffusivityFvPatchScalarField&,
@ -119,9 +119,6 @@ public:
// Member functions
// Access
// Evaluation functions
//- Evaluate the patch field
@ -148,7 +145,6 @@ public:
//- Write
virtual void write(Ostream&) const;
};

View file

@ -31,14 +31,10 @@ Author
#include "fvPatchFieldMapper.H"
#include "volFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
chtRcThermalDiffusivitySlaveFvPatchScalarField::chtRcThermalDiffusivitySlaveFvPatchScalarField
Foam::chtRcThermalDiffusivitySlaveFvPatchScalarField::
chtRcThermalDiffusivitySlaveFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF
@ -48,7 +44,8 @@ chtRcThermalDiffusivitySlaveFvPatchScalarField::chtRcThermalDiffusivitySlaveFvPa
{}
chtRcThermalDiffusivitySlaveFvPatchScalarField::chtRcThermalDiffusivitySlaveFvPatchScalarField
Foam::chtRcThermalDiffusivitySlaveFvPatchScalarField::
chtRcThermalDiffusivitySlaveFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
@ -59,7 +56,19 @@ chtRcThermalDiffusivitySlaveFvPatchScalarField::chtRcThermalDiffusivitySlaveFvPa
{}
chtRcThermalDiffusivitySlaveFvPatchScalarField::chtRcThermalDiffusivitySlaveFvPatchScalarField
Foam::chtRcThermalDiffusivitySlaveFvPatchScalarField::
chtRcThermalDiffusivitySlaveFvPatchScalarField
(
const chtRcThermalDiffusivitySlaveFvPatchScalarField& ptf,
const DimensionedField<scalar, volMesh>& iF
)
:
chtRegionCoupleBase(ptf, iF)
{}
Foam::chtRcThermalDiffusivitySlaveFvPatchScalarField::
chtRcThermalDiffusivitySlaveFvPatchScalarField
(
const chtRcThermalDiffusivitySlaveFvPatchScalarField& ptf,
const fvPatch& p,
@ -71,20 +80,10 @@ chtRcThermalDiffusivitySlaveFvPatchScalarField::chtRcThermalDiffusivitySlaveFvPa
{}
chtRcThermalDiffusivitySlaveFvPatchScalarField::chtRcThermalDiffusivitySlaveFvPatchScalarField
(
const chtRcThermalDiffusivitySlaveFvPatchScalarField& ptf,
const DimensionedField<scalar, volMesh>& iF
)
:
chtRegionCoupleBase(ptf, iF)
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
const chtRegionCoupleBase&
chtRcThermalDiffusivitySlaveFvPatchScalarField::shadowPatchField() const
const Foam::chtRegionCoupleBase&
Foam::chtRcThermalDiffusivitySlaveFvPatchScalarField::shadowPatchField() const
{
return dynamic_cast<const chtRegionCoupleBase&>
(
@ -93,7 +92,7 @@ chtRcThermalDiffusivitySlaveFvPatchScalarField::shadowPatchField() const
}
void chtRcThermalDiffusivitySlaveFvPatchScalarField::evaluate
void Foam::chtRcThermalDiffusivitySlaveFvPatchScalarField::evaluate
(
const Pstream::commsTypes
)
@ -102,7 +101,7 @@ void chtRcThermalDiffusivitySlaveFvPatchScalarField::evaluate
}
void chtRcThermalDiffusivitySlaveFvPatchScalarField::updateCoeffs()
void Foam::chtRcThermalDiffusivitySlaveFvPatchScalarField::updateCoeffs()
{
if (updated())
{
@ -115,12 +114,16 @@ void chtRcThermalDiffusivitySlaveFvPatchScalarField::updateCoeffs()
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makePatchTypeField
(
fvPatchScalarField,
chtRcThermalDiffusivitySlaveFvPatchScalarField
);
namespace Foam
{
makePatchTypeField
(
fvPatchScalarField,
chtRcThermalDiffusivitySlaveFvPatchScalarField
);
} // End namespace Foam
// ************************************************************************* //

View file

@ -25,10 +25,12 @@ Class
chtRcThermalDiffusivitySlaveFvPatchScalarField
Description
Region couple patch field taking radiation into account
Diffusivity for the region couple patch field taking radiation into account
Slave side
Author
Henrik Rusche, Wikki GmbH. All rights reserved
Cleaned up by Hrvoje Jasak
SourceFiles
chtRcThermalDiffusivitySlaveFvPatchScalarField.C
@ -49,15 +51,13 @@ class chtThermalDiffusivityRegionCoupleFvPatchScalarField;
class chtTemperatureRegionCoupleFvPatchScalarField;
/*---------------------------------------------------------------------------*\
Class chtRcThermalDiffusivitySlaveFvPatchScalarField Declaration
Class chtRcThermalDiffusivitySlaveFvPatchScalarField Declaration
\*---------------------------------------------------------------------------*/
class chtRcThermalDiffusivitySlaveFvPatchScalarField
:
public chtRegionCoupleBase
{
// Private data
public:
//- Runtime type information
@ -81,7 +81,8 @@ public:
const dictionary&
);
//- Construct by mapping given chtRcThermalDiffusivitySlaveFvPatchScalarField onto a new patch
//- Construct by mapping given
// chtRcThermalDiffusivitySlaveFvPatchScalarField onto a new patch
chtRcThermalDiffusivitySlaveFvPatchScalarField
(
const chtRcThermalDiffusivitySlaveFvPatchScalarField&,