From e846c991ad371028ff17b032ed835c9ba00dd78f Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Mon, 28 Sep 2015 14:30:48 +0100 Subject: [PATCH] KinematicLookupTableInjection: Use 64bit integers to avoid overflow for large numbers of injectors. --- .../KinematicLookupTableInjection.C | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/KinematicLookupTableInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/KinematicLookupTableInjection.C index 293fd7d740..d53b781cdb 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/KinematicLookupTableInjection.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/KinematicLookupTableInjection.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-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -187,7 +187,7 @@ void Foam::KinematicLookupTableInjection::setPositionAndCell } else { - injectorI = parcelI*injectorCells_.size()/nParcels; + injectorI = int64_t(parcelI)*int64_t(injectors_.size())/nParcels; } position = injectors_[injectorI].x(); @@ -206,7 +206,7 @@ void Foam::KinematicLookupTableInjection::setProperties typename CloudType::parcelType& parcel ) { - label injectorI = parcelI*injectorCells_.size()/nParcels; + label injectorI = int64_t(parcelI)*int64_t(injectors_.size())/nParcels; // set particle velocity parcel.U() = injectors_[injectorI].U();