26 #include "BlendedInterfacialModel.H"
30 template<
class modelType>
33 const dictTable& modelDicts,
44 const phasePairKey& key = iter.key();
59 template<
class modelType>
62 const word& modelName,
71 dictTable modelDicts(
lookup(modelName));
73 generatePairs(modelDicts);
75 createSubModels(modelDicts, models);
79 template<
class modelType>
82 const word& modelName,
85 autoPtr<BlendedInterfacialModel<modelType> >,
92 HashTable<autoPtr<modelType>, phasePairKey, phasePairKey::hash>
95 modelTypeTable tempModels;
96 generatePairsAndSubModels(modelName, tempModels);
98 const blendingMethod& blending
100 blendingMethods_.found(modelName)
101 ? blendingMethods_[modelName]
102 : blendingMethods_[
"default"]
105 autoPtr<modelType> noModel(NULL);
114 const phasePairKey key(iter.key().first(), iter.key().second());
115 const phasePairKey key1In2(key.first(), key.second(),
true);
116 const phasePairKey key2In1(key.second(), key.first(),
true);
121 autoPtr<BlendedInterfacialModel<modelType> >
123 new BlendedInterfacialModel<modelType>
125 phaseModels_[key.first()],
126 phaseModels_[key.second()],
128 tempModels.found(key ) ? tempModels[key ] : noModel,
129 tempModels.found(key1In2) ? tempModels[key1In2] : noModel,
130 tempModels.found(key2In1) ? tempModels[key2In1] : noModel
138 template<
class modelType>
141 const word& modelName,
144 HashTable<autoPtr<modelType> >,
151 HashTable<autoPtr<modelType>, phasePairKey, phasePairKey::hash>
156 modelTypeTable tempModels;
157 generatePairsAndSubModels
165 const phasePairKey key(tempModelIter.key());
167 if (!models.found(key))
172 HashTable<autoPtr<modelType> >()
176 models[tempModelIter.key()].insert
185 template <
class modelType>
196 template <
class modelType>
199 const phaseModel& dispersed,
200 const phaseModel& continuous
203 return lookupSubModel<modelType>(orderedPhasePair(dispersed, continuous));