/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 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 . \*---------------------------------------------------------------------------*/ #include "UniformDimensionedField.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template Foam::UniformDimensionedField::UniformDimensionedField ( const IOobject& io, const dimensioned& dt ) : regIOobject(io), dimensioned(dt) { // Read value if ( ( io.readOpt() == IOobject::MUST_READ || io.readOpt() == IOobject::MUST_READ_IF_MODIFIED ) || (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk()) ) { dictionary dict(readStream(typeName)); scalar multiplier; this->dimensions().read(dict.lookup("dimensions"), multiplier); dict.lookup("value") >> this->value(); this->value() *= multiplier; } } template Foam::UniformDimensionedField::UniformDimensionedField ( const UniformDimensionedField& rdt ) : regIOobject(rdt), dimensioned(rdt) {} template Foam::UniformDimensionedField::UniformDimensionedField ( const IOobject& io ) : regIOobject(io), dimensioned(regIOobject::name(), dimless, Zero) { dictionary dict(readStream(typeName)); scalar multiplier; this->dimensions().read(dict.lookup("dimensions"), multiplier); dict.lookup("value") >> this->value(); this->value() *= multiplier; } // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // template Foam::UniformDimensionedField::~UniformDimensionedField() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template bool Foam::UniformDimensionedField::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 << nl << nl; return (os.good()); } // * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * // template void Foam::UniformDimensionedField::operator= ( const UniformDimensionedField& rhs ) { dimensioned::operator=(rhs); } template void Foam::UniformDimensionedField::operator= ( const dimensioned& rhs ) { dimensioned::operator=(rhs); } // ************************************************************************* //