ENH: Encapuslated cloud solution params

This commit is contained in:
andy
2010-10-18 16:58:53 +01:00
parent 2ae6047ac0
commit 83db9efc84
23 changed files with 503 additions and 339 deletions

View File

@ -36,13 +36,72 @@ License
#include "PostProcessingModel.H" #include "PostProcessingModel.H"
#include "SurfaceFilmModel.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 * * * * * * * * * * // // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
template<class ParcelType> template<class ParcelType>
void Foam::KinematicCloud<ParcelType>::preEvolve() void Foam::KinematicCloud<ParcelType>::preEvolve()
{ {
this->dispersion().cacheFields(true); this->dispersion().cacheFields(true);
forces_.cacheFields(true, interpolationSchemes_); forces_.cacheFields(true, solution_.interpolationSchemes());
updateCellOccupancy(); updateCellOccupancy();
} }
@ -98,21 +157,21 @@ void Foam::KinematicCloud<ParcelType>::evolveCloud()
autoPtr<interpolation<scalar> > rhoInterpolator = autoPtr<interpolation<scalar> > rhoInterpolator =
interpolation<scalar>::New interpolation<scalar>::New
( (
interpolationSchemes_, solution_.interpolationSchemes(),
rho_ rho_
); );
autoPtr<interpolation<vector> > UInterpolator = autoPtr<interpolation<vector> > UInterpolator =
interpolation<vector>::New interpolation<vector>::New
( (
interpolationSchemes_, solution_.interpolationSchemes(),
U_ U_
); );
autoPtr<interpolation<scalar> > muInterpolator = autoPtr<interpolation<scalar> > muInterpolator =
interpolation<scalar>::New interpolation<scalar>::New
( (
interpolationSchemes_, solution_.interpolationSchemes(),
mu_ mu_
); );
@ -141,7 +200,7 @@ void Foam::KinematicCloud<ParcelType>::evolveCloud()
this->injection().inject(td); this->injection().inject(td);
if (coupled_) if (solution_.coupled())
{ {
resetSourceTerms(); resetSourceTerms();
} }
@ -223,7 +282,7 @@ void Foam::KinematicCloud<ParcelType>::postEvolve()
} }
this->dispersion().cacheFields(false); this->dispersion().cacheFields(false);
forces_.cacheFields(false, interpolationSchemes_); forces_.cacheFields(false, solution_.interpolationSchemes());
this->postProcessing().post(); this->postProcessing().post();
} }
@ -256,11 +315,10 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
IOobject::NO_WRITE IOobject::NO_WRITE
) )
), ),
solution_(mesh_, particleProperties_.subDict("solution")),
constProps_(particleProperties_), constProps_(particleProperties_),
subModelProperties_(particleProperties_.subDict("subModels")), subModelProperties_(particleProperties_.subDict("subModels")),
active_(particleProperties_.lookup("active")),
parcelTypeId_(readLabel(particleProperties_.lookup("parcelTypeId"))), parcelTypeId_(readLabel(particleProperties_.lookup("parcelTypeId"))),
coupled_(particleProperties_.lookup("coupled")),
cellValueSourceCorrection_ cellValueSourceCorrection_
( (
particleProperties_.lookup("cellValueSourceCorrection") particleProperties_.lookup("cellValueSourceCorrection")
@ -272,7 +330,6 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
mu_(mu), mu_(mu),
g_(g), g_(g),
forces_(mesh_, particleProperties_, g_.value()), forces_(mesh_, particleProperties_, g_.value()),
interpolationSchemes_(particleProperties_.subDict("interpolationSchemes")),
dispersionModel_ dispersionModel_
( (
DispersionModel<KinematicCloud<ParcelType> >::New DispersionModel<KinematicCloud<ParcelType> >::New
@ -335,7 +392,7 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
vectorIntegrationScheme::New vectorIntegrationScheme::New
( (
"U", "U",
particleProperties_.subDict("integrationSchemes") solution_.integrationSchemes()
) )
), ),
UTrans_ UTrans_
@ -397,7 +454,7 @@ void Foam::KinematicCloud<ParcelType>::resetSourceTerms()
template<class ParcelType> template<class ParcelType>
void Foam::KinematicCloud<ParcelType>::evolve() void Foam::KinematicCloud<ParcelType>::evolve()
{ {
if (active_) if (solution_.active())
{ {
preEvolve(); preEvolve();

View File

@ -105,6 +105,83 @@ class KinematicCloud
void operator=(const 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:
// Protected data // Protected data
@ -115,23 +192,19 @@ protected:
//- Dictionary of particle properties //- Dictionary of particle properties
IOdictionary particleProperties_; IOdictionary particleProperties_;
//- Sub-models dictionary //- Solution properties
const dictionary& subModelProperties_; cloudSolution solution_;
//- Parcel constant properties //- Parcel constant properties
typename ParcelType::constantProperties constProps_; typename ParcelType::constantProperties constProps_;
//- Cloud active flag //- Sub-models dictionary
const Switch active_; const dictionary& subModelProperties_;
//- Parcel type id - used to flag the type of parcels issued by this //- Parcel type id - used to flag the type of parcels issued by this
// cloud // cloud
const label parcelTypeId_; 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 //- Flag to correct cell values with latest transfer information
// during the lagrangian timestep // during the lagrangian timestep
const Switch cellValueSourceCorrection_; const Switch cellValueSourceCorrection_;
@ -164,9 +237,6 @@ protected:
//- Optional particle forces //- Optional particle forces
particleForces forces_; particleForces forces_;
//- Interpolation schemes dictionary
dictionary interpolationSchemes_;
// References to the cloud sub-models // References to the cloud sub-models
@ -278,28 +348,22 @@ public:
//- Return particle properties dictionary //- Return particle properties dictionary
inline const IOdictionary& particleProperties() const; inline const IOdictionary& particleProperties() const;
//- Return reference to the sub-models dictionary //- Return const access to the solution properties
inline const dictionary& subModelProperties() const; inline const cloudSolution& solution() const;
//- Return the constant properties //- Return the constant properties
inline const typename ParcelType::constantProperties& inline const typename ParcelType::constantProperties&
constProps() const; constProps() const;
//- Return reference to the sub-models dictionary
inline const dictionary& subModelProperties() const;
// Cloud data // Cloud data
//- Return the active flag
inline const Switch active() const;
//- Return the parcel type id //- Return the parcel type id
inline label parcelTypeId() const; 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 //- Return refernce to the random object
inline Random& rndGen(); inline Random& rndGen();
@ -332,12 +396,6 @@ public:
inline const particleForces& forces() const; inline const particleForces& forces() const;
// Interpolations
//- Return reference to the interpolation dictionary
inline const dictionary& interpolationSchemes() const;
// Sub-models // Sub-models
//- Return const-access to the dispersion model //- Return const-access to the dispersion model

View File

@ -25,6 +25,65 @@ License
#include "fvmSup.H" #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 * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class ParcelType> template<class ParcelType>
@ -57,10 +116,10 @@ Foam::KinematicCloud<ParcelType>::particleProperties() const
template<class ParcelType> template<class ParcelType>
inline const Foam::dictionary& inline const typename Foam::KinematicCloud<ParcelType>::cloudSolution&
Foam::KinematicCloud<ParcelType>::subModelProperties() const Foam::KinematicCloud<ParcelType>::solution() const
{ {
return subModelProperties_; return solution_;
} }
@ -73,24 +132,10 @@ Foam::KinematicCloud<ParcelType>::constProps() const
template<class ParcelType> template<class ParcelType>
inline const Foam::Switch Foam::KinematicCloud<ParcelType>::active() const inline const Foam::dictionary&
Foam::KinematicCloud<ParcelType>::subModelProperties() const
{ {
return active_; return subModelProperties_;
}
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_;
} }
@ -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> template<class ParcelType>
inline const Foam::DispersionModel<Foam::KinematicCloud<ParcelType> >& inline const Foam::DispersionModel<Foam::KinematicCloud<ParcelType> >&
Foam::KinematicCloud<ParcelType>::dispersion() const Foam::KinematicCloud<ParcelType>::dispersion() const

View File

@ -135,7 +135,7 @@ void Foam::ReactingCloud<ParcelType>::evolveCloud()
this->injection().inject(td); this->injection().inject(td);
if (this->coupled()) if (this->solution().coupled())
{ {
resetSourceTerms(); resetSourceTerms();
} }
@ -286,7 +286,7 @@ void Foam::ReactingCloud<ParcelType>::resetSourceTerms()
template<class ParcelType> template<class ParcelType>
void Foam::ReactingCloud<ParcelType>::evolve() void Foam::ReactingCloud<ParcelType>::evolve()
{ {
if (this->active()) if (this->solution().active())
{ {
preEvolve(); preEvolve();

View File

@ -46,37 +46,37 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::evolveCloud()
autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
this->rho() this->rho()
); );
autoPtr<interpolation<vector> > UInterp = interpolation<vector>::New autoPtr<interpolation<vector> > UInterp = interpolation<vector>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
this->U() this->U()
); );
autoPtr<interpolation<scalar> > muInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > muInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
this->mu() this->mu()
); );
autoPtr<interpolation<scalar> > TInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > TInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
T T
); );
autoPtr<interpolation<scalar> > cpInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > cpInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
cp cp
); );
autoPtr<interpolation<scalar> > pInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > pInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
p p
); );
@ -108,7 +108,7 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::evolveCloud()
this->injection().inject(td); this->injection().inject(td);
if (this->coupled()) if (this->solution().coupled())
{ {
resetSourceTerms(); resetSourceTerms();
} }
@ -245,7 +245,7 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::resetSourceTerms()
template<class ParcelType> template<class ParcelType>
void Foam::ReactingMultiphaseCloud<ParcelType>::evolve() void Foam::ReactingMultiphaseCloud<ParcelType>::evolve()
{ {
if (this->active()) if (this->solution().active())
{ {
preEvolve(); preEvolve();

View File

@ -46,31 +46,31 @@ void Foam::ThermoCloud<ParcelType>::evolveCloud()
autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
this->rho() this->rho()
); );
autoPtr<interpolation<vector> > UInterp = interpolation<vector>::New autoPtr<interpolation<vector> > UInterp = interpolation<vector>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
this->U() this->U()
); );
autoPtr<interpolation<scalar> > muInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > muInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
this->mu() this->mu()
); );
autoPtr<interpolation<scalar> > TInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > TInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
T T
); );
autoPtr<interpolation<scalar> > cpInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > cpInterp = interpolation<scalar>::New
( (
this->interpolationSchemes(), this->solution().interpolationSchemes(),
cp cp
); );
@ -101,7 +101,7 @@ void Foam::ThermoCloud<ParcelType>::evolveCloud()
this->injection().inject(td); this->injection().inject(td);
if (this->coupled()) if (this->solution().coupled())
{ {
resetSourceTerms(); resetSourceTerms();
} }
@ -167,7 +167,7 @@ Foam::ThermoCloud<ParcelType>::ThermoCloud
scalarIntegrationScheme::New scalarIntegrationScheme::New
( (
"T", "T",
this->particleProperties().subDict("integrationSchemes") this->solution().integrationSchemes()
) )
), ),
radiation_(this->particleProperties().lookup("radiation")), radiation_(this->particleProperties().lookup("radiation")),
@ -236,7 +236,7 @@ void Foam::ThermoCloud<ParcelType>::resetSourceTerms()
template<class ParcelType> template<class ParcelType>
void Foam::ThermoCloud<ParcelType>::evolve() void Foam::ThermoCloud<ParcelType>::evolve()
{ {
if (this->active()) if (this->solution().active())
{ {
preEvolve(); preEvolve();

View File

@ -123,7 +123,7 @@ Foam::ThermoCloud<ParcelType>::Ep() const
); );
// Need to check if coupled as field is created on-the-fly // 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(); scalarField& Ep = tEp().internalField();
const scalarField& V = this->mesh().V(); 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 // 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(); scalarField& ap = tap().internalField();
const scalarField& V = this->mesh().V(); 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 // 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(); scalarField& sigmap = tsigmap().internalField();

View File

@ -127,7 +127,7 @@ void Foam::KinematicParcel<ParcelType>::calc
// Accumulate carrier phase source terms // Accumulate carrier phase source terms
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (td.cloud().coupled()) if (td.cloud().solution().coupled())
{ {
// Update momentum transfer // Update momentum transfer
td.cloud().UTrans()[cellI] += np0*dUTrans; td.cloud().UTrans()[cellI] += np0*dUTrans;
@ -301,7 +301,7 @@ bool Foam::KinematicParcel<ParcelType>::move(TrackData& td)
// Update cell based properties // Update cell based properties
p.setCellValues(td, dt, cellI); p.setCellValues(td, dt, cellI);
if (td.cloud().cellValueSourceCorrection()) if (td.cloud().solution().cellValueSourceCorrection())
{ {
p.cellValueSourceCorrection(td, dt, cellI); p.cellValueSourceCorrection(td, dt, cellI);
} }

View File

@ -387,7 +387,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
// Accumulate carrier phase source terms // Accumulate carrier phase source terms
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (td.cloud().coupled()) if (td.cloud().solution().coupled())
{ {
// Transfer mass lost from particle to carrier mass source // Transfer mass lost from particle to carrier mass source
forAll(YGas_, i) forAll(YGas_, i)
@ -428,7 +428,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
{ {
td.keepParticle = false; td.keepParticle = false;
if (td.cloud().coupled()) if (td.cloud().solution().coupled())
{ {
// Absorb parcel into carrier phase // Absorb parcel into carrier phase
forAll(YGas_, i) forAll(YGas_, i)

View File

@ -333,7 +333,7 @@ void Foam::ReactingParcel<ParcelType>::calc
// Accumulate carrier phase source terms // Accumulate carrier phase source terms
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (td.cloud().coupled()) if (td.cloud().solution().coupled())
{ {
// Transfer mass lost from particle to carrier mass source // Transfer mass lost from particle to carrier mass source
forAll(dMassPC, i) forAll(dMassPC, i)
@ -356,7 +356,7 @@ void Foam::ReactingParcel<ParcelType>::calc
{ {
td.keepParticle = false; td.keepParticle = false;
if (td.cloud().coupled()) if (td.cloud().solution().coupled())
{ {
// Absorb parcel into carrier phase // Absorb parcel into carrier phase
forAll(Y_, i) forAll(Y_, i)

View File

@ -193,7 +193,7 @@ void Foam::ThermoParcel<ParcelType>::calc
// Accumulate carrier phase source terms // Accumulate carrier phase source terms
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (td.cloud().coupled()) if (td.cloud().solution().coupled())
{ {
// Update momentum transfer // Update momentum transfer
td.cloud().UTrans()[cellI] += np0*dUTrans; td.cloud().UTrans()[cellI] += np0*dUTrans;

View File

@ -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; radiation on;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -46,22 +63,6 @@ constantProperties
constantVolume true; constantVolume true;
} }
interpolationSchemes
{
rho cell;
U cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation on;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 2; parcelTypeId 2;
constantProperties constantProperties
@ -40,21 +56,6 @@ constantProperties
Pr 0.7; Pr 0.7;
} }
interpolationSchemes
{
rho cell;
mu cell;
U cellPoint;
Cp cell;
T cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -46,22 +63,6 @@ constantProperties
constantVolume false; constantVolume false;
} }
interpolationSchemes
{
rho cell;
U cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled false;
cellValueSourceCorrection off;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -46,22 +63,6 @@ constantProperties
constantVolume false; constantVolume false;
} }
interpolationSchemes
{
rho cell;
U cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Euler;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -46,22 +63,6 @@ constantProperties
constantVolume false; constantVolume false;
} }
interpolationSchemes
{
rho cell;
U cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -44,22 +61,6 @@ constantProperties
poissonsRatio 0; poissonsRatio 0;
} }
interpolationSchemes
{
rho cell;
U cell; // cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -44,22 +61,6 @@ constantProperties
constantVolume false; constantVolume false;
} }
interpolationSchemes
{
rho cell;
U cell; // cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -44,22 +61,6 @@ constantProperties
constantVolume false; constantVolume false;
} }
interpolationSchemes
{
rho cell;
U cell; // cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -44,22 +61,6 @@ constantProperties
constantVolume false; constantVolume false;
} }
interpolationSchemes
{
rho cell;
U cell; // cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -44,22 +61,6 @@ constantProperties
constantVolume false; constantVolume false;
} }
interpolationSchemes
{
rho cell;
U cellPoint;
mu cell;
T cell;
Cp cell;
p cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity off; gravity off;

View File

@ -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; parcelTypeId 2;
@ -32,18 +45,6 @@ constantProperties
poissonsRatio 0.35; poissonsRatio 0.35;
} }
interpolationSchemes
{
rho cell;
U cellPoint;
mu cell;
}
integrationSchemes
{
U Euler;
}
particleForces particleForces
{ {
gravity on; gravity on;

View File

@ -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; radiation off;
coupled true;
cellValueSourceCorrection on;
parcelTypeId 1; parcelTypeId 1;
constantProperties constantProperties
@ -40,21 +56,6 @@ constantProperties
Pr 0.7; Pr 0.7;
} }
interpolationSchemes
{
rho cell;
mu cell;
U cellPoint;
T cell;
Cp cell;
}
integrationSchemes
{
U Euler;
T Analytical;
}
particleForces particleForces
{ {
gravity on; gravity on;