59 const bool loadFromFiles
68 fieldMinMaxFilePtr_(NULL)
71 if (!isA<fvMesh>(obr_))
76 "fieldMinMax::fieldMinMax"
77 "(const objectRegistry& obr, const dictionary& dict)"
78 ) <<
"No fvMesh available, deactivating."
100 mode_ = modeTypeNames_[dict.
lookup(
"mode")];
101 dict.
lookup(
"fields") >> fieldSet_;
109 if (fieldMinMaxFilePtr_.empty())
113 Info<<
"Creating fieldMinMax file." <<
endl;
125 obr_.time().
path()/
".."/name_/obr_.time().timeName();
130 obr_.time().
path()/name_/obr_.time().timeName();
134 mkDir(fieldMinMaxDir);
137 fieldMinMaxFilePtr_.reset
151 if (fieldMinMaxFilePtr_.valid())
153 fieldMinMaxFilePtr_()
154 <<
"# Time" <<
tab <<
"field" <<
tab <<
"min" <<
tab <<
"max"
181 calcMinMaxFields<scalar>(fieldSet_[fieldI]);
182 calcMinMaxFields<vector>(fieldSet_[fieldI]);
183 calcMinMaxFields<sphericalTensor>(fieldSet_[fieldI]);
184 calcMinMaxFields<symmTensor>(fieldSet_[fieldI]);
185 calcMinMaxFields<tensor>(fieldSet_[fieldI]);
192 void Foam::fieldMinMax::calcMinMaxFields<Foam::scalar>
194 const word& fieldName
201 scalar minValue =
min(field).value();
202 scalar maxValue =
max(field).value();
206 fieldMinMaxFilePtr_() << obr_.time().value() <<
tab
207 << fieldName <<
tab << minValue <<
tab << maxValue <<
endl;
211 Info<<
"fieldMinMax output:" <<
nl
212 <<
" min(" << fieldName <<
") = " << minValue <<
nl
213 <<
" max(" << fieldName <<
") = " << maxValue <<
nl