16 ColoringSolid::ColoringSolid(
20 pyOptions_(pyOptions),
51 if (!daJacCon->coloringExists())
54 const HashTable<List<List<word>>>& stateResConInfo = daStateInfo->getStateResConInfo();
55 options.set(
"stateResConInfo", stateResConInfo);
59 daJacCon->setupJacConPreallocation(options);
62 daJacCon->initializeJacCon(options);
65 daJacCon->setupJacCon(options);
66 Info <<
"dRdWCon Created. " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
69 Info <<
"Calculating dRdW Coloring... " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
70 daJacCon->calcJacConColoring();
71 Info <<
"Calculating dRdW Coloring... Completed! " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
80 dictionary objFuncDict =
allOptions.subDict(
"objFunc");
83 forAll(objFuncDict.toc(), idxI)
85 word objFuncName = objFuncDict.toc()[idxI];
86 dictionary objFuncSubDict = objFuncDict.subDict(objFuncName);
87 forAll(objFuncSubDict.toc(), idxJ)
89 word objFuncPart = objFuncSubDict.toc()[idxJ];
90 dictionary objFuncSubDictPart = objFuncSubDict.subDict(objFuncPart);
94 word postFix =
"_" + objFuncName +
"_" + objFuncPart;
96 if (!daJacCon->coloringExists(postFix))
98 autoPtr<DAObjFunc> daObjFunc(
107 objFuncSubDictPart));
110 const List<List<word>>& objFuncConInfo = daObjFunc->getObjFuncConInfo();
111 const labelList& objFuncFaceSources = daObjFunc->getObjFuncFaceSources();
112 const labelList& objFuncCellSources = daObjFunc->getObjFuncCellSources();
113 options.set(
"objFuncConInfo", objFuncConInfo);
114 options.set(
"objFuncFaceSources", objFuncFaceSources);
115 options.set(
"objFuncCellSources", objFuncCellSources);
118 daJacCon->initializeJacCon(options);
121 daJacCon->setupJacCon(options);
122 Info <<
"dFdWCon Created. " <<
mesh.time().elapsedClockTime() <<
" s" << endl;
125 Info <<
"Calculating dFdW " << objFuncName <<
"-"
126 << objFuncPart <<
" Coloring... "
127 <<
mesh.time().elapsedClockTime() <<
" s" << endl;
129 daJacCon->calcJacConColoring(postFix);
131 Info <<
"Calculating dFdW " << objFuncName <<
"-"
132 << objFuncPart <<
" Coloring... Completed"
133 <<
mesh.time().elapsedClockTime() <<
" s" << endl;