tmp<volScalarField> standardRadiation::Shs() { tmp<volScalarField> tShs ( new volScalarField ( IOobject ( typeName + "::Shs", owner().time().timeName(), owner().regionMesh(), IOobject::NO_READ, IOobject::NO_WRITE ), owner().regionMesh(), dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), zeroGradientFvPatchScalarField::typeName ) ); scalarField& Shs = tShs(); const scalarField& QrP = QrPrimary_.internalField(); const scalarField& delta = delta_.internalField(); Shs = beta_*(QrP*pos(delta - deltaMin_))*(1.0 - exp(-kappaBar_*delta)); // Update net Qr on local region QrNet_.internalField() = QrP - Shs; QrNet_.correctBoundaryConditions(); return tShs; }
tmp<volScalarField> constantRadiation::Shs() { tmp<volScalarField> tShs ( new volScalarField ( IOobject ( typeName + ":Shs", owner().time().timeName(), owner().regionMesh(), IOobject::NO_READ, IOobject::NO_WRITE ), owner().regionMesh(), dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0) ) ); const scalar time = owner().time().value(); if ((time >= timeStart_) && (time <= timeStart_ + duration_)) { scalarField& Shs = tShs(); const scalarField& Qr = QrConst_.internalField(); const scalarField& alpha = owner_.alpha().internalField(); Shs = mask_*Qr*alpha*absorptivity_; } return tShs; }
tmp<volScalarField> standardRadiation::Shs() { tmp<volScalarField> tShs ( new volScalarField ( IOobject ( typeName + "_Shs", owner().time().timeName(), owner().regionMesh(), IOobject::NO_READ, IOobject::NO_WRITE ), owner().regionMesh(), dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), zeroGradientFvPatchScalarField::typeName ) ); scalarField& Shs = tShs(); const scalarField& QinP = QinPrimary_.internalField(); const scalarField& delta = owner_.delta().internalField(); const scalarField& alpha = owner_.alpha().internalField(); // kvm, for now assume if surface is wet, then radiation is absorbed by film Shs = QinP*alpha; return tShs; }
tmp<volScalarField> constantRadiation::Shs() { tmp<volScalarField> tShs ( volScalarField::New ( typeName + ":Shs", film().regionMesh(), dimensionedScalar(dimMass/pow3(dimTime), 0) ) ); const scalar time = film().time().value(); if ((time >= timeStart_) && (time <= timeStart_ + duration_)) { scalarField& Shs = tShs.ref(); const scalarField& qr = qrConst_; const scalarField& alpha = filmModel_.alpha(); Shs = mask_*qr*alpha*absorptivity_; } return tShs; }
tmp<volScalarField> rampingRadiation::Shs() { tmp<volScalarField> tShs ( new volScalarField ( IOobject ( typeName + "_Shs", owner().time().timeName(), owner().regionMesh(), IOobject::NO_READ, IOobject::NO_WRITE ), owner().regionMesh(), dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), zeroGradientFvPatchScalarField::typeName ) ); const scalar time = owner().time().value(); if ((time >= timeStart_) && (time <= timeStart_ + duration_)) { if(time > rampStartTime_ + rampTimeInterval_ ){ QrConst_.internalField() += rampStep_; rampStartTime_ += rampTimeInterval_; Info << "time, QrConst = " << time << ", " << gMax(QrConst_) << endl; } scalarField& Shs = tShs(); const scalarField& Qr = QrConst_.internalField(); // const scalarField& alpha = owner_.alpha().internalField(); // Shs = mask_*Qr*alpha*absorptivity_; Shs = mask_*Qr*absorptivity_; // Qin_ is used in turbulentTemperatureRadiationCoupledMixedST // boundary condition Qin_.internalField() = mask_*Qr; Qin_.correctBoundaryConditions(); } return tShs; }
tmp<volScalarField> standardRadiation::Shs() { tmp<volScalarField> tShs ( new volScalarField ( IOobject ( typeName + "::Shs", owner().time().timeName(), owner().regionMesh(), IOobject::NO_READ, IOobject::NO_WRITE ), owner().regionMesh(), dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), zeroGradientFvPatchScalarField::typeName ) ); scalarField& Shs = tShs(); /*QrPrimary is radiation from gas phase*/ const scalarField& QrP = QrPrimary_.internalField(); const scalarField& delta = delta_.internalField(); /*Shs is used in film energy equation*/ /*kvm, for now we assume that water is black to radiation*/ /*Shs = beta_*(QrP*pos(delta - deltaMin_))*(1.0 - exp(-kappaBar_*delta));*/ Shs = QrP*pos(delta - deltaMin_); //kvm, for now assume if surface is wet, then radiation is absorbed by film QrFilm_.internalField() = Shs; //kvm, this opens up the film's absorbed radiation to diagnostics QrFilm_.correctBoundaryConditions(); // Update net Qr on local region /*QrNet_ is passed on to pyrolysis region (Qr in 0/pyrolysisRegion/Qr) */ QrNet_.internalField() = QrP - Shs; QrNet_.correctBoundaryConditions(); return tShs; }
tmp<volScalarField> rampingRadiation::ShsConst() const { tmp<volScalarField> tShs ( new volScalarField ( IOobject ( typeName + "_Shs", owner().time().timeName(), owner().regionMesh(), IOobject::NO_READ, IOobject::NO_WRITE ), owner().regionMesh(), dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0), zeroGradientFvPatchScalarField::typeName ) ); const scalar time = owner().time().value(); if ((time >= timeStart_) && (time <= timeStart_ + duration_)) { scalarField& Shs = tShs(); const scalarField& Qr = QrConst_.internalField(); const scalarField& alpha = owner_.alpha().internalField(); // Shs = mask_*Qr*alpha*absorptivity_; Shs = mask_*Qr*absorptivity_; // Qin_ is used in turbulentTemperatureRadiationCoupledMixedST // boundary condition } return tShs; }
tmp<volScalarField> primaryRadiation::Shs() { tmp<volScalarField> tShs ( volScalarField::New ( typeName + ":Shs", film().regionMesh(), dimensionedScalar(dimMass/pow3(dimTime), 0) ) ); scalarField& Shs = tShs.ref(); const scalarField& qinP = qinPrimary_; const scalarField& alpha = filmModel_.alpha(); Shs = qinP*alpha; return tShs; }