void Foam::foamFileSurfaceWriter<Type>::write ( const fileName& outputDir, const fileName& surfaceName, const pointField& points, const faceList& faces, const bool verbose ) const { fileName surfaceDir(outputDir/surfaceName); if (!isDir(surfaceDir)) { mkDir(surfaceDir); } if (verbose) { Info<< "Writing geometry to " << surfaceDir << endl; } // Points OFstream(surfaceDir/"points")() << points; // Faces OFstream(surfaceDir/"faces")() << faces; }
void Foam::JobInfo::write() const { if (writeJobInfo && Pstream::master()) { if (!write(OFstream(runningJobPath_)())) { FatalErrorIn("JobInfo::write() const") << "Failed to write to JobInfo file " << runningJobPath_ << Foam::exit(FatalError); } } }
void Foam::foamSurfaceWriter::write ( const fileName& outputDir, const fileName& surfaceName, const pointField& points, const faceList& faces, const bool verbose ) const { fileName surfaceDir(outputDir/surfaceName); if (!isDir(surfaceDir)) { mkDir(surfaceDir); } if (verbose) { Info<< "Writing geometry to " << surfaceDir << endl; } // Points OFstream(surfaceDir/"points")() << points; // Faces OFstream(surfaceDir/"faces")() << faces; // Face centers. Not really necessary but very handy when reusing as inputs // for e.g. timeVaryingMapped bc. pointField faceCentres(faces.size(),point::zero); forAll(faces, facei) { faceCentres[facei] = faces[facei].centre(points); }
void Foam::JobInfo::end(const word& terminationType) { if (writeJobInfo && constructed && Pstream::master()) { add("cpuTime", cpuTime_.elapsedCpuTime()); add("endDate", clock::date()); add("endTime", clock::clockTime()); if (!found("termination")) { add("termination", terminationType); } rm(runningJobPath_); write(OFstream(finishedJobPath_)()); } constructed = false; }
void Foam::foamFileSurfaceWriter<Type>::write ( const fileName& outputDir, const fileName& surfaceName, const pointField& points, const faceList& faces, const fileName& fieldName, const Field<Type>& values, const bool verbose ) const { fileName surfaceDir(outputDir/surfaceName); if (!isDir(surfaceDir)) { mkDir(surfaceDir); } if (verbose) { Info<< "Writing field " << fieldName << " to " << surfaceDir << endl; } // geometry should already have been written // Values to separate directory (e.g. "scalarField/p") fileName foamName(pTraits<Type>::typeName); fileName valuesDir(surfaceDir / (foamName + Field<Type>::typeName)); if (!isDir(valuesDir)) { mkDir(valuesDir); } // values OFstream(valuesDir/fieldName)() << values; }