From ab73bf86ac1ef834243f1b4653c680ea07182c23 Mon Sep 17 00:00:00 2001 From: Tim MJ Nijssen <37873965+tmjnijssen@users.noreply.github.com> Date: Mon, 24 Oct 2022 09:42:25 +0200 Subject: [PATCH] reorder ddtUrelHist and rHist to save memory --- .../ParmarBassetForce/ParmarBassetForce.C | 48 ++++++++----------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/src/lagrangian/cfdemParticle/subModels/forceModel/ParmarBassetForce/ParmarBassetForce.C b/src/lagrangian/cfdemParticle/subModels/forceModel/ParmarBassetForce/ParmarBassetForce.C index d841f3d1..17052c57 100644 --- a/src/lagrangian/cfdemParticle/subModels/forceModel/ParmarBassetForce/ParmarBassetForce.C +++ b/src/lagrangian/cfdemParticle/subModels/forceModel/ParmarBassetForce/ParmarBassetForce.C @@ -72,7 +72,7 @@ ParmarBassetForce::ParmarBassetForce Us_(sm.mesh().lookupObject (UsFieldName_)), nInt_(readLabel(propsDict_.lookup("nIntegral"))), discOrder_(readLabel(propsDict_.lookup("discretisationOrder"))), - nHist_(nInt_+discOrder_+1), + nHist_(nInt_+discOrder_), FHistSize_(2*discOrder_), ddtUrelHistRegName_(typeName + "ddtUrelHist"), // indexed as: ddtUrelHist_[particle ID][iDim*nHist_+iHist] rHistRegName_(typeName + "rHist"), // indexed as: rHist_[particle ID][iHist] @@ -282,18 +282,12 @@ void ParmarBassetForce::setForce() const scalar dt = U_.mesh().time().deltaT().value() / tRef_[index][0]; // dim.less scalar t0 = nInt_*dt; // dim.less - //********* update histories *********// - // non-dimensionlise Urel /= mps; ddtUrel /= mpss; - // update ddtUrel and r history - update_ddtUrelHist(ddtUrelHist_,ddtUrel,index); // add current dim.less ddtUrel to history - update_rHist(rHist_,r,index); // add current r to history - // check length of known history - int nKnown = 0; + int nKnown = 1; // we always know the current step for (int j=0; j0) - { - for (int i=0; i<3; i++) // loop over dimensions - Fshort[i] = -calculateK0(r,dt) * ddtUrelHist_[index][i*nHist_]; - } + for (int i=0; i<3; i++) // loop over dimensions + Fshort[i] = -calculateK0(r,dt) * ddtUrel[i]; // int_dt^t0 K(r,xi) * ddtU(t-xi) dxi (trapezoid rule) if (nShort>2) { - for (int j=1; j