From 21ba59c46da27249e2209408df20f4d3553baf29 Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 1 Jun 2012 14:48:32 +0100 Subject: [PATCH] ENH: lagrangian/intermediate - improved localInteraction restart behaviour --- .../LocalInteraction/LocalInteraction.C | 45 +++++++++++-------- .../LocalInteraction/LocalInteraction.H | 17 +------ 2 files changed, 27 insertions(+), 35 deletions(-) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C index 64be631833..c1ce95e215 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/LocalInteraction/LocalInteraction.C @@ -36,21 +36,11 @@ Foam::LocalInteraction::LocalInteraction : PatchInteractionModel(dict, cloud, typeName), patchData_(cloud.mesh(), this->coeffDict()), - nEscape0_(patchData_.size(), 0), - massEscape0_(patchData_.size(), 0.0), - nStick0_(patchData_.size(), 0), - massStick0_(patchData_.size(), 0.0), nEscape_(patchData_.size(), 0), massEscape_(patchData_.size(), 0.0), nStick_(patchData_.size(), 0), massStick_(patchData_.size(), 0.0) { - // intialise starting counters - this->getModelProperty("nEscape", nEscape0_); - this->getModelProperty("massEscape", massEscape0_); - this->getModelProperty("nStick", nStick0_); - this->getModelProperty("massStick", massStick0_); - // check that interactions are valid/specified forAll(patchData_, patchI) { @@ -81,10 +71,6 @@ Foam::LocalInteraction::LocalInteraction : PatchInteractionModel(pim), patchData_(pim.patchData_), - nEscape0_(pim.nEscape0_), - massEscape0_(pim.massEscape0_), - nStick0_(pim.nStick0_), - massStick0_(pim.massStick0_), nEscape_(pim.nEscape_), massEscape_(pim.massEscape_), nStick_(pim.nStick_), @@ -204,21 +190,35 @@ bool Foam::LocalInteraction::correct template void Foam::LocalInteraction::info(Ostream& os) { - labelList npe(nEscape_); + // retrieve any stored data + labelList npe0(patchData_.size(), 0); + this->getModelProperty("nEscape", npe0); + + scalarList mpe0(patchData_.size(), 0.0); + this->getModelProperty("massEscape", mpe0); + + labelList nps0(patchData_.size(), 0); + this->getModelProperty("nStick", nps0); + + scalarList mps0(patchData_.size(), 0.0); + this->getModelProperty("massStick", mps0); + + // accumulate current data + labelList npe(nEscape_, 0); Pstream::listCombineGather(npe, plusEqOp