mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'feature-iotweaks' into 'develop'
Feature iotweaks Enhancements for #114 and #115. Tagged as WIP, since there may be some need for discussion/rework prior to merging. See merge request !35
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -40,7 +40,7 @@ void Foam::Ostream::decrIndent()
|
||||
}
|
||||
else
|
||||
{
|
||||
indentLevel_--;
|
||||
--indentLevel_;
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,4 +79,35 @@ Foam::Ostream& Foam::Ostream::writeKeyword(const keyType& kw)
|
||||
}
|
||||
|
||||
|
||||
Foam::Ostream& Foam::Ostream::beginBlock(const word& keyword)
|
||||
{
|
||||
indent();
|
||||
write(keyword);
|
||||
endl();
|
||||
beginBlock();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Foam::Ostream& Foam::Ostream::beginBlock()
|
||||
{
|
||||
indent();
|
||||
write(char(token::BEGIN_BLOCK));
|
||||
incrIndent();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Foam::Ostream& Foam::Ostream::endBlock()
|
||||
{
|
||||
decrIndent();
|
||||
indent();
|
||||
write(char(token::END_BLOCK));
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -109,8 +109,8 @@ public:
|
||||
virtual Ostream& write(const word&) = 0;
|
||||
|
||||
//- Write keyType
|
||||
// write regular expression as quoted string
|
||||
// write plain word as word (unquoted)
|
||||
// A plain word is written unquoted.
|
||||
// A regular expression is written as a quoted string.
|
||||
virtual Ostream& write(const keyType&);
|
||||
|
||||
//- Write string
|
||||
@ -157,14 +157,29 @@ public:
|
||||
//- Incrememt the indent level
|
||||
void incrIndent()
|
||||
{
|
||||
indentLevel_++;
|
||||
++indentLevel_;
|
||||
}
|
||||
|
||||
//- Decrememt the indent level
|
||||
void decrIndent();
|
||||
|
||||
//- Write the keyword followed by an appropriate indentation
|
||||
Ostream& writeKeyword(const keyType&);
|
||||
virtual Ostream& writeKeyword(const keyType&);
|
||||
|
||||
//- Write begin block group with the given name
|
||||
// Uses the appropriate indentation,
|
||||
// does not include a trailing newline.
|
||||
virtual Ostream& beginBlock(const word&);
|
||||
|
||||
//- Write begin block group without a name
|
||||
// Uses the appropriate indentation,
|
||||
// does not include a trailing newline.
|
||||
virtual Ostream& beginBlock();
|
||||
|
||||
//- Write end block group
|
||||
// Uses the appropriate indentation,
|
||||
// does not include a trailing newline.
|
||||
virtual Ostream& endBlock();
|
||||
|
||||
|
||||
// Stream state functions
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -174,7 +174,8 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
|
||||
{
|
||||
if (subDict)
|
||||
{
|
||||
os << nl << indent << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
os << nl;
|
||||
os.beginBlock() << nl;
|
||||
}
|
||||
|
||||
forAllConstIter(IDLList<entry>, *this, iter)
|
||||
@ -202,7 +203,7 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
|
||||
|
||||
if (subDict)
|
||||
{
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -569,17 +569,16 @@ template<class Type, template<class> class PatchField, class GeoMesh>
|
||||
void Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricBoundaryField::
|
||||
writeEntry(const word& keyword, Ostream& os) const
|
||||
{
|
||||
os << keyword << nl << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
os.beginBlock(keyword) << nl;
|
||||
|
||||
forAll(*this, patchi)
|
||||
{
|
||||
os << indent << this->operator[](patchi).patch().name() << nl
|
||||
<< indent << token::BEGIN_BLOCK << nl
|
||||
<< incrIndent << this->operator[](patchi) << decrIndent
|
||||
<< indent << token::END_BLOCK << endl;
|
||||
os.beginBlock(this->operator[](patchi).patch().name()) << nl;
|
||||
os << this->operator[](patchi);
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
|
||||
os << decrIndent << token::END_BLOCK << endl;
|
||||
os.endBlock() << endl;
|
||||
|
||||
// Check state of IOstream
|
||||
os.check
|
||||
|
||||
@ -1116,10 +1116,9 @@ bool Foam::polyBoundaryMesh::writeData(Ostream& os) const
|
||||
|
||||
forAll(patches, patchI)
|
||||
{
|
||||
os << indent << patches[patchI].name() << nl
|
||||
<< indent << token::BEGIN_BLOCK << nl
|
||||
<< incrIndent << patches[patchI] << decrIndent
|
||||
<< indent << token::END_BLOCK << endl;
|
||||
os.beginBlock(patches[patchI].name()) << nl;
|
||||
os << patches[patchI];
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
|
||||
os << decrIndent << token::END_LIST;
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -437,12 +437,15 @@ void Foam::plane::writeDict(Ostream& os) const
|
||||
{
|
||||
os.writeKeyword("planeType") << "pointAndNormal"
|
||||
<< token::END_STATEMENT << nl;
|
||||
os << indent << "pointAndNormalDict" << nl
|
||||
<< indent << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
os.writeKeyword("basePoint") << basePoint_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("normalVector") << unitVector_ << token::END_STATEMENT
|
||||
<< nl;
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
|
||||
os.beginBlock("pointAndNormalDict") << nl;
|
||||
|
||||
os.writeKeyword("basePoint") << basePoint_
|
||||
<< token::END_STATEMENT << nl;
|
||||
os.writeKeyword("normalVector") << unitVector_
|
||||
<< token::END_STATEMENT << nl;
|
||||
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -264,16 +264,17 @@ void Foam::Function1Types::CSV<Type>::writeData(Ostream& os) const
|
||||
{
|
||||
Function1<Type>::writeData(os);
|
||||
os << token::END_STATEMENT << nl;
|
||||
os << indent << word(this->name() + "Coeffs") << nl;
|
||||
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
|
||||
os.beginBlock(word(this->name() + "Coeffs")) << nl;
|
||||
|
||||
// Note: for TableBase write the dictionary entries it needs but not
|
||||
// the values themselves
|
||||
TableBase<Type>::writeEntries(os);
|
||||
|
||||
os.writeKeyword("nHeaderLine") << nHeaderLine_ << token::END_STATEMENT
|
||||
<< nl;
|
||||
os.writeKeyword("refColumn") << refColumn_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("nHeaderLine") << nHeaderLine_
|
||||
<< token::END_STATEMENT << nl;
|
||||
os.writeKeyword("refColumn") << refColumn_
|
||||
<< token::END_STATEMENT << nl;
|
||||
|
||||
// Force writing labelList in ascii
|
||||
os.writeKeyword("componentColumns");
|
||||
@ -293,8 +294,10 @@ void Foam::Function1Types::CSV<Type>::writeData(Ostream& os) const
|
||||
<< token::END_STATEMENT << nl;
|
||||
os.writeKeyword("mergeSeparators") << mergeSeparators_
|
||||
<< token::END_STATEMENT << nl;
|
||||
os.writeKeyword("fileName") << fName_ << token::END_STATEMENT << nl;
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
os.writeKeyword("fileName") << fName_
|
||||
<< token::END_STATEMENT << nl;
|
||||
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -90,14 +90,16 @@ void Foam::Function1Types::Sine<Type>::writeData(Ostream& os) const
|
||||
{
|
||||
Function1<Type>::writeData(os);
|
||||
os << token::END_STATEMENT << nl;
|
||||
os << indent << word(this->name() + "Coeffs") << nl;
|
||||
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
|
||||
os.beginBlock(word(this->name() + "Coeffs")) << nl;
|
||||
|
||||
os.writeKeyword("t0") << t0_ << token::END_STATEMENT << nl;
|
||||
amplitude_->writeData(os);
|
||||
frequency_->writeData(os);
|
||||
scale_->writeData(os);
|
||||
level_->writeData(os);
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -103,15 +103,17 @@ void Foam::Function1Types::Square<Type>::writeData(Ostream& os) const
|
||||
{
|
||||
Function1<Type>::writeData(os);
|
||||
os << token::END_STATEMENT << nl;
|
||||
os << indent << word(this->name() + "Coeffs") << nl;
|
||||
os << indent << token::BEGIN_BLOCK << incrIndent << nl;
|
||||
|
||||
os.beginBlock(word(this->name() + "Coeffs")) << nl;
|
||||
|
||||
os.writeKeyword("t0") << t0_ << token::END_STATEMENT << nl;
|
||||
os.writeKeyword("markSpace") << markSpace_ << token::END_STATEMENT << nl;
|
||||
amplitude_->writeData(os);
|
||||
frequency_->writeData(os);
|
||||
scale_->writeData(os);
|
||||
level_->writeData(os);
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -78,17 +78,16 @@ template<class Type>
|
||||
void Foam::Function1Types::TableFile<Type>::writeData(Ostream& os) const
|
||||
{
|
||||
Function1<Type>::writeData(os);
|
||||
os << token::END_STATEMENT << nl;
|
||||
|
||||
os << token::END_STATEMENT << nl
|
||||
<< indent << word(this->name() + "Coeffs") << nl
|
||||
<< indent << token::BEGIN_BLOCK << nl << incrIndent;
|
||||
os.beginBlock(word(this->name() + "Coeffs")) << nl;
|
||||
|
||||
// Note: for TableBase write the dictionary entries it needs but not
|
||||
// the values themselves
|
||||
TableBase<Type>::writeEntries(os);
|
||||
|
||||
os.writeKeyword("fileName")<< fName_ << token::END_STATEMENT << nl;
|
||||
os << decrIndent << indent << token::END_BLOCK << endl;
|
||||
|
||||
os.endBlock() << endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user