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 {