16 ColoringIncompressible::ColoringIncompressible(
20 pyOptions_(pyOptions),
52 if (!daJacCon->coloringExists())
55 const HashTable<List<List<word>>>& stateResConInfo = daStateInfo->getStateResConInfo();
56 options.set(
"stateResConInfo", stateResConInfo);
60 daJacCon->setupJacConPreallocation(options);
63 daJacCon->initializeJacCon(options);
66 daJacCon->setupJacCon(options);
67 Info <<
"dRdWCon Created. " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
70 Info <<
"Calculating dRdW Coloring... " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
71 daJacCon->calcJacConColoring();
72 Info <<
"Calculating dRdW Coloring... Completed! " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
81 dictionary objFuncDict =
allOptions.subDict(
"objFunc");
84 forAll(objFuncDict.toc(), idxI)
86 word objFuncName = objFuncDict.toc()[idxI];
87 dictionary objFuncSubDict = objFuncDict.subDict(objFuncName);
88 forAll(objFuncSubDict.toc(), idxJ)
90 word objFuncPart = objFuncSubDict.toc()[idxJ];
91 dictionary objFuncSubDictPart = objFuncSubDict.subDict(objFuncPart);
95 word postFix =
"_" + objFuncName +
"_" + objFuncPart;
97 if (!daJacCon->coloringExists(postFix))
99 autoPtr<DAObjFunc> daObjFunc(
108 objFuncSubDictPart));
111 const List<List<word>>& objFuncConInfo = daObjFunc->getObjFuncConInfo();
112 const labelList& objFuncFaceSources = daObjFunc->getObjFuncFaceSources();
113 const labelList& objFuncCellSources = daObjFunc->getObjFuncCellSources();
114 options.set(
"objFuncConInfo", objFuncConInfo);
115 options.set(
"objFuncFaceSources", objFuncFaceSources);
116 options.set(
"objFuncCellSources", objFuncCellSources);
119 daJacCon->initializeJacCon(options);
122 daJacCon->setupJacCon(options);
123 Info <<
"dFdWCon Created. " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
126 Info <<
"Calculating dFdW " << objFuncName <<
"-"
127 << objFuncPart <<
" Coloring... "
128 <<
mesh.time().elapsedClockTime() <<
" s" << endl;
130 daJacCon->calcJacConColoring(postFix);
132 Info <<
"Calculating dFdW " << objFuncName <<
"-"
133 << objFuncPart <<
" Coloring... Completed"
134 <<
mesh.time().elapsedClockTime() <<
" s" << endl;