ENH: film-pyrolysic BC updates

This commit is contained in:
andy
2013-11-12 10:14:21 +00:00
parent 4413212d99
commit 969dd7e7a3
2 changed files with 41 additions and 36 deletions

View File

@ -122,7 +122,6 @@ filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
filmRegionName_("surfaceFilmProperties"), filmRegionName_("surfaceFilmProperties"),
pyrolysisRegionName_("pyrolysisProperties"), pyrolysisRegionName_("pyrolysisProperties"),
TnbrName_("undefined-Tnbr"), TnbrName_("undefined-Tnbr"),
QrNbrName_("undefined-QrNbr"),
QrName_("undefined-Qr"), QrName_("undefined-Qr"),
convectiveScaling_(1.0), convectiveScaling_(1.0),
filmDeltaDry_(0.0), filmDeltaDry_(0.0),
@ -148,7 +147,6 @@ filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
filmRegionName_(psf.filmRegionName_), filmRegionName_(psf.filmRegionName_),
pyrolysisRegionName_(psf.pyrolysisRegionName_), pyrolysisRegionName_(psf.pyrolysisRegionName_),
TnbrName_(psf.TnbrName_), TnbrName_(psf.TnbrName_),
QrNbrName_(psf.QrNbrName_),
QrName_(psf.QrName_), QrName_(psf.QrName_),
convectiveScaling_(psf.convectiveScaling_), convectiveScaling_(psf.convectiveScaling_),
filmDeltaDry_(psf.filmDeltaDry_), filmDeltaDry_(psf.filmDeltaDry_),
@ -175,7 +173,6 @@ filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
dict.lookupOrDefault<word>("pyrolysisRegion", "pyrolysisProperties") dict.lookupOrDefault<word>("pyrolysisRegion", "pyrolysisProperties")
), ),
TnbrName_(dict.lookup("Tnbr")), TnbrName_(dict.lookup("Tnbr")),
QrNbrName_(dict.lookup("QrNbr")),
QrName_(dict.lookup("Qr")), QrName_(dict.lookup("Qr")),
convectiveScaling_(dict.lookupOrDefault<scalar>("convectiveScaling", 1.0)), convectiveScaling_(dict.lookupOrDefault<scalar>("convectiveScaling", 1.0)),
filmDeltaDry_(readScalar(dict.lookup("filmDeltaDry"))), filmDeltaDry_(readScalar(dict.lookup("filmDeltaDry"))),
@ -231,7 +228,6 @@ filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
filmRegionName_(psf.filmRegionName_), filmRegionName_(psf.filmRegionName_),
pyrolysisRegionName_(psf.pyrolysisRegionName_), pyrolysisRegionName_(psf.pyrolysisRegionName_),
TnbrName_(psf.TnbrName_), TnbrName_(psf.TnbrName_),
QrNbrName_(psf.QrNbrName_),
QrName_(psf.QrName_), QrName_(psf.QrName_),
convectiveScaling_(psf.convectiveScaling_), convectiveScaling_(psf.convectiveScaling_),
filmDeltaDry_(psf.filmDeltaDry_), filmDeltaDry_(psf.filmDeltaDry_),
@ -241,8 +237,7 @@ filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField:: void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs()
updateCoeffs()
{ {
if (updated()) if (updated())
{ {
@ -294,34 +289,49 @@ updateCoeffs()
const pyrolysisModelType& pyrolysis = pyrModel(); const pyrolysisModelType& pyrolysis = pyrModel();
const filmModelType& film = filmModel(); const filmModelType& film = filmModel();
label myPatchINrbPatchI = -1;
// Obtain Rad heat (Qr) // Obtain Rad heat (Qr)
scalarField Qr(patch().size(), 0.0); scalarField Qr(patch().size(), 0.0);
if (QrName_ != "none") // primary region (region0)
label coupledPatchI = -1;
if (pyrolysisRegionName_ == mesh.name())
{ {
Qr = patch().lookupPatchField<volScalarField, scalar>(QrName_); coupledPatchI = patchI;
myPatchINrbPatchI = nbrPatch.index(); if (QrName_ != "none")
{
Qr = nbrPatch.lookupPatchField<volScalarField, scalar>(QrName_);
mpp.distribute(Qr);
}
}
else if (pyrolysis.primaryMesh().name() == mesh.name())
{
coupledPatchI = nbrPatch.index();
if (QrName_ != "none")
{
Qr = patch().lookupPatchField<volScalarField, scalar>(QrName_);
}
}
else
{
FatalErrorIn
(
"void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::"
"updateCoeffs()"
)
<< type() << " condition is intended to be applied to either the "
<< "primary or pyrolysis regions only"
<< exit(FatalError);
} }
if (QrNbrName_ != "none") // pyrolysis region const label filmPatchI = pyrolysis.nbrCoupledPatchID(film, coupledPatchI);
{
Qr = nbrPatch.lookupPatchField<volScalarField, scalar>(QrNbrName_);
mpp.distribute(Qr);
myPatchINrbPatchI = patchI;
}
const label filmPatchI =
pyrolysis.nbrCoupledPatchID(film, myPatchINrbPatchI);
const scalarField htcw(film.htcw().h()().boundaryField()[filmPatchI]); const scalarField htcw(film.htcw().h()().boundaryField()[filmPatchI]);
// Obtain htcw // Obtain htcw
htcwfilm = htcwfilm =
const_cast<pyrolysisModelType&>(pyrolysis).mapRegionPatchField pyrolysis.mapRegionPatchField
( (
film, film,
myPatchINrbPatchI, coupledPatchI,
filmPatchI, filmPatchI,
htcw, htcw,
true true
@ -335,11 +345,11 @@ updateCoeffs()
// Obtain delta // Obtain delta
filmDelta = filmDelta =
const_cast<pyrolysisModelType&>(pyrolysis).mapRegionPatchField<scalar> pyrolysis.mapRegionPatchField<scalar>
( (
film, film,
"deltaf", "deltaf",
myPatchINrbPatchI, coupledPatchI,
true true
); );
@ -414,14 +424,13 @@ void filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::write
pyrolysisRegionName_ pyrolysisRegionName_
); );
os.writeKeyword("Tnbr")<< TnbrName_ << token::END_STATEMENT << nl; os.writeKeyword("Tnbr")<< TnbrName_ << token::END_STATEMENT << nl;
os.writeKeyword("QrNbr")<< QrNbrName_ << token::END_STATEMENT << nl;
os.writeKeyword("Qr")<< QrName_ << token::END_STATEMENT << nl; os.writeKeyword("Qr")<< QrName_ << token::END_STATEMENT << nl;
os.writeKeyword("convectiveScaling") << convectiveScaling_ os.writeKeyword("convectiveScaling") << convectiveScaling_
<< token::END_STATEMENT << nl; << token::END_STATEMENT << nl;
os.writeKeyword("filmDeltaDry") << filmDeltaDry_ << os.writeKeyword("filmDeltaDry") << filmDeltaDry_
token::END_STATEMENT << nl; << token::END_STATEMENT << nl;
os.writeKeyword("filmDeltaWet") << filmDeltaWet_ << os.writeKeyword("filmDeltaWet") << filmDeltaWet_
token::END_STATEMENT << endl; << token::END_STATEMENT << endl;
temperatureCoupledBase::write(os); temperatureCoupledBase::write(os);
} }

View File

@ -38,7 +38,6 @@ Description
type filmPyrolysisRadiativeCoupledMixed; type filmPyrolysisRadiativeCoupledMixed;
Tnbr T; Tnbr T;
kappa fluidThermo; kappa fluidThermo;
QrNbr none;
Qr Qr; Qr Qr;
kappaName none; kappaName none;
filmDeltaDry 0.0; filmDeltaDry 0.0;
@ -91,7 +90,7 @@ namespace Foam
{ {
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class filmPyrolysisRadiativeCoupledMixedFvPatchScalarField Declaration Class filmPyrolysisRadiativeCoupledMixedFvPatchScalarField Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class filmPyrolysisRadiativeCoupledMixedFvPatchScalarField class filmPyrolysisRadiativeCoupledMixedFvPatchScalarField
@ -121,10 +120,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 neighbout region //- Name of the radiative heat flux
const word QrNbrName_;
//- Name of the radiative heat flux in local region
const word QrName_; const word QrName_;
//- Convective Scaling Factor (as determined by Prateep's tests) //- Convective Scaling Factor (as determined by Prateep's tests)