void Foam::ThermoParcel<ParcelType>::readFields(Cloud<ParcelType>& c) { if (!c.size()) { return; } KinematicParcel<ParcelType>::readFields(c); IOField<scalar> T(c.fieldIOobject("T", IOobject::MUST_READ)); c.checkFieldIOobject(c, T); IOField<scalar> cp(c.fieldIOobject("cp", IOobject::MUST_READ)); c.checkFieldIOobject(c, cp); label i = 0; forAllIter(typename Cloud<ParcelType>, c, iter) { ThermoParcel<ParcelType>& p = iter(); p.T_ = T[i]; p.cp_ = cp[i]; i++; } }
void Foam::ThermoParcel<ParcelType>::writeFields(const Cloud<ParcelType>& c) { KinematicParcel<ParcelType>::writeFields(c); label np = c.size(); IOField<scalar> T(c.fieldIOobject("T", IOobject::NO_READ), np); IOField<scalar> cp(c.fieldIOobject("cp", IOobject::NO_READ), np); label i = 0; forAllConstIter(typename Cloud<ParcelType>, c, iter) { const ThermoParcel<ParcelType>& p = iter(); T[i] = p.T_; cp[i] = p.cp_; i++; } T.write(); cp.write(); }