diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C index eee3b7e8ec..4f45e019af 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C @@ -275,7 +275,7 @@ bool Foam::KinematicParcel::move const scalar maxCo = td.cloud().solution().maxCo(); scalar tEnd = (1.0 - p.stepFraction())*trackTime; - const scalar dtMax = tEnd; + const scalar dtMax = maxCo*trackTime; bool tracking = true; label nTrackingStalled = 0; diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C index 281cf4ef95..5bcd22421e 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelIO.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -76,20 +76,8 @@ Foam::KinematicParcel::KinematicParcel } else { - is.read - ( - reinterpret_cast(&active_), - sizeof(active_) - + sizeof(typeId_) - + sizeof(nParticle_) - + sizeof(d_) - + sizeof(dTarget_) - + sizeof(U_) - + sizeof(rho_) - + sizeof(age_) - + sizeof(tTurb_) - + sizeof(UTurb_) - ); + label size = long(&UTurb_) - long(&active_) + sizeof(UTurb_); + is.read(reinterpret_cast(&active_), size); } } @@ -248,20 +236,9 @@ Foam::Ostream& Foam::operator<< else { os << static_cast(p); - os.write - ( - reinterpret_cast(&p.active_), - sizeof(p.active()) - + sizeof(p.typeId()) - + sizeof(p.nParticle()) - + sizeof(p.d()) - + sizeof(p.dTarget()) - + sizeof(p.U()) - + sizeof(p.rho()) - + sizeof(p.age()) - + sizeof(p.tTurb()) - + sizeof(p.UTurb()) - ); + + label size = long(&p.UTurb_) - long(&p.active_) + sizeof(p.UTurb_); + os.write(reinterpret_cast(&p.active_), size); } // Check state of Ostream diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C index b2d3989135..73621467dc 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelIO.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -58,12 +58,8 @@ Foam::ThermoParcel::ThermoParcel } else { - is.read - ( - reinterpret_cast(&T_), - + sizeof(T_) - + sizeof(Cp_) - ); + label size = long(&Cp_) - long(&T_) + sizeof(Cp_); + is.read(reinterpret_cast(&T_), size); } } @@ -149,11 +145,9 @@ Foam::Ostream& Foam::operator<< else { os << static_cast(p); - os.write - ( - reinterpret_cast(&p.T_), - sizeof(p.T()) + sizeof(p.Cp()) - ); + + label size = long(&p.Cp_) - long(&p.T_) + sizeof(p.Cp_); + os.write(reinterpret_cast(&p.T_), size); } // Check state of Ostream