Foam::WetParcel<ParcelType>::WetParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), Vliq_(0.0) { if (readFields) { if (is.format() == IOstream::ASCII) { Vliq_ = readScalar(is); } else { is.read ( reinterpret_cast<char*>(&Vliq_), sizeof(Vliq_) ); } } // Check state of Istream is.check ( "WetParcel<ParcelType>::WetParcel" "(const polyMesh&, Istream&, bool)" ); }
Foam::ReactingParcel<ParcelType>::ReactingParcel ( const Cloud<ParcelType>& cloud, Istream& is, bool readFields ) : ThermoParcel<ParcelType>(cloud, is, readFields), mass0_(0.0), Y_(0), pc_(0.0) { if (readFields) { const ReactingCloud<ParcelType>& cR = dynamic_cast<const ReactingCloud<ParcelType>&>(cloud); const label nMixture = cR.composition().phaseTypes().size(); Y_.setSize(nMixture); if (is.format() == IOstream::ASCII) { is >> mass0_ >> Y_; } else {
bool Foam::functionEntries::codeStream::execute ( const dictionary& parentDict, primitiveEntry& entry, Istream& is ) { Info<< "Using #codeStream at line " << is.lineNumber() << " in file " << parentDict.name() << endl; dynamicCode::checkSecurity ( "functionEntries::codeStream::execute(..)", parentDict ); // get code dictionary // must reference parent for stringOps::expand to work nicely dictionary codeDict("#codeStream", parentDict, is); streamingFunctionType function = getFunction(parentDict, codeDict); // use function to write stream OStringStream os(is.format()); (*function)(os, parentDict); // get the entry from this stream IStringStream resultStream(os.str()); entry.read(parentDict, resultStream); return true; }
Foam::KinematicParcel<ParcelType>::KinematicParcel ( const Cloud<ParcelType>& cloud, Istream& is, bool readFields ) : Particle<ParcelType>(cloud, is, readFields), typeId_(0), nParticle_(0.0), d_(0.0), U_(vector::zero), rho_(0.0), tTurb_(0.0), UTurb_(vector::zero), rhoc_(0.0), Uc_(vector::zero), muc_(0.0) { if (readFields) { if (is.format() == IOstream::ASCII) { typeId_ = readLabel(is); nParticle_ = readScalar(is); d_ = readScalar(is); is >> U_; rho_ = readScalar(is); tTurb_ = readScalar(is); is >> UTurb_; } else {
Foam::string Foam::functionEntries::negEntry::negateVariable ( const dictionary& parentDict, Istream& is ) { // Read variable name as a word including the '$' const word varWord(is); if (varWord[0] != '$') { FatalIOErrorInFunction ( parentDict ) << "Expected variable name beginning with a '$' but found '" << varWord << "'" << exit(FatalIOError); return string::null; } // Strip the leading '$' from the variable name const string varName = varWord(1, varWord.size()-1); // Lookup the variable name in the parent dictionary.... const entry* ePtr = parentDict.lookupScopedEntryPtr(varName, true, false); if (ePtr && ePtr->isStream()) { const token variable(ePtr->stream()); // Convert to a string OStringStream os(is.format()); os << variable; const string str(os.str()); // Negate if (str[0] == '-') { return str(1, str.size() - 1); } else { return '-' + str; } } else { FatalIOErrorInFunction ( parentDict ) << "Illegal dictionary variable name " << varName << endl << "Valid dictionary entries are " << parentDict.toc() << exit(FatalIOError); return string::null; } }
Foam::primitiveEntry::primitiveEntry(const keyType& key, Istream& is) : entry(key), ITstream ( is.name() + '.' + key, tokenList(10), is.format(), is.version() ) { readEntry(dictionary::null, is); }
Foam::KinematicParcel<ParcelType>::KinematicParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), active_(false), typeId_(0), nParticle_(0.0), d_(0.0), dTarget_(0.0), U_(vector::zero), f_(vector::zero), angularMomentum_(vector::zero), torque_(vector::zero), rho_(0.0), age_(0.0), tTurb_(0.0), UTurb_(vector::zero), rhoc_(0.0), Uc_(vector::zero), muc_(0.0) { if (readFields) { if (is.format() == IOstream::ASCII) { active_ = readBool(is); typeId_ = readLabel(is); nParticle_ = readScalar(is); d_ = readScalar(is); dTarget_ = readScalar(is); is >> U_; is >> f_; is >> angularMomentum_; is >> torque_; rho_ = readScalar(is); age_ = readScalar(is); tTurb_ = readScalar(is); is >> UTurb_; } else {
Foam::parcel::parcel ( const Cloud<parcel>& cloud, Istream& is, bool readFields ) : Particle<parcel>(cloud, is, readFields), liquidComponents_ ( (cloud.pMesh().lookupObject<dictionary>("thermophysicalProperties")) .lookup("liquidComponents") ), X_(liquidComponents_.size(), 0.0), tMom_(GREAT) { label nX = X_.size(); if (readFields) { if (is.format() == IOstream::ASCII) { d_ = readScalar(is); T_ = readScalar(is); m_ = readScalar(is); y_ = readScalar(is); yDot_ = readScalar(is); ct_ = readScalar(is); ms_ = readScalar(is); tTurb_ = readScalar(is); liquidCore_ = readScalar(is); injector_ = readScalar(is); is >> U_; is >> Uturb_; is >> n_; for (label j=0; j<nX; j++) { X_[j] = readScalar(is); } } else {
Foam::MPPICParcel<ParcelType>::MPPICParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), UCorrect_(Zero) { if (readFields) { if (is.format() == IOstream::ASCII) { is >> UCorrect_; } else {
Foam::findCellParticle::findCellParticle ( const polyMesh& mesh, Istream& is, bool readFields ) : particle(mesh, is, readFields) { if (readFields) { if (is.format() == IOstream::ASCII) { is >> displacement_; data_ = readLabel(is); } else {
Foam::SprayParcel<ParcelType>::SprayParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), d0_(0.0), position0_(vector::zero), sigma_(0.0), mu_(0.0), liquidCore_(0.0), KHindex_(0.0), y_(0.0), yDot_(0.0), tc_(0.0), ms_(0.0), injector_(1.0), tMom_(GREAT), user_(0.0) { if (readFields) { if (is.format() == IOstream::ASCII) { d0_ = readScalar(is); is >> position0_; sigma_ = readScalar(is); mu_ = readScalar(is); liquidCore_ = readScalar(is); KHindex_ = readScalar(is); y_ = readScalar(is); yDot_ = readScalar(is); tc_ = readScalar(is); ms_ = readScalar(is); injector_ = readScalar(is); tMom_ = readScalar(is); user_ = readScalar(is); } else {
Foam::trackedParticle::trackedParticle ( const polyMesh& mesh, Istream& is, bool readFields ) : particle(mesh, is, readFields) { if (readFields) { if (is.format() == IOstream::ASCII) { is >> end_; level_ = readLabel(is); i_ = readLabel(is); j_ = readLabel(is); } else {
Foam::molecule::molecule ( const Cloud<molecule>& cloud, Istream& is, bool readFields ) : Particle<molecule>(cloud, is, readFields), Q_(tensor::zero), v_(vector::zero), a_(vector::zero), pi_(vector::zero), tau_(vector::zero), specialPosition_(vector::zero), potentialEnergy_(0.0), rf_(tensor::zero), special_(0), id_(0), siteForces_(0), sitePositions_(0) { if (readFields) { if (is.format() == IOstream::ASCII) { is >> Q_; is >> v_; is >> a_; is >> pi_; is >> tau_; is >> siteForces_; is >> sitePositions_; is >> specialPosition_; potentialEnergy_ = readScalar(is); is >> rf_; special_ = readLabel(is); id_ = readLabel(is); } else {
Foam::DSMCParcel<ParcelType>::DSMCParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), U_(vector::zero), Ei_(0.0), typeId_(-1) { if (readFields) { if (is.format() == IOstream::ASCII) { is >> U_; Ei_ = readScalar(is); typeId_ = readLabel(is); } else {
Foam::ReactingParcel<ParcelType>::ReactingParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), mass0_(0.0), Y_(0), pc_(0.0) { if (readFields) { DynamicList<scalar> Ymix; if (is.format() == IOstream::ASCII) { is >> mass0_ >> Ymix; } else {
Foam::DsmcParcel<ParcelType>::DsmcParcel ( const Cloud<ParcelType>& cloud, Istream& is, bool readFields ) : Particle<ParcelType>(cloud, is, readFields), U_(vector::zero), Ei_(0.0), typeId_(-1) { if (readFields) { if (is.format() == IOstream::ASCII) { is >> U_; Ei_ = readScalar(is); typeId_ = readLabel(is); } else {
Foam::CollidingParcel<ParcelType>::CollidingParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), f_(Zero), angularMomentum_(Zero), torque_(Zero), collisionRecords_() { if (readFields) { if (is.format() == IOstream::ASCII) { is >> f_; is >> angularMomentum_; is >> torque_; } else {
Foam::particle::particle(const polyMesh& mesh, Istream& is, bool readFields) : mesh_(mesh), position_(), cellI_(-1), faceI_(-1), stepFraction_(0.0), tetFaceI_(-1), tetPtI_(-1), origProc_(Pstream::myProcNo()), origId_(-1) { // readFields : read additional data. Should be consistent with writeFields. if (is.format() == IOstream::ASCII) { is >> position_ >> cellI_; if (readFields) { is >> tetFaceI_ >> tetPtI_ >> origProc_ >> origId_; } }
Foam::ThermoParcel<ParcelType>::ThermoParcel ( const Cloud<ParcelType>& cloud, Istream& is, bool readFields ) : KinematicParcel<ParcelType>(cloud, is, readFields), T_(0.0), cp_(0.0), Tc_(0.0), cpc_(0.0) { if (readFields) { if (is.format() == IOstream::ASCII) { T_ = readScalar(is); cp_ = readScalar(is); } else { is.read ( reinterpret_cast<char*>(&T_), + sizeof(T_) + sizeof(cp_) ); } } // Check state of Istream is.check ( "ThermoParcel::ThermoParcel(const Cloud<ParcelType>&, Istream&, bool)" ); }
Foam::Particle<ParticleType>::Particle ( const Cloud<ParticleType>& cloud, Istream& is, bool readFields ) : cloud_(cloud), facei_(-1), stepFraction_(0.0), origProc_(Pstream::myProcNo()), origId_(-1) { // readFields : read additional data. Should be consistent with writeFields. if (is.format() == IOstream::ASCII) { is >> position_ >> celli_; if (readFields) { is >> origProc_ >> origId_; } }
bool Foam::IOobject::readHeader(Istream& is) { if (IOobject::debug) { Info<< "IOobject::readHeader(Istream&) : reading header for file " << is.name() << endl; } // Check Istream not already bad if (!is.good()) { if (rOpt_ == MUST_READ || rOpt_ == MUST_READ_IF_MODIFIED) { FatalIOErrorIn("IOobject::readHeader(Istream&)", is) << " stream not open for reading essential object from file " << is.name() << exit(FatalIOError); } if (IOobject::debug) { SeriousIOErrorIn("IOobject::readHeader(Istream&)", is) << " stream not open for reading from file " << is.name() << endl; } return false; } token firstToken(is); if ( is.good() && firstToken.isWord() && firstToken.wordToken() == "FoamFile" ) { dictionary headerDict(is); is.version(headerDict.lookup("version")); is.format(headerDict.lookup("format")); headerClassName_ = word(headerDict.lookup("class")); const word headerObject(headerDict.lookup("object")); if (IOobject::debug && headerObject != name()) { IOWarningIn("IOobject::readHeader(Istream&)", is) << " object renamed from " << name() << " to " << headerObject << " for file " << is.name() << endl; } // The note entry is optional headerDict.readIfPresent("note", note_); } else { SeriousIOErrorIn("IOobject::readHeader(Istream&)", is) << "First token could not be read or is not the keyword 'FoamFile'" << nl << nl << "Check header is of the form:" << nl << endl; writeHeader(Info); return false; } // Check stream is still OK if (is.good()) { objState_ = GOOD; } else { if (rOpt_ == MUST_READ || rOpt_ == MUST_READ_IF_MODIFIED) { FatalIOErrorIn("IOobject::readHeader(Istream&)", is) << " stream failure while reading header" << " on line " << is.lineNumber() << " of file " << is.name() << " for essential object" << name() << exit(FatalIOError); } if (IOobject::debug) { Info<< "IOobject::readHeader(Istream&) :" << " stream failure while reading header" << " on line " << is.lineNumber() << " of file " << is.name() << endl; } objState_ = BAD; return false; } if (IOobject::debug) { Info<< " .... read" << endl; } return true; }
Foam::WetParcel<ParcelType>::WetParcel ( const polyMesh& mesh, Istream& is, bool readFields ) : ParcelType(mesh, is, readFields), Vliq_(0.0), partVliq_(), liquidPositionVectors_(), liquidPositions_(), contactList_(), previousContactList_() { if (readFields) { if (is.format() == IOstream::ASCII) { Vliq_ = readScalar(is); partVliq_ = readList<scalar>(is); liquidPositions_ = readList<vector>(is); liquidPositionVectors_ = readList<vector>(is); contactList_ = readList<label>(is); previousContactList_ = readList<label>(is); } else { /* is.read ( reinterpret_cast<char*>(&Vliq_), sizeof(Vliq_) ); is.read ( reinterpret_cast<char*>(&partVliq_), sizeof(partVliq_) ); is.read ( reinterpret_cast<char*>(&liquidPositions_), sizeof(liquidPositions_) ); is.read ( reinterpret_cast<char*>(&liquidPositionVectors_), sizeof(liquidPositionVectors_) ); */ is.read ( reinterpret_cast<char*>(&Vliq_), sizeof(Vliq_) +sizeof(partVliq_) +sizeof(liquidPositionVectors_) +sizeof(liquidPositions_) +sizeof(contactList_) +sizeof(previousContactList_) ); } } // Check state of Istream is.check ( "WetParcel<ParcelType>::WetParcel" "(const polyMesh&, Istream&, bool)" ); }