mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Encapuslated cloud solution params
This commit is contained in:
@ -36,13 +36,72 @@ License
|
||||
#include "PostProcessingModel.H"
|
||||
#include "SurfaceFilmModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * cloudSolution * * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::KinematicCloud<ParcelType>::cloudSolution::read()
|
||||
{
|
||||
dict_.lookup("coupled") >> coupled_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::cloudSolution
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const dictionary& dict
|
||||
)
|
||||
:
|
||||
mesh_(mesh),
|
||||
dict_(dict),
|
||||
active_(dict.lookup("active")),
|
||||
coupled_(false)
|
||||
{
|
||||
if (active_)
|
||||
{
|
||||
read();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::cloudSolution
|
||||
(
|
||||
const cloudSolution& cs
|
||||
)
|
||||
:
|
||||
mesh_(cs.mesh_),
|
||||
dict_(cs.dict_),
|
||||
active_(cs.active_),
|
||||
coupled_(cs.coupled_)
|
||||
{}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::cloudSolution
|
||||
(
|
||||
const fvMesh& mesh
|
||||
)
|
||||
:
|
||||
mesh_(mesh),
|
||||
dict_(dictionary::null),
|
||||
active_(false),
|
||||
coupled_(false)
|
||||
{}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::~cloudSolution()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
||||
|
||||
template<class ParcelType>
|
||||
void Foam::KinematicCloud<ParcelType>::preEvolve()
|
||||
{
|
||||
this->dispersion().cacheFields(true);
|
||||
forces_.cacheFields(true, interpolationSchemes_);
|
||||
forces_.cacheFields(true, solution_.interpolationSchemes());
|
||||
updateCellOccupancy();
|
||||
}
|
||||
|
||||
@ -98,21 +157,21 @@ void Foam::KinematicCloud<ParcelType>::evolveCloud()
|
||||
autoPtr<interpolation<scalar> > rhoInterpolator =
|
||||
interpolation<scalar>::New
|
||||
(
|
||||
interpolationSchemes_,
|
||||
solution_.interpolationSchemes(),
|
||||
rho_
|
||||
);
|
||||
|
||||
autoPtr<interpolation<vector> > UInterpolator =
|
||||
interpolation<vector>::New
|
||||
(
|
||||
interpolationSchemes_,
|
||||
solution_.interpolationSchemes(),
|
||||
U_
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > muInterpolator =
|
||||
interpolation<scalar>::New
|
||||
(
|
||||
interpolationSchemes_,
|
||||
solution_.interpolationSchemes(),
|
||||
mu_
|
||||
);
|
||||
|
||||
@ -141,7 +200,7 @@ void Foam::KinematicCloud<ParcelType>::evolveCloud()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (coupled_)
|
||||
if (solution_.coupled())
|
||||
{
|
||||
resetSourceTerms();
|
||||
}
|
||||
@ -223,7 +282,7 @@ void Foam::KinematicCloud<ParcelType>::postEvolve()
|
||||
}
|
||||
|
||||
this->dispersion().cacheFields(false);
|
||||
forces_.cacheFields(false, interpolationSchemes_);
|
||||
forces_.cacheFields(false, solution_.interpolationSchemes());
|
||||
|
||||
this->postProcessing().post();
|
||||
}
|
||||
@ -256,11 +315,10 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
),
|
||||
solution_(mesh_, particleProperties_.subDict("solution")),
|
||||
constProps_(particleProperties_),
|
||||
subModelProperties_(particleProperties_.subDict("subModels")),
|
||||
active_(particleProperties_.lookup("active")),
|
||||
parcelTypeId_(readLabel(particleProperties_.lookup("parcelTypeId"))),
|
||||
coupled_(particleProperties_.lookup("coupled")),
|
||||
cellValueSourceCorrection_
|
||||
(
|
||||
particleProperties_.lookup("cellValueSourceCorrection")
|
||||
@ -272,7 +330,6 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
mu_(mu),
|
||||
g_(g),
|
||||
forces_(mesh_, particleProperties_, g_.value()),
|
||||
interpolationSchemes_(particleProperties_.subDict("interpolationSchemes")),
|
||||
dispersionModel_
|
||||
(
|
||||
DispersionModel<KinematicCloud<ParcelType> >::New
|
||||
@ -335,7 +392,7 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
vectorIntegrationScheme::New
|
||||
(
|
||||
"U",
|
||||
particleProperties_.subDict("integrationSchemes")
|
||||
solution_.integrationSchemes()
|
||||
)
|
||||
),
|
||||
UTrans_
|
||||
@ -397,7 +454,7 @@ void Foam::KinematicCloud<ParcelType>::resetSourceTerms()
|
||||
template<class ParcelType>
|
||||
void Foam::KinematicCloud<ParcelType>::evolve()
|
||||
{
|
||||
if (active_)
|
||||
if (solution_.active())
|
||||
{
|
||||
preEvolve();
|
||||
|
||||
|
||||
@ -105,6 +105,83 @@ class KinematicCloud
|
||||
void operator=(const KinematicCloud&);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Cloud solution helper class
|
||||
class cloudSolution
|
||||
{
|
||||
// Private Data
|
||||
|
||||
//- Reference to the mesh
|
||||
const fvMesh& mesh_;
|
||||
|
||||
//- Dictionary used during construction
|
||||
dictionary dict_;
|
||||
|
||||
//- Cloud active flag
|
||||
const Switch active_;
|
||||
|
||||
|
||||
// Run-time options
|
||||
|
||||
//- Flag to indicate whether parcels are coupled to the carrier
|
||||
// phase, i.e. whether or not to generate source terms for
|
||||
// carrier phase
|
||||
Switch coupled_;
|
||||
|
||||
//- Flag to correct cell values with latest transfer information
|
||||
// during the lagrangian timestep
|
||||
Switch cellValueSourceCorrection_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null from mesh reference
|
||||
cloudSolution(const fvMesh& mesh);
|
||||
|
||||
//- Construct from mesh and dictionary
|
||||
cloudSolution(const fvMesh& mesh, const dictionary& dict);
|
||||
|
||||
//- Construct copy
|
||||
cloudSolution(const cloudSolution& cs);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~cloudSolution();
|
||||
|
||||
|
||||
// Member functions
|
||||
|
||||
//- Read properties from dictionary
|
||||
void read();
|
||||
|
||||
// Access
|
||||
|
||||
//- Return reference to the mesh
|
||||
inline const fvMesh& mesh() const;
|
||||
|
||||
//- Return const access to the dictionary
|
||||
inline const dictionary& dict() const;
|
||||
|
||||
//- Return the active flag
|
||||
inline const Switch active() const;
|
||||
|
||||
//- Return const access to the coupled flag
|
||||
inline const Switch coupled() const;
|
||||
|
||||
//- Return const access to the cell value correction flag
|
||||
inline const Switch cellValueSourceCorrection() const;
|
||||
|
||||
//- Interpolation schemes dictionary
|
||||
inline const dictionary& interpolationSchemes() const;
|
||||
|
||||
//- Integration schemes dictionary
|
||||
inline const dictionary& integrationSchemes() const;
|
||||
};
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
@ -115,23 +192,19 @@ protected:
|
||||
//- Dictionary of particle properties
|
||||
IOdictionary particleProperties_;
|
||||
|
||||
//- Sub-models dictionary
|
||||
const dictionary& subModelProperties_;
|
||||
//- Solution properties
|
||||
cloudSolution solution_;
|
||||
|
||||
//- Parcel constant properties
|
||||
typename ParcelType::constantProperties constProps_;
|
||||
|
||||
//- Cloud active flag
|
||||
const Switch active_;
|
||||
//- Sub-models dictionary
|
||||
const dictionary& subModelProperties_;
|
||||
|
||||
//- Parcel type id - used to flag the type of parcels issued by this
|
||||
// cloud
|
||||
const label parcelTypeId_;
|
||||
|
||||
//- Flag to indicate whether parcels are coupled to the carrier phase
|
||||
// i.e. whether or not to generate source terms for carrier phase
|
||||
const Switch coupled_;
|
||||
|
||||
//- Flag to correct cell values with latest transfer information
|
||||
// during the lagrangian timestep
|
||||
const Switch cellValueSourceCorrection_;
|
||||
@ -164,9 +237,6 @@ protected:
|
||||
//- Optional particle forces
|
||||
particleForces forces_;
|
||||
|
||||
//- Interpolation schemes dictionary
|
||||
dictionary interpolationSchemes_;
|
||||
|
||||
|
||||
// References to the cloud sub-models
|
||||
|
||||
@ -278,28 +348,22 @@ public:
|
||||
//- Return particle properties dictionary
|
||||
inline const IOdictionary& particleProperties() const;
|
||||
|
||||
//- Return reference to the sub-models dictionary
|
||||
inline const dictionary& subModelProperties() const;
|
||||
//- Return const access to the solution properties
|
||||
inline const cloudSolution& solution() const;
|
||||
|
||||
//- Return the constant properties
|
||||
inline const typename ParcelType::constantProperties&
|
||||
constProps() const;
|
||||
|
||||
//- Return reference to the sub-models dictionary
|
||||
inline const dictionary& subModelProperties() const;
|
||||
|
||||
|
||||
// Cloud data
|
||||
|
||||
//- Return the active flag
|
||||
inline const Switch active() const;
|
||||
|
||||
//- Return the parcel type id
|
||||
inline label parcelTypeId() const;
|
||||
|
||||
//- Return coupled flag
|
||||
inline const Switch coupled() const;
|
||||
|
||||
//- Return cell value correction flag
|
||||
inline const Switch cellValueSourceCorrection() const;
|
||||
|
||||
//- Return refernce to the random object
|
||||
inline Random& rndGen();
|
||||
|
||||
@ -332,12 +396,6 @@ public:
|
||||
inline const particleForces& forces() const;
|
||||
|
||||
|
||||
// Interpolations
|
||||
|
||||
//- Return reference to the interpolation dictionary
|
||||
inline const dictionary& interpolationSchemes() const;
|
||||
|
||||
|
||||
// Sub-models
|
||||
|
||||
//- Return const-access to the dispersion model
|
||||
|
||||
@ -25,6 +25,65 @@ License
|
||||
|
||||
#include "fvmSup.H"
|
||||
|
||||
// * * * * * * * * * * * cloudSolution Member Functions * * * * * * * * * * //
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::fvMesh&
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::mesh() const
|
||||
{
|
||||
return mesh_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::dictionary&
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::dict() const
|
||||
{
|
||||
return dict_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::Switch
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::active() const
|
||||
{
|
||||
return active_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::Switch
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::coupled() const
|
||||
{
|
||||
return coupled_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::Switch
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::cellValueSourceCorrection()
|
||||
const
|
||||
{
|
||||
return cellValueSourceCorrection_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::dictionary&
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::interpolationSchemes() const
|
||||
{
|
||||
return dict_.subDict("interpolationSchemes");
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::dictionary&
|
||||
Foam::KinematicCloud<ParcelType>::cloudSolution::integrationSchemes() const
|
||||
{
|
||||
return dict_.subDict("integrationSchemes");
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class ParcelType>
|
||||
@ -57,10 +116,10 @@ Foam::KinematicCloud<ParcelType>::particleProperties() const
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::dictionary&
|
||||
Foam::KinematicCloud<ParcelType>::subModelProperties() const
|
||||
inline const typename Foam::KinematicCloud<ParcelType>::cloudSolution&
|
||||
Foam::KinematicCloud<ParcelType>::solution() const
|
||||
{
|
||||
return subModelProperties_;
|
||||
return solution_;
|
||||
}
|
||||
|
||||
|
||||
@ -73,24 +132,10 @@ Foam::KinematicCloud<ParcelType>::constProps() const
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::Switch Foam::KinematicCloud<ParcelType>::active() const
|
||||
inline const Foam::dictionary&
|
||||
Foam::KinematicCloud<ParcelType>::subModelProperties() const
|
||||
{
|
||||
return active_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::Switch Foam::KinematicCloud<ParcelType>::coupled() const
|
||||
{
|
||||
return coupled_;
|
||||
}
|
||||
|
||||
|
||||
template <class ParcelType>
|
||||
inline const Foam::Switch
|
||||
Foam::KinematicCloud<ParcelType>::cellValueSourceCorrection() const
|
||||
{
|
||||
return cellValueSourceCorrection_;
|
||||
return subModelProperties_;
|
||||
}
|
||||
|
||||
|
||||
@ -132,14 +177,6 @@ Foam::KinematicCloud<ParcelType>::forces() const
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::dictionary&
|
||||
Foam::KinematicCloud<ParcelType>::interpolationSchemes() const
|
||||
{
|
||||
return interpolationSchemes_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::DispersionModel<Foam::KinematicCloud<ParcelType> >&
|
||||
Foam::KinematicCloud<ParcelType>::dispersion() const
|
||||
|
||||
@ -135,7 +135,7 @@ void Foam::ReactingCloud<ParcelType>::evolveCloud()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (this->coupled())
|
||||
if (this->solution().coupled())
|
||||
{
|
||||
resetSourceTerms();
|
||||
}
|
||||
@ -286,7 +286,7 @@ void Foam::ReactingCloud<ParcelType>::resetSourceTerms()
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingCloud<ParcelType>::evolve()
|
||||
{
|
||||
if (this->active())
|
||||
if (this->solution().active())
|
||||
{
|
||||
preEvolve();
|
||||
|
||||
|
||||
@ -46,37 +46,37 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::evolveCloud()
|
||||
|
||||
autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
this->rho()
|
||||
);
|
||||
|
||||
autoPtr<interpolation<vector> > UInterp = interpolation<vector>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
this->U()
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > muInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
this->mu()
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > TInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
T
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > cpInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
cp
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > pInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
p
|
||||
);
|
||||
|
||||
@ -108,7 +108,7 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::evolveCloud()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (this->coupled())
|
||||
if (this->solution().coupled())
|
||||
{
|
||||
resetSourceTerms();
|
||||
}
|
||||
@ -245,7 +245,7 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::resetSourceTerms()
|
||||
template<class ParcelType>
|
||||
void Foam::ReactingMultiphaseCloud<ParcelType>::evolve()
|
||||
{
|
||||
if (this->active())
|
||||
if (this->solution().active())
|
||||
{
|
||||
preEvolve();
|
||||
|
||||
|
||||
@ -46,31 +46,31 @@ void Foam::ThermoCloud<ParcelType>::evolveCloud()
|
||||
|
||||
autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
this->rho()
|
||||
);
|
||||
|
||||
autoPtr<interpolation<vector> > UInterp = interpolation<vector>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
this->U()
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > muInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
this->mu()
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > TInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
T
|
||||
);
|
||||
|
||||
autoPtr<interpolation<scalar> > cpInterp = interpolation<scalar>::New
|
||||
(
|
||||
this->interpolationSchemes(),
|
||||
this->solution().interpolationSchemes(),
|
||||
cp
|
||||
);
|
||||
|
||||
@ -101,7 +101,7 @@ void Foam::ThermoCloud<ParcelType>::evolveCloud()
|
||||
|
||||
this->injection().inject(td);
|
||||
|
||||
if (this->coupled())
|
||||
if (this->solution().coupled())
|
||||
{
|
||||
resetSourceTerms();
|
||||
}
|
||||
@ -167,7 +167,7 @@ Foam::ThermoCloud<ParcelType>::ThermoCloud
|
||||
scalarIntegrationScheme::New
|
||||
(
|
||||
"T",
|
||||
this->particleProperties().subDict("integrationSchemes")
|
||||
this->solution().integrationSchemes()
|
||||
)
|
||||
),
|
||||
radiation_(this->particleProperties().lookup("radiation")),
|
||||
@ -236,7 +236,7 @@ void Foam::ThermoCloud<ParcelType>::resetSourceTerms()
|
||||
template<class ParcelType>
|
||||
void Foam::ThermoCloud<ParcelType>::evolve()
|
||||
{
|
||||
if (this->active())
|
||||
if (this->solution().active())
|
||||
{
|
||||
preEvolve();
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ Foam::ThermoCloud<ParcelType>::Ep() const
|
||||
);
|
||||
|
||||
// Need to check if coupled as field is created on-the-fly
|
||||
if (radiation_ && this->coupled())
|
||||
if (radiation_ && this->solution().coupled())
|
||||
{
|
||||
scalarField& Ep = tEp().internalField();
|
||||
const scalarField& V = this->mesh().V();
|
||||
@ -166,7 +166,7 @@ Foam::ThermoCloud<ParcelType>::ap() const
|
||||
);
|
||||
|
||||
// Need to check if coupled as field is created on-the-fly
|
||||
if (radiation_ && this->coupled())
|
||||
if (radiation_ && this->solution().coupled())
|
||||
{
|
||||
scalarField& ap = tap().internalField();
|
||||
const scalarField& V = this->mesh().V();
|
||||
@ -209,7 +209,7 @@ Foam::ThermoCloud<ParcelType>::sigmap() const
|
||||
);
|
||||
|
||||
// Need to check if coupled as field is created on-the-fly
|
||||
if (radiation_ && this->coupled())
|
||||
if (radiation_ && this->solution().coupled())
|
||||
{
|
||||
scalarField& sigmap = tsigmap().internalField();
|
||||
|
||||
|
||||
@ -127,7 +127,7 @@ void Foam::KinematicParcel<ParcelType>::calc
|
||||
|
||||
// Accumulate carrier phase source terms
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
if (td.cloud().coupled())
|
||||
if (td.cloud().solution().coupled())
|
||||
{
|
||||
// Update momentum transfer
|
||||
td.cloud().UTrans()[cellI] += np0*dUTrans;
|
||||
@ -301,7 +301,7 @@ bool Foam::KinematicParcel<ParcelType>::move(TrackData& td)
|
||||
// Update cell based properties
|
||||
p.setCellValues(td, dt, cellI);
|
||||
|
||||
if (td.cloud().cellValueSourceCorrection())
|
||||
if (td.cloud().solution().cellValueSourceCorrection())
|
||||
{
|
||||
p.cellValueSourceCorrection(td, dt, cellI);
|
||||
}
|
||||
|
||||
@ -387,7 +387,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
||||
// Accumulate carrier phase source terms
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
if (td.cloud().coupled())
|
||||
if (td.cloud().solution().coupled())
|
||||
{
|
||||
// Transfer mass lost from particle to carrier mass source
|
||||
forAll(YGas_, i)
|
||||
@ -428,7 +428,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
|
||||
{
|
||||
td.keepParticle = false;
|
||||
|
||||
if (td.cloud().coupled())
|
||||
if (td.cloud().solution().coupled())
|
||||
{
|
||||
// Absorb parcel into carrier phase
|
||||
forAll(YGas_, i)
|
||||
|
||||
@ -333,7 +333,7 @@ void Foam::ReactingParcel<ParcelType>::calc
|
||||
|
||||
// Accumulate carrier phase source terms
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
if (td.cloud().coupled())
|
||||
if (td.cloud().solution().coupled())
|
||||
{
|
||||
// Transfer mass lost from particle to carrier mass source
|
||||
forAll(dMassPC, i)
|
||||
@ -356,7 +356,7 @@ void Foam::ReactingParcel<ParcelType>::calc
|
||||
{
|
||||
td.keepParticle = false;
|
||||
|
||||
if (td.cloud().coupled())
|
||||
if (td.cloud().solution().coupled())
|
||||
{
|
||||
// Absorb parcel into carrier phase
|
||||
forAll(Y_, i)
|
||||
|
||||
@ -193,7 +193,7 @@ void Foam::ThermoParcel<ParcelType>::calc
|
||||
|
||||
// Accumulate carrier phase source terms
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
if (td.cloud().coupled())
|
||||
if (td.cloud().solution().coupled())
|
||||
{
|
||||
// Update momentum transfer
|
||||
td.cloud().UTrans()[cellI] += np0*dUTrans;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation on;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -46,22 +63,6 @@ constantProperties
|
||||
constantVolume true;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,30 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
mu cell;
|
||||
U cellPoint;
|
||||
Cp cell;
|
||||
T cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation on;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 2;
|
||||
|
||||
constantProperties
|
||||
@ -40,21 +56,6 @@ constantProperties
|
||||
Pr 0.7;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
mu cell;
|
||||
U cellPoint;
|
||||
Cp cell;
|
||||
T cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -46,22 +63,6 @@ constantProperties
|
||||
constantVolume false;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled false;
|
||||
cellValueSourceCorrection off;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Euler;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled false;
|
||||
|
||||
cellValueSourceCorrection off;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -46,22 +63,6 @@ constantProperties
|
||||
constantVolume false;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Euler;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -46,22 +63,6 @@ constantProperties
|
||||
constantVolume false;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active false; // true;
|
||||
solution
|
||||
{
|
||||
active false; // true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -44,22 +61,6 @@ constantProperties
|
||||
poissonsRatio 0;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -44,22 +61,6 @@ constantProperties
|
||||
constantVolume false;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -44,22 +61,6 @@ constantProperties
|
||||
constantVolume false;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active false; // true;
|
||||
solution
|
||||
{
|
||||
active false; // true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -44,22 +61,6 @@ constantProperties
|
||||
constantVolume false;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cell; // cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,31 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -44,22 +61,6 @@ constantProperties
|
||||
constantVolume false;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
T cell;
|
||||
Cp cell;
|
||||
p cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity off;
|
||||
|
||||
@ -15,11 +15,24 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
coupled true;
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
}
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
}
|
||||
}
|
||||
|
||||
parcelTypeId 2;
|
||||
|
||||
@ -32,18 +45,6 @@ constantProperties
|
||||
poissonsRatio 0.35;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
U cellPoint;
|
||||
mu cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
@ -15,14 +15,30 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
active true;
|
||||
solution
|
||||
{
|
||||
active true;
|
||||
coupled true;
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
mu cell;
|
||||
U cellPoint;
|
||||
T cell;
|
||||
Cp cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
}
|
||||
|
||||
radiation off;
|
||||
|
||||
coupled true;
|
||||
|
||||
cellValueSourceCorrection on;
|
||||
|
||||
parcelTypeId 1;
|
||||
|
||||
constantProperties
|
||||
@ -40,21 +56,6 @@ constantProperties
|
||||
Pr 0.7;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
rho cell;
|
||||
mu cell;
|
||||
U cellPoint;
|
||||
T cell;
|
||||
Cp cell;
|
||||
}
|
||||
|
||||
integrationSchemes
|
||||
{
|
||||
U Euler;
|
||||
T Analytical;
|
||||
}
|
||||
|
||||
particleForces
|
||||
{
|
||||
gravity on;
|
||||
|
||||
Reference in New Issue
Block a user