CollidingCloud: Allow instantiation of the NoCollision model for steady-state operation

This commit is contained in:
Henry Weller
2017-06-19 15:38:46 +01:00
parent 45ecfbde86
commit c7d9c6d17d

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) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -25,6 +25,7 @@ License
#include "CollidingCloud.H" #include "CollidingCloud.H"
#include "CollisionModel.H" #include "CollisionModel.H"
#include "NoCollision.H"
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
@ -95,13 +96,6 @@ Foam::CollidingCloud<CloudType>::CollidingCloud
constProps_(this->particleProperties()), constProps_(this->particleProperties()),
collisionModel_(nullptr) collisionModel_(nullptr)
{ {
if (this->solution().steadyState())
{
FatalErrorInFunction
<< "Collision modelling not currently available for steady state "
<< "calculations" << exit(FatalError);
}
if (this->solution().active()) if (this->solution().active())
{ {
setModels(); setModels();
@ -111,6 +105,17 @@ Foam::CollidingCloud<CloudType>::CollidingCloud
parcelType::readFields(*this); parcelType::readFields(*this);
this->deleteLostParticles(); this->deleteLostParticles();
} }
if
(
this->solution().steadyState()
&& !isType<NoCollision<CollidingCloud<CloudType>>>(collisionModel_())
)
{
FatalErrorInFunction
<< "Collision modelling not currently available "
<< "for steady state calculations" << exit(FatalError);
}
} }
} }