From 8c212543f338cea63f705a58b0d61bae1dc07df5 Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 17 Jan 2011 16:41:27 +0000 Subject: [PATCH] ENH: Added particle maxCo entry in KinematicCloud --- .../clouds/Templates/KinematicCloud/KinematicCloud.C | 6 +++++- .../clouds/Templates/KinematicCloud/KinematicCloud.H | 10 +++++++++- .../clouds/Templates/KinematicCloud/KinematicCloudI.H | 10 +++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index 7f36873837..bec5531f4d 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -48,6 +48,7 @@ void Foam::KinematicCloud::cloudSolution::read() if (steadyState()) { dict_.lookup("calcFrequency") >> calcFrequency_; + dict_.lookup("maxCo") >> maxCo_; dict_.lookup("maxTrackTime") >> maxTrackTime_; dict_.subDict("sourceTerms").lookup("resetOnStartup") >> resetSourcesOnStartup_; @@ -67,6 +68,7 @@ Foam::KinematicCloud::cloudSolution::cloudSolution active_(dict.lookup("active")), transient_(false), calcFrequency_(1), + maxCo_(0.3), iter_(1), deltaT_(0.0), coupled_(false), @@ -92,6 +94,7 @@ Foam::KinematicCloud::cloudSolution::cloudSolution active_(cs.active_), transient_(cs.transient_), calcFrequency_(cs.calcFrequency_), + maxCo_(cs.maxCo_), iter_(cs.iter_), deltaT_(cs.deltaT_), coupled_(cs.coupled_), @@ -112,6 +115,7 @@ Foam::KinematicCloud::cloudSolution::cloudSolution active_(false), transient_(false), calcFrequency_(0), + maxCo_(GREAT), iter_(0), deltaT_(0.0), coupled_(false), diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H index 8e505db45e..69042c2705 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -136,6 +136,11 @@ public: // NOTE: Steady operation only label calcFrequency_; + //- Maximum particle Courant number + // Max fraction of current cell that can be traversed in a single + // step + scalar maxCo_; + //- Current cloud iteration label iter_; @@ -218,6 +223,9 @@ public: //- Return const access to the calculation frequency inline label calcFrequency() const; + //- Return const access to the max particle Courant number + inline scalar maxCo() const; + //- Return const access to the current cloud iteration inline label iter() const; diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H index 9c39742758..457e39abae 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -99,6 +99,14 @@ Foam::KinematicCloud::cloudSolution::calcFrequency() const } +template +inline Foam::scalar +Foam::KinematicCloud::cloudSolution::maxCo() const +{ + return maxCo_; +} + + template inline Foam::label Foam::KinematicCloud::cloudSolution::iter() const {