From d8f33c626ab7e1f9cee0489ff8438d2d37024e91 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 29 Jul 2022 15:01:29 +0100 Subject: [PATCH] ENH: lagrangian intermediate library - added logging controls --- .../Templates/CollidingCloud/CollidingCloud.C | 4 +- .../Templates/KinematicCloud/KinematicCloud.C | 30 ++++++++----- .../Templates/KinematicCloud/KinematicCloud.H | 6 +++ .../clouds/Templates/MPPICCloud/MPPICCloud.C | 6 +-- .../Templates/ReactingCloud/ReactingCloud.C | 2 +- .../ReactingHeterogeneousCloud.C | 3 +- .../ReactingMultiphaseCloud.C | 4 +- .../Templates/ThermoCloud/ThermoCloud.C | 2 +- .../Templates/ThermoCloud/ThermoCloudI.H | 12 +++-- .../FaceInteraction/FaceInteraction.C | 6 +-- .../FacePostProcessing/FacePostProcessing.C | 11 ++--- .../ParticleCollector/ParticleCollector.C | 9 ++-- .../ParticleZoneInfo/ParticleZoneInfo.C | 10 ++--- .../RemoveParcels/RemoveParcels.C | 6 +-- .../HeterogeneousReactingModel.C | 6 ++- .../HeterogeneousReactingModel.H | 4 +- .../InjectedParticleDistributionInjection.C | 4 +- .../InjectedParticleDistributionInjection.H | 4 +- .../InjectedParticleInjection.C | 4 +- .../InjectedParticleInjection.H | 4 +- .../InjectionModel/InjectionModel.C | 8 ++-- .../InjectionModel/InjectionModel.H | 4 +- .../InjectionModel/InjectionModelList.C | 44 ++++++++----------- .../InjectionModel/InjectionModelList.H | 6 +-- .../LocalInteraction/LocalInteraction.C | 8 ++-- .../LocalInteraction/LocalInteraction.H | 4 +- .../MultiInteraction/MultiInteraction.C | 8 ++-- .../MultiInteraction/MultiInteraction.H | 4 +- .../PatchInteractionModel.C | 6 ++- .../PatchInteractionModel.H | 4 +- .../RecycleInteraction/RecycleInteraction.C | 16 +++---- .../RecycleInteraction/RecycleInteraction.H | 4 +- .../StandardWallInteraction.C | 8 ++-- .../StandardWallInteraction.H | 4 +- .../KinematicSurfaceFilm.C | 26 +++-------- .../KinematicSurfaceFilm.H | 4 +- .../NoSurfaceFilm/NoSurfaceFilm.C | 5 --- .../NoSurfaceFilm/NoSurfaceFilm.H | 6 --- .../SurfaceFilmModel/SurfaceFilmModel.C | 6 ++- .../SurfaceFilmModel/SurfaceFilmModel.H | 4 +- .../PhaseChangeModel/PhaseChangeModel.C | 6 ++- .../PhaseChangeModel/PhaseChangeModel.H | 4 +- .../DevolatilisationModel.C | 6 ++- .../DevolatilisationModel.H | 4 +- .../SurfaceReactionModel.C | 6 ++- .../SurfaceReactionModel.H | 4 +- .../ThermoSurfaceFilm/ThermoSurfaceFilm.C | 4 +- .../ThermoSurfaceFilm/ThermoSurfaceFilm.H | 4 +- 48 files changed, 173 insertions(+), 181 deletions(-) diff --git a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C index 7cfca61ea6..89ccfdeee0 100644 --- a/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/CollidingCloud/CollidingCloud.C @@ -208,7 +208,7 @@ void Foam::CollidingCloud::motion if (nSubCycles > 1) { - Info<< " " << nSubCycles << " move-collide subCycles" << endl; + Log_<< " " << nSubCycles << " move-collide subCycles" << endl; subCycleTime moveCollideSubCycle ( @@ -238,7 +238,7 @@ void Foam::CollidingCloud::info() scalar rotationalKineticEnergy = rotationalKineticEnergyOfSystem(); reduce(rotationalKineticEnergy, sumOp()); - Info<< " Rotational kinetic energy = " + Log_<< " Rotational kinetic energy = " << rotationalKineticEnergy << nl; } diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index 460a83a8a3..db2132bf0a 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -133,6 +133,8 @@ void Foam::KinematicCloud::solve { addProfiling(prof, "cloud::solve"); + log = solution_.log(); + if (solution_.steadyState()) { cloud.storeState(); @@ -267,7 +269,7 @@ void Foam::KinematicCloud::postEvolve const typename parcelType::trackingData& td ) { - Info<< endl; + Log_<< endl; if (debug) { @@ -457,7 +459,8 @@ Foam::KinematicCloud::KinematicCloud mesh_, dimensionedScalar(dimMass, Zero) ) - ) + ), + log(true) { if (solution_.active()) { @@ -545,7 +548,8 @@ Foam::KinematicCloud::KinematicCloud ), c.UCoeff_() ) - ) + ), + log(c.log) {} @@ -611,7 +615,8 @@ Foam::KinematicCloud::KinematicCloud UIntegrator_(nullptr), UTrans_(nullptr), - UCoeff_(nullptr) + UCoeff_(nullptr), + log(c.log) {} @@ -743,7 +748,7 @@ void Foam::KinematicCloud::preEvolve // with topology change due to lazy evaluation of valid mesh dimensions label nGeometricD = mesh_.nGeometricD(); - Info<< "\nSolving" << nGeometricD << "-D cloud " << this->name() << endl; + Log_<< "\nSolving" << nGeometricD << "-D cloud " << this->name() << endl; this->dispersion().cacheFields(true); forces_.cacheFields(true); @@ -881,7 +886,7 @@ void Foam::KinematicCloud::info() : 0 ); - Info<< "Cloud: " << this->name() << nl + Log_<< "Cloud: " << this->name() << nl << " Current number of parcels = " << nTotParcel << nl << " Current mass in system = " << returnReduce(massInSystem(), sumOp()) << nl @@ -890,9 +895,10 @@ void Foam::KinematicCloud::info() << " Linear kinetic energy = " << linearKineticEnergy << nl << " Average particle per parcel = " << particlePerParcel << nl; - injectors_.info(Info); - this->surfaceFilm().info(Info); - this->patchInteraction().info(Info); + + injectors_.info(); + this->surfaceFilm().info(); + this->patchInteraction().info(); if (this->packingModel().active()) { @@ -906,8 +912,8 @@ void Foam::KinematicCloud::info() const scalar alphaMin = gMin(alpha().primitiveField()); const scalar alphaMax = gMax(alpha().primitiveField()); - Info<< " Min cell volume fraction = " << alphaMin << endl; - Info<< " Max cell volume fraction = " << alphaMax << endl; + Log_<< " Min cell volume fraction = " << alphaMin << nl + << " Max cell volume fraction = " << alphaMax << endl; if (alphaMax < SMALL) { @@ -933,7 +939,7 @@ void Foam::KinematicCloud::info() reduce(nMin, minOp()); - Info<< " Min dense number of parcels = " << nMin << endl; + Log_<< " Min dense number of parcels = " << nMin << endl; } } diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H index 288c7ec747..267a7643cd 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H @@ -302,6 +302,12 @@ protected: public: + // Public Data + + //- Flag to write log into Info + bool log; + + // Constructors //- Construct given carrier gas fields diff --git a/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C b/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C index 54549cbe8c..14dcb633ed 100644 --- a/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/MPPICCloud/MPPICCloud.C @@ -286,8 +286,8 @@ void Foam::MPPICCloud::info() const scalar alphaMin = gMin(alpha().primitiveField()); const scalar alphaMax = gMax(alpha().primitiveField()); - Info<< " Min cell volume fraction = " << alphaMin << endl; - Info<< " Max cell volume fraction = " << alphaMax << endl; + Log_ << " Min cell volume fraction = " << alphaMin << nl + << " Max cell volume fraction = " << alphaMax << endl; if (alphaMax < SMALL) { @@ -313,7 +313,7 @@ void Foam::MPPICCloud::info() reduce(nMin, minOp()); - Info<< " Min dense number of parcels = " << nMin << endl; + Log_<< " Min dense number of parcels = " << nMin << endl; } diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C index e1b91f5488..f50cdf9c43 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C @@ -336,7 +336,7 @@ void Foam::ReactingCloud::info() { CloudType::info(); - this->phaseChange().info(Info); + this->phaseChange().info(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingHeterogeneousCloud/ReactingHeterogeneousCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingHeterogeneousCloud/ReactingHeterogeneousCloud.C index e11627b45a..11f6214f09 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingHeterogeneousCloud/ReactingHeterogeneousCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingHeterogeneousCloud/ReactingHeterogeneousCloud.C @@ -247,7 +247,8 @@ template void Foam::ReactingHeterogeneousCloud::info() { CloudType::info(); - heterogeneousReactionModel_->info(Info); + + heterogeneousReactionModel_->info(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C index b2b68dae3f..be23dc5fa5 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C @@ -287,8 +287,8 @@ void Foam::ReactingMultiphaseCloud::info() { CloudType::info(); - this->devolatilisation().info(Info); - this->surfaceReaction().info(Info); + this->devolatilisation().info(); + this->surfaceReaction().info(); } diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C index 35a0e140b3..8eacefd6aa 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C @@ -484,7 +484,7 @@ void Foam::ThermoCloud::info() { CloudType::info(); - Info<< " Temperature min/max = " << Tmin() << ", " << Tmax() + Log_<< " Temperature min/max = " << Tmin() << ", " << Tmax() << endl; } diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H index 6413a68b9b..dac71f356e 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloudI.H @@ -226,13 +226,11 @@ template inline Foam::tmp Foam::ThermoCloud::Sh(volScalarField& hs) const { - if (debug) - { - Info<< "hsTrans min/max = " << min(hsTrans()).value() << ", " - << max(hsTrans()).value() << nl - << "hsCoeff min/max = " << min(hsCoeff()).value() << ", " - << max(hsCoeff()).value() << endl; - } + DebugInfo + << "hsTrans min/max = " << min(hsTrans()).value() << ", " + << max(hsTrans()).value() << nl + << "hsCoeff min/max = " << min(hsCoeff()).value() << ", " + << max(hsCoeff()).value() << endl; if (this->solution().coupled()) { diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FaceInteraction/FaceInteraction.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FaceInteraction/FaceInteraction.C index bb2162c1b3..0e06c6e162 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FaceInteraction/FaceInteraction.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FaceInteraction/FaceInteraction.C @@ -70,7 +70,7 @@ void Foam::FaceInteraction::write() const fvMesh& mesh = this->owner().mesh(); const faceZoneMesh& fzm = mesh.faceZones(); - Info<< type() << " output:" << nl; + Log_<< type() << " output:" << nl; // Retrieve any stored data const label nZones = faceZoneIDs_.size(); @@ -98,7 +98,7 @@ void Foam::FaceInteraction::write() forAll(faceZoneIDs_, i) { const label zonei = faceZoneIDs_[i]; - Info<< " Zone : " << fzm[zonei].name() << nl + Log_<< " Zone : " << fzm[zonei].name() << nl << " Escape : " << npe[i] << nl << " Stick : " << nps[i] << nl << " Rebound : " << npr[i] << nl; @@ -116,7 +116,7 @@ void Foam::FaceInteraction::write() << endl; } } - Info<< endl; + Log_<< endl; // Set restart data this->setModelProperty("nEscape", npe); diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C index f6970e42a9..12c6875e99 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C @@ -46,10 +46,7 @@ void Foam::FacePostProcessing::makeLogFile // Create the output file if not already created if (log_) { - if (debug) - { - Info<< "Creating output file." << endl; - } + DebugInfo << "Creating output file." << endl; if (Pstream::master()) { @@ -102,7 +99,7 @@ void Foam::FacePostProcessing::write() const label proci = Pstream::myProcNo(); - Info<< type() << " output:" << nl; + Log_<< type() << " output:" << nl; List zoneMassTotal(mass_.size()); List zoneMassFlowRate(massFlowRate_.size()); @@ -130,7 +127,7 @@ void Foam::FacePostProcessing::write() ); const scalar sumMassFlowRate = sum(zoneMassFlowRate[zoneI]); - Info<< " " << zoneName + Log_<< " " << zoneName << ": total mass = " << sumMassTotal << "; average mass flow rate = " << sumMassFlowRate << nl; @@ -143,7 +140,7 @@ void Foam::FacePostProcessing::write() } } - Info<< endl; + Log_<< endl; if (surfaceFormat_ != "none") diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C index 6cfb6c04d3..d00227e33c 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C @@ -47,10 +47,7 @@ void Foam::ParticleCollector::makeLogFile // Create the output file if not already created if (log_) { - if (debug) - { - Info<< "Creating output file" << endl; - } + DebugInfo<< "Creating output file" << endl; if (Pstream::master()) { @@ -419,7 +416,7 @@ void Foam::ParticleCollector::write() massTotal_[facei] += mass_[facei]; } - Info<< type() << " output:" << nl; + Log_<< type() << " output:" << nl; Field faceMassTotal(mass_.size(), Zero); this->getModelProperty("massTotal", faceMassTotal); @@ -452,7 +449,7 @@ void Foam::ParticleCollector::write() } } - Info<< " sum(total mass) = " << sumTotalMass << nl + Log_<< " sum(total mass) = " << sumTotalMass << nl << " sum(average mass flow rate) = " << sumAverageMFR << nl << endl; diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleZoneInfo/ParticleZoneInfo.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleZoneInfo/ParticleZoneInfo.C index 62d3888342..e78d65a5ee 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleZoneInfo/ParticleZoneInfo.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleZoneInfo/ParticleZoneInfo.C @@ -287,7 +287,7 @@ void Foam::ParticleZoneInfo::postEvolve const typename parcelType::trackingData& td ) { - Info<< this->type() << ":" << nl + Log_<< this->type() << ":" << nl << " Cell zone = " << cellZoneName_ << nl << " Contributions = " << returnReduce(movedParticles_.size(), sumOp