Commit c0ba7bf0 authored by Mark Olesen's avatar Mark Olesen

STYLE: use Ostream writeEntry when writing key/value entries

- makes for clearer code

ENH: make writeIfDifferent part of Ostream
parent 0ca0a626
......@@ -209,16 +209,14 @@ void Foam::smoluchowskiJumpTFvPatchScalarField::write(Ostream& os) const
{
fvPatchScalarField::write(os);
writeEntryIfDifferent<word>(os, "U", "U", UName_);
writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
writeEntryIfDifferent<word>(os, "psi", "thermo:psi", psiName_);
writeEntryIfDifferent<word>(os, "mu", "thermo:mu", muName_);
os.writeEntryIfDifferent<word>("U", "U", UName_);
os.writeEntryIfDifferent<word>("rho", "rho", rhoName_);
os.writeEntryIfDifferent<word>("psi", "thermo:psi", psiName_);
os.writeEntryIfDifferent<word>("mu", "thermo:mu", muName_);
os.writeKeyword("accommodationCoeff")
<< accommodationCoeff_ << token::END_STATEMENT << nl;
os.writeEntry("accommodationCoeff", accommodationCoeff_);
Twall_.writeEntry("Twall", os);
os.writeKeyword("gamma")
<< gamma_ << token::END_STATEMENT << nl;
os.writeEntry("gamma", gamma_);
writeEntry("value", os);
}
......
......@@ -200,18 +200,16 @@ void Foam::maxwellSlipUFvPatchVectorField::updateCoeffs()
void Foam::maxwellSlipUFvPatchVectorField::write(Ostream& os) const
{
fvPatchVectorField::write(os);
writeEntryIfDifferent<word>(os, "T", "T", TName_);
writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
writeEntryIfDifferent<word>(os, "psi", "thermo:psi", psiName_);
writeEntryIfDifferent<word>(os, "mu", "thermo:mu", muName_);
writeEntryIfDifferent<word>(os, "tauMC", "tauMC", tauMCName_);
os.writeKeyword("accommodationCoeff")
<< accommodationCoeff_ << token::END_STATEMENT << nl;
os.writeEntryIfDifferent<word>("T", "T", TName_);
os.writeEntryIfDifferent<word>("rho", "rho", rhoName_);
os.writeEntryIfDifferent<word>("psi", "thermo:psi", psiName_);
os.writeEntryIfDifferent<word>("mu", "thermo:mu", muName_);
os.writeEntryIfDifferent<word>("tauMC", "tauMC", tauMCName_);
os.writeEntry("accommodationCoeff", accommodationCoeff_);
Uwall_.writeEntry("Uwall", os);
os.writeKeyword("thermalCreep")
<< thermalCreep_ << token::END_STATEMENT << nl;
os.writeKeyword("curvature") << curvature_ << token::END_STATEMENT << nl;
os.writeEntry("thermalCreep", thermalCreep_);
os.writeEntry("curvature", curvature_);
refValue().writeEntry("refValue", os);
valueFraction().writeEntry("valueFraction", os);
......
......@@ -117,8 +117,8 @@ void Foam::fixedRhoFvPatchScalarField::write(Ostream& os) const
{
fvPatchScalarField::write(os);
writeEntryIfDifferent<word>(os, "p", "p", this->pName_);
writeEntryIfDifferent<word>(os, "psi", "thermo:psi", psiName_);
os.writeEntryIfDifferent<word>("p", "p", pName_);
os.writeEntryIfDifferent<word>("psi", "thermo:psi", psiName_);
writeEntry("value", os);
}
......
......@@ -125,8 +125,7 @@ alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
void alphaContactAngleFvPatchScalarField::write(Ostream& os) const
{
fvPatchScalarField::write(os);
os.writeKeyword("thetaProperties")
<< thetaProps_ << token::END_STATEMENT << nl;
os.writeEntry("thetaProperties", thetaProps_);
writeEntry("value", os);
}
......
......@@ -125,8 +125,7 @@ alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
void alphaContactAngleFvPatchScalarField::write(Ostream& os) const
{
fvPatchScalarField::write(os);
os.writeKeyword("thetaProperties")
<< thetaProps_ << token::END_STATEMENT << nl;
os.writeEntry("thetaProperties", thetaProps_);
writeEntry("value", os);
}
......
......@@ -125,8 +125,7 @@ alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
void alphaContactAngleFvPatchScalarField::write(Ostream& os) const
{
fvPatchScalarField::write(os);
os.writeKeyword("thetaProperties")
<< thetaProps_ << token::END_STATEMENT << nl;
os.writeEntry("thetaProperties", thetaProps_);
writeEntry("value", os);
}
......
......@@ -125,8 +125,7 @@ alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField
void alphaContactAngleFvPatchScalarField::write(Ostream& os) const
{
fvPatchScalarField::write(os);
os.writeKeyword("thetaProperties")
<< thetaProps_ << token::END_STATEMENT << nl;
os.writeEntry("thetaProperties", thetaProps_);
writeEntry("value", os);
}
......
......@@ -138,9 +138,9 @@ void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::write
) const
{
fvPatchField<scalar>::write(os);
os.writeKeyword("relax") << relax_ << token::END_STATEMENT << nl;
os.writeKeyword("fixedDmdt") << fixedDmdt_ << token::END_STATEMENT << nl;
os.writeKeyword("L") << L_ << token::END_STATEMENT << nl;
os.writeEntry("relax", relax_);
os.writeEntry("fixedDmdt", fixedDmdt_);
os.writeEntry("L", L_);
dmdt_.writeEntry("dmdt", os);
writeEntry("value", os);
}
......
......@@ -334,10 +334,10 @@ void alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::write
) const
{
fvPatchField<scalar>::write(os);
os.writeKeyword("Prt") << Prt_ << token::END_STATEMENT << nl;
os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
os.writeEntry("Prt", Prt_);
os.writeEntry("Cmu", Cmu_);
os.writeEntry("kappa", kappa_);
os.writeEntry("E", E_);
dmdt_.writeEntry("dmdt", os);
writeEntry("value", os);
}
......
......@@ -596,42 +596,36 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::write(Ostream& os) const
{
fvPatchField<scalar>::write(os);
os.writeKeyword("phaseType") << phaseTypeNames_[phaseType_]
<< token::END_STATEMENT << nl;
os.writeEntry("phaseType", phaseTypeNames_[phaseType_]);
os.writeKeyword("relax") << relax_ << token::END_STATEMENT << nl;
os.writeEntry("relax", relax_);
switch (phaseType_)
{
case vaporPhase:
{
os.writeKeyword("partitioningModel") << nl;
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
os.beginBlock("partitioningModel");
partitioningModel_->write(os);
os << decrIndent << indent << token::END_BLOCK << nl;
os.endBlock();
break;
}
case liquidPhase:
{
os.writeKeyword("partitioningModel") << nl;
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
os.beginBlock("partitioningModel");
partitioningModel_->write(os);
os << decrIndent << indent << token::END_BLOCK << nl;
os.endBlock();
os.writeKeyword("nucleationSiteModel") << nl;
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
os.beginBlock("nucleationSiteModel");
nucleationSiteModel_->write(os);
os << decrIndent << indent << token::END_BLOCK << nl;
os.endBlock();
os.writeKeyword("departureDiamModel") << nl;
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
os.beginBlock("departureDiamModel");
departureDiamModel_->write(os);
os << decrIndent << indent << token::END_BLOCK << nl;
os.endBlock();
os.writeKeyword("departureFreqModel") << nl;
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
os.beginBlock("departureFreqModel");
departureFreqModel_->write(os);
os << decrIndent << indent << token::END_BLOCK << nl;
os.endBlock();
break;
}
......
......@@ -109,8 +109,7 @@ void Foam::copiedFixedValueFvPatchScalarField::updateCoeffs()
void Foam::copiedFixedValueFvPatchScalarField::write(Ostream& os) const
{
fvPatchField<scalar>::write(os);
os.writeKeyword("sourceField")
<< sourceFieldName_ << token::END_STATEMENT << nl;
os.writeEntry("sourceField", sourceFieldName_);
writeEntry("value", os);
}
......
......@@ -183,7 +183,7 @@ void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::updateCoeffs()
void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::write(Ostream& os) const
{
fvPatchField<scalar>::write(os);
os.writeKeyword("relax") << relax_ << token::END_STATEMENT << nl;
os.writeEntry("relax", relax_);
q_.writeEntry("q", os);
writeEntry("value", os);
}
......
......@@ -114,7 +114,7 @@ void Foam::wallBoilingModels::departureDiameterModels::
KocamustafaogullariIshii::write(Ostream& os) const
{
departureDiameterModel::write(os);
os.writeKeyword("phi") << phi_ << token::END_STATEMENT << nl;
os.writeEntry("phi", phi_);
}
......
......@@ -90,9 +90,9 @@ void Foam::wallBoilingModels::departureDiameterModels::
TolubinskiKostanchuk::write(Ostream& os) const
{
departureDiameterModel::write(os);
os.writeKeyword("dRef") << dRef_ << token::END_STATEMENT << nl;
os.writeKeyword("dMax") << dMax_ << token::END_STATEMENT << nl;
os.writeKeyword("dMin") << dMin_ << token::END_STATEMENT << nl;
os.writeEntry("dRef", dRef_);
os.writeEntry("dMax", dMax_);
os.writeEntry("dMin", dMin_);
}
......
......@@ -53,7 +53,7 @@ Foam::wallBoilingModels::departureDiameterModel::~departureDiameterModel()
void Foam::wallBoilingModels::departureDiameterModel::write(Ostream& os) const
{
os.writeKeyword("type") << this->type() << token::END_STATEMENT << nl;
os.writeEntry("type", this->type());
}
// ************************************************************************* //
......@@ -53,7 +53,7 @@ Foam::wallBoilingModels::departureFrequencyModel::~departureFrequencyModel()
void Foam::wallBoilingModels::departureFrequencyModel::write(Ostream& os) const
{
os.writeKeyword("type") << this->type() << token::END_STATEMENT << nl;
os.writeEntry("type", this->type());
}
......
......@@ -53,7 +53,7 @@ Foam::wallBoilingModels::nucleationSiteModel::~nucleationSiteModel()
void Foam::wallBoilingModels::nucleationSiteModel::write(Ostream& os) const
{
os.writeKeyword("type") << this->type() << token::END_STATEMENT << nl;
os.writeEntry("type", this->type());
}
......
......@@ -88,7 +88,7 @@ void Foam::wallBoilingModels::partitioningModels::
Lavieville::write(Ostream& os) const
{
partitioningModel::write(os);
os.writeKeyword("alphaCrit") << alphaCrit_ << token::END_STATEMENT << nl;
os.writeEntry("alphaCrit", alphaCrit_);
}
......
......@@ -97,10 +97,8 @@ void Foam::wallBoilingModels::partitioningModels::
cosine::write(Ostream& os) const
{
partitioningModel::write(os);
os.writeKeyword("alphaLiquid1") << alphaLiquid1_
<< token::END_STATEMENT << nl;
os.writeKeyword("alphaLiquid0") << alphaLiquid0_
<< token::END_STATEMENT << nl;
os.writeEntry("alphaLiquid1", alphaLiquid1_);
os.writeEntry("alphaLiquid0", alphaLiquid0_);
}
......
......@@ -90,10 +90,8 @@ void Foam::wallBoilingModels::partitioningModels::
linear::write(Ostream& os) const
{
partitioningModel::write(os);
os.writeKeyword("alphaLiquid1") << alphaLiquid1_
<< token::END_STATEMENT << nl;
os.writeKeyword("alphaLiquid0") << alphaLiquid0_
<< token::END_STATEMENT << nl;
os.writeEntry("alphaLiquid1", alphaLiquid1_);
os.writeEntry("alphaLiquid0", alphaLiquid0_);
}
......
......@@ -53,7 +53,7 @@ Foam::wallBoilingModels::partitioningModel::~partitioningModel()
void Foam::wallBoilingModels::partitioningModel::write(Ostream& os) const
{
os.writeKeyword("type") << this->type() << token::END_STATEMENT << nl;
os.writeEntry("type", this->type());
}
......
......@@ -245,8 +245,7 @@ void Foam::JohnsonJacksonParticleSlipFvPatchVectorField::write
) const
{
fvPatchVectorField::write(os);
os.writeKeyword("specularityCoefficient")
<< specularityCoefficient_ << token::END_STATEMENT << nl;
os.writeEntry("specularityCoefficient", specularityCoefficient_);
writeEntry("value", os);
}
......
......@@ -289,10 +289,8 @@ void Foam::JohnsonJacksonParticleThetaFvPatchScalarField::write
) const
{
fvPatchScalarField::write(os);
os.writeKeyword("restitutionCoefficient")
<< restitutionCoefficient_ << token::END_STATEMENT << nl;
os.writeKeyword("specularityCoefficient")
<< specularityCoefficient_ << token::END_STATEMENT << nl;
os.writeEntry("restitutionCoefficient", restitutionCoefficient_);
os.writeEntry("specularityCoefficient", specularityCoefficient_);
writeEntry("value", os);
}
......
......@@ -245,8 +245,7 @@ void Foam::JohnsonJacksonParticleSlipFvPatchVectorField::write
) const
{
fvPatchVectorField::write(os);
os.writeKeyword("specularityCoefficient")
<< specularityCoefficient_ << token::END_STATEMENT << nl;
os.writeEntry("specularityCoefficient", specularityCoefficient_);
writeEntry("value", os);
}
......
......@@ -289,10 +289,8 @@ void Foam::JohnsonJacksonParticleThetaFvPatchScalarField::write
) const
{
fvPatchScalarField::write(os);
os.writeKeyword("restitutionCoefficient")
<< restitutionCoefficient_ << token::END_STATEMENT << nl;
os.writeKeyword("specularityCoefficient")
<< specularityCoefficient_ << token::END_STATEMENT << nl;
os.writeEntry("restitutionCoefficient", restitutionCoefficient_);
os.writeEntry("specularityCoefficient", specularityCoefficient_);
writeEntry("value", os);
}
......
......@@ -220,11 +220,11 @@ void Foam::CLASS::write
) const
{
FVPATCHF::write(os);
os.writeKeyword("scalarData") << scalarData_ << token::END_STATEMENT << nl;
os.writeKeyword("data") << data_ << token::END_STATEMENT << nl;
os.writeEntry("scalarData", scalarData_);
os.writeEntry("data", data_);
fieldData_.writeEntry("fieldData", os);
timeVsData_->writeData(os);
os.writeKeyword("wordData") << wordData_ << token::END_STATEMENT << nl;
os.writeEntry("wordData", wordData_);
this->writeEntry("value", os);
}
......
......@@ -174,26 +174,12 @@ void Foam::cpuInfo::write(Ostream& os) const
{
os.writeEntry("model_name", model_name);
}
if (cpu_family != -1)
{
os.writeEntry("cpu_family", cpu_family);
}
if (model != -1)
{
os.writeEntry("model", model);
}
if (cpu_MHz > 0)
{
os.writeEntry("cpu_MHz", cpu_MHz);
}
if (cpu_cores > 0)
{
os.writeEntry("cpu_cores", cpu_cores);
}
if (siblings > 0)
{
os.writeEntry("siblings", siblings);
}
os.writeEntryIfDifferent<int>("cpu_family", -1, cpu_family);
os.writeEntryIfDifferent<int>("model", -1, model);
os.writeEntryIfDifferent<float>("cpu_MHz", 0, cpu_MHz);
os.writeEntryIfDifferent<int>("cpu_cores", 0, cpu_cores);
os.writeEntryIfDifferent<int>("siblings", 0, siblings);
}
......
......@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2016-2017 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -211,6 +211,26 @@ public:
return endEntry();
}
//- Write a keyword/value entry only when the two values differ.
// \param key the name of the entry
// \param value1 the reference value
// \param value2 the value to write if it differs from value1
template<class T>
Ostream& writeEntryIfDifferent
(
const word& key,
const T& value1,
const T& value2
)
{
if (value1 != value2)
{
writeEntry(key, value2);
}
return *this;
}
// Stream state functions
......
......@@ -744,16 +744,15 @@ void Foam::Field<Type>::writeEntry(const word& keyword, Ostream& os) const
if (uniform)
{
os << "uniform " << this->operator[](0) << token::END_STATEMENT;
os << "uniform " << this->operator[](0);
}
else
{
os << "nonuniform ";
List<Type>::writeEntry(os);
os << token::END_STATEMENT;
}
os << endl;
os << token::END_STATEMENT << nl;
}
......
......@@ -97,10 +97,8 @@ bool Foam::UniformDimensionedField<Type>::writeData(Ostream& os) const
{
scalar multiplier;
os.writeKeyword("dimensions");
this->dimensions().write(os, multiplier) << token::END_STATEMENT
<< nl;
os.writeKeyword("value") << this->value()/multiplier << token::END_STATEMENT