reactingEulerFoam: Updated phase loops

This commit is contained in:
Henry Weller
2015-09-17 09:19:03 +01:00
parent be87b51738
commit abfe7d4c00
7 changed files with 35 additions and 69 deletions

View File

@ -268,14 +268,9 @@ Foam::HeatAndMassTransferPhaseSystem<BasePhaseSystem>::heatTransfer() const
phaseSystem::heatTransferTable& eqns = eqnsPtr(); phaseSystem::heatTransferTable& eqns = eqnsPtr();
forAllConstIter forAll(this->phaseModels_, phasei)
(
phaseSystem::phaseModelList,
this->phaseModels_,
phaseModelIter
)
{ {
const phaseModel& phase(phaseModelIter()); const phaseModel& phase = this->phaseModels_[phasei];
eqns.insert eqns.insert
( (

View File

@ -120,14 +120,9 @@ Foam::HeatTransferPhaseSystem<BasePhaseSystem>::heatTransfer() const
phaseSystem::heatTransferTable& eqns = eqnsPtr(); phaseSystem::heatTransferTable& eqns = eqnsPtr();
forAllConstIter forAll(this->phaseModels_, phasei)
(
phaseSystem::phaseModelList,
this->phaseModels_,
phaseModelIter
)
{ {
const phaseModel& phase(phaseModelIter()); const phaseModel& phase = this->phaseModels_[phasei];
eqns.insert eqns.insert
( (

View File

@ -69,14 +69,9 @@ massTransfer() const
phaseSystem::massTransferTable& eqns = eqnsPtr(); phaseSystem::massTransferTable& eqns = eqnsPtr();
forAllConstIter forAll(this->phaseModels_, phasei)
(
phaseSystem::phaseModelList,
this->phaseModels_,
phaseModelIter
)
{ {
const phaseModel& phase(phaseModelIter()); const phaseModel& phase = this->phaseModels_[phasei];
const PtrList<volScalarField>& Yi = phase.Y(); const PtrList<volScalarField>& Yi = phase.Y();

View File

@ -413,14 +413,9 @@ Foam::MomentumTransferPhaseSystem<BasePhaseSystem>::momentumTransfer() const
phaseSystem::momentumTransferTable& eqns = eqnsPtr(); phaseSystem::momentumTransferTable& eqns = eqnsPtr();
forAllConstIter forAll(this->phaseModels_, phasei)
(
phaseSystem::phaseModelList,
this->phaseModels_,
phaseModelIter
)
{ {
const phaseModel& phase(phaseModelIter()); const phaseModel& phase = this->phaseModels_[phasei];
eqns.insert eqns.insert
( (

View File

@ -64,14 +64,9 @@ Foam::ThermalPhaseChangePhaseSystem<BasePhaseSystem>::massTransfer() const
phaseSystem::massTransferTable& eqns = eqnsPtr(); phaseSystem::massTransferTable& eqns = eqnsPtr();
forAllConstIter forAll(this->phaseModels_, phasei)
(
phaseSystem::phaseModelList,
this->phaseModels_,
phaseModelIter
)
{ {
const phaseModel& phase(phaseModelIter()); const phaseModel& phase = this->phaseModels_[phasei];
const PtrList<volScalarField>& Yi = phase.Y(); const PtrList<volScalarField>& Yi = phase.Y();

View File

@ -46,24 +46,19 @@ Foam::tmp<Foam::surfaceScalarField> Foam::phaseSystem::calcPhi
const phaseModelList& phaseModels const phaseModelList& phaseModels
) const ) const
{ {
phaseModelList::const_iterator phaseModelIter = phaseModels.begin();
tmp<surfaceScalarField> tmpPhi tmp<surfaceScalarField> tmpPhi
( (
new surfaceScalarField new surfaceScalarField
( (
"phi", "phi",
fvc::interpolate(phaseModelIter())*phaseModelIter().phi() fvc::interpolate(phaseModels[0])*phaseModels[0].phi()
) )
); );
++phaseModelIter; for (label phasei=1; phasei<phaseModels.size(); phasei++)
for (; phaseModelIter != phaseModels.end(); ++ phaseModelIter)
{ {
tmpPhi() += tmpPhi() +=
fvc::interpolate(phaseModelIter()) fvc::interpolate(phaseModels[phasei])*phaseModels[phasei].phi();
*phaseModelIter().phi();
} }
return tmpPhi; return tmpPhi;
@ -196,16 +191,14 @@ Foam::phaseSystem::~phaseSystem()
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::rho() const Foam::tmp<Foam::volScalarField> Foam::phaseSystem::rho() const
{ {
phaseModelList::const_iterator phaseModelIter = phaseModels_.begin();
tmp<volScalarField> tmpRho tmp<volScalarField> tmpRho
( (
phaseModelIter()*phaseModelIter().rho() phaseModels_[0]*phaseModels_[0].rho()
); );
for (; phaseModelIter != phaseModels_.end(); ++ phaseModelIter) for (label phasei=1; phasei<phaseModels_.size(); phasei++)
{ {
tmpRho() += phaseModelIter()*phaseModelIter().rho(); tmpRho() += phaseModels_[phasei]*phaseModels_[phasei].rho();
} }
return tmpRho; return tmpRho;
@ -214,16 +207,14 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::rho() const
Foam::tmp<Foam::volVectorField> Foam::phaseSystem::U() const Foam::tmp<Foam::volVectorField> Foam::phaseSystem::U() const
{ {
phaseModelList::const_iterator phaseModelIter = phaseModels_.begin();
tmp<volVectorField> tmpU tmp<volVectorField> tmpU
( (
phaseModelIter()*phaseModelIter().U() phaseModels_[0]*phaseModels_[0].U()
); );
for (; phaseModelIter != phaseModels_.end(); ++ phaseModelIter) for (label phasei=1; phasei<phaseModels_.size(); phasei++)
{ {
tmpU() += phaseModelIter()*phaseModelIter().U(); tmpU() += phaseModels_[phasei]*phaseModels_[phasei].U();
} }
return tmpU; return tmpU;
@ -266,9 +257,9 @@ void Foam::phaseSystem::solve()
void Foam::phaseSystem::correct() void Foam::phaseSystem::correct()
{ {
forAllIter(phaseModelList, phaseModels_, phaseModelIter) forAll(phaseModels_, phasei)
{ {
phaseModelIter().correct(); phaseModels_[phasei].correct();
} }
} }
@ -277,11 +268,11 @@ void Foam::phaseSystem::correctKinematics()
{ {
bool updateDpdt = false; bool updateDpdt = false;
forAllIter(phaseModelList, phaseModels_, phaseModelIter) forAll(phaseModels_, phasei)
{ {
phaseModelIter().correctKinematics(); phaseModels_[phasei].correctKinematics();
updateDpdt = updateDpdt || phaseModelIter().thermo().dpdt(); updateDpdt = updateDpdt || phaseModels_[phasei].thermo().dpdt();
} }
// Update the pressure time-derivative if required // Update the pressure time-derivative if required
@ -294,27 +285,27 @@ void Foam::phaseSystem::correctKinematics()
void Foam::phaseSystem::correctThermo() void Foam::phaseSystem::correctThermo()
{ {
forAllIter(phaseModelList, phaseModels_, phaseModelIter) forAll(phaseModels_, phasei)
{ {
phaseModelIter().correctThermo(); phaseModels_[phasei].correctThermo();
} }
} }
void Foam::phaseSystem::correctTurbulence() void Foam::phaseSystem::correctTurbulence()
{ {
forAllIter(phaseModelList, phaseModels_, phaseModelIter) forAll(phaseModels_, phasei)
{ {
phaseModelIter().correctTurbulence(); phaseModels_[phasei].correctTurbulence();
} }
} }
void Foam::phaseSystem::correctEnergyTransport() void Foam::phaseSystem::correctEnergyTransport()
{ {
forAllIter(phaseModelList, phaseModels_, phaseModelIter) forAll(phaseModels_, phasei)
{ {
phaseModelIter().correctEnergyTransport(); phaseModels_[phasei].correctEnergyTransport();
} }
} }
@ -325,9 +316,9 @@ bool Foam::phaseSystem::read()
{ {
bool readOK = true; bool readOK = true;
forAllIter(phaseModelList, phaseModels_, phaseModelIter) forAll(phaseModels_, phasei)
{ {
readOK &= phaseModelIter().read(); readOK &= phaseModels_[phasei].read();
} }
// models ... // models ...

View File

@ -151,12 +151,12 @@ void Foam::phaseSystem::generatePairsAndSubModels
HashTable<autoPtr<modelType>, phasePairKey, phasePairKey::hash> HashTable<autoPtr<modelType>, phasePairKey, phasePairKey::hash>
modelTypeTable; modelTypeTable;
forAllConstIter(phaseModelList, phaseModels_, phaseModelIter) forAll(phaseModels_, phasei)
{ {
modelTypeTable tempModels; modelTypeTable tempModels;
generatePairsAndSubModels generatePairsAndSubModels
( (
IOobject::groupName(modelName, phaseModelIter().name()), IOobject::groupName(modelName, phaseModels_[phasei].name()),
tempModels tempModels
); );
@ -175,7 +175,7 @@ void Foam::phaseSystem::generatePairsAndSubModels
models[tempModelIter.key()].insert models[tempModelIter.key()].insert
( (
phaseModelIter().name(), phaseModels_[phasei].name(),
*tempModelIter *tempModelIter
); );
} }