22 DAFvSource::DAFvSource(
31 mesh.time().timeName(),
37 modelType_(modelType),
56 if (
daOption.getAllOptions().lookupOrDefault<label>(
"debug", 0))
58 Info <<
"Selecting " << modelType <<
" for DAFvSource" << endl;
61 dictionaryConstructorTable::iterator cstrIter =
62 dictionaryConstructorTablePtr_->find(modelType);
65 if (cstrIter == dictionaryConstructorTablePtr_->end())
76 <<
"Unknown DAFvSource type "
77 << modelType << nl << nl
78 <<
"Valid DAFvSource types:" << endl
79 << dictionaryConstructorTablePtr_->sortedToc()
84 return autoPtr<DAFvSource>(
98 FatalErrorIn(
"") <<
"calcFvSource not implemented " << endl
100 << abort(FatalError);
125 word diskName0 = fvSourceSubDict.toc()[0];
127 word type0 = fvSourceSubDict.subDict(diskName0).getWord(
"type");
129 if (type0 ==
"actuatorDisk")
131 word source0 = fvSourceSubDict.subDict(diskName0).getWord(
"source");
133 if (source0 ==
"cylinderAnnulusSmooth")
135 forAll(fvSourceSubDict.toc(), idxI)
137 word diskName = fvSourceSubDict.toc()[idxI];
140 dictionary diskSubDict = fvSourceSubDict.subDict(diskName);
143 scalarList centerList;
144 diskSubDict.readEntry<scalarList>(
"center", centerList);
147 scalarList dvList(10);
148 dvList[0] = centerList[0];
149 dvList[1] = centerList[1];
150 dvList[2] = centerList[2];
151 dvList[3] = diskSubDict.getScalar(
"innerRadius");
152 dvList[4] = diskSubDict.getScalar(
"outerRadius");
153 dvList[5] = diskSubDict.getScalar(
"scale");
154 dvList[6] = diskSubDict.getScalar(
"POD");
155 dvList[7] = diskSubDict.getScalar(
"expM");
156 dvList[8] = diskSubDict.getScalar(
"expN");
157 dvList[9] = diskSubDict.getScalar(
"targetThrust");