ENH: Added particle maxCo entry in KinematicCloud

This commit is contained in:
andy
2011-01-17 16:41:27 +00:00
parent 0e622a4d86
commit 8c212543f3
3 changed files with 23 additions and 3 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -48,6 +48,7 @@ void Foam::KinematicCloud<ParcelType>::cloudSolution::read()
if (steadyState()) if (steadyState())
{ {
dict_.lookup("calcFrequency") >> calcFrequency_; dict_.lookup("calcFrequency") >> calcFrequency_;
dict_.lookup("maxCo") >> maxCo_;
dict_.lookup("maxTrackTime") >> maxTrackTime_; dict_.lookup("maxTrackTime") >> maxTrackTime_;
dict_.subDict("sourceTerms").lookup("resetOnStartup") dict_.subDict("sourceTerms").lookup("resetOnStartup")
>> resetSourcesOnStartup_; >> resetSourcesOnStartup_;
@ -67,6 +68,7 @@ Foam::KinematicCloud<ParcelType>::cloudSolution::cloudSolution
active_(dict.lookup("active")), active_(dict.lookup("active")),
transient_(false), transient_(false),
calcFrequency_(1), calcFrequency_(1),
maxCo_(0.3),
iter_(1), iter_(1),
deltaT_(0.0), deltaT_(0.0),
coupled_(false), coupled_(false),
@ -92,6 +94,7 @@ Foam::KinematicCloud<ParcelType>::cloudSolution::cloudSolution
active_(cs.active_), active_(cs.active_),
transient_(cs.transient_), transient_(cs.transient_),
calcFrequency_(cs.calcFrequency_), calcFrequency_(cs.calcFrequency_),
maxCo_(cs.maxCo_),
iter_(cs.iter_), iter_(cs.iter_),
deltaT_(cs.deltaT_), deltaT_(cs.deltaT_),
coupled_(cs.coupled_), coupled_(cs.coupled_),
@ -112,6 +115,7 @@ Foam::KinematicCloud<ParcelType>::cloudSolution::cloudSolution
active_(false), active_(false),
transient_(false), transient_(false),
calcFrequency_(0), calcFrequency_(0),
maxCo_(GREAT),
iter_(0), iter_(0),
deltaT_(0.0), deltaT_(0.0),
coupled_(false), coupled_(false),

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -136,6 +136,11 @@ public:
// NOTE: Steady operation only // NOTE: Steady operation only
label calcFrequency_; label calcFrequency_;
//- Maximum particle Courant number
// Max fraction of current cell that can be traversed in a single
// step
scalar maxCo_;
//- Current cloud iteration //- Current cloud iteration
label iter_; label iter_;
@ -218,6 +223,9 @@ public:
//- Return const access to the calculation frequency //- Return const access to the calculation frequency
inline label calcFrequency() const; 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 //- Return const access to the current cloud iteration
inline label iter() const; inline label iter() const;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -99,6 +99,14 @@ Foam::KinematicCloud<ParcelType>::cloudSolution::calcFrequency() const
} }
template<class ParcelType>
inline Foam::scalar
Foam::KinematicCloud<ParcelType>::cloudSolution::maxCo() const
{
return maxCo_;
}
template<class ParcelType> template<class ParcelType>
inline Foam::label Foam::KinematicCloud<ParcelType>::cloudSolution::iter() const inline Foam::label Foam::KinematicCloud<ParcelType>::cloudSolution::iter() const
{ {