32 template<
class BasePhaseSystem>
39 HeatAndMassTransferPhaseSystem<BasePhaseSystem>(
mesh)
41 this->generatePairsAndSubModels
43 "interfaceComposition",
44 interfaceCompositionModels_
51 template<
class BasePhaseSystem>
59 template<
class BasePhaseSystem>
65 autoPtr<phaseSystem::massTransferTable> eqnsPtr
74 const phaseModel& phase = this->phaseModels_[
phasei];
76 const PtrList<volScalarField>& Yi = phase.Y();
96 const phasePair& pair(phasePairIter());
104 *this->dmdtExplicit_[pair];
106 *this->dmdtExplicit_[pair] =
113 interfaceCompositionModelTable,
114 interfaceCompositionModels_,
115 interfaceCompositionModelIter
118 const interfaceCompositionModel& compositionModel
120 interfaceCompositionModelIter()
123 const phasePair& pair
125 this->phasePairs_[interfaceCompositionModelIter.key()]
127 const phaseModel& phase = pair.phase1();
128 const phaseModel& otherPhase = pair.phase2();
129 const phasePairKey key(phase.name(), otherPhase.name());
140 this->massTransferModels_[key][phase.name()]->K()
146 compositionModel.species(),
150 const word& member = *memberIter;
164 K*compositionModel.D(member)
169 compositionModel.Yf(member, Tf)
178 dmdtExplicit += dmdtSign*phase.rho()*KD*Yf;
179 dmdt -= dmdtSign*phase.rho()*KD*eqns[
name]->psi();
182 if (eqns.found(otherName))
185 otherPhase.rho()*KD*compositionModel.dY(member, Tf);
194 template<
class BasePhaseSystem>
219 const phasePair& pair(phasePairIter());
226 const phasePairKey key12(pair.first(), pair.second(),
true);
227 const phasePairKey key21(pair.second(), pair.first(),
true);
229 volScalarField H1(this->heatTransferModels_[pair][pair.first()]->K());
230 volScalarField H2(this->heatTransferModels_[pair][pair.second()]->K());
259 if (this->interfaceCompositionModels_.found(key12))
261 this->interfaceCompositionModels_[key12]->addMDotL
263 this->massTransferModels_[pair][pair.first()]->K(),
269 if (this->interfaceCompositionModels_.found(key21))
271 this->interfaceCompositionModels_[key21]->addMDotL
273 this->massTransferModels_[pair][pair.second()]->K(),
284 H1*(Tf - pair.phase1().thermo().T())
285 + H2*(Tf - pair.phase2().thermo().T())
289 max(H1 + H2 + mDotLPrime, HSmall)
294 Info<<
"Tf." << pair.name()
295 <<
": min = " <<
min(Tf.internalField())
296 <<
", mean = " <<
average(Tf.internalField())
297 <<
", max = " <<
max(Tf.internalField())
301 if (this->interfaceCompositionModels_.found(key12))
303 this->interfaceCompositionModels_[key12]->update(Tf);
305 if (this->interfaceCompositionModels_.found(key21))
307 this->interfaceCompositionModels_[key21]->update(Tf);
313 template<
class BasePhaseSystem>