45 if (foundObject<fieldType>(fieldName))
47 writeTabbed(os, fieldName +
"_solver");
51 mesh_.validComponents<Type>()
54 for (
direction cmpt=0; cmpt<pTraits<Type>::nComponents; cmpt++)
56 if (
component(validComponents, cmpt) != -1)
59 const word fieldBase(fieldName + cmptName);
61 writeTabbed(os, fieldBase +
"_initial");
62 writeTabbed(os, fieldBase +
"_final");
63 writeTabbed(os, fieldBase +
"_iters");
67 writeTabbed(os, fieldName +
"_converged");
80 if (foundObject<volFieldType>(fieldName))
84 if (solverDict.
found(fieldName))
88 mesh_.validComponents<Type>()
91 for (
direction cmpt=0; cmpt<pTraits<Type>::nComponents; ++cmpt)
93 if (
component(validComponents, cmpt) != -1)
100 createResidualField(resultName);
114 if (foundObject<volFieldType>(fieldName))
118 if (solverDict.
found(fieldName))
122 solverDict.
lookup(fieldName)
126 const word& solverName = sp0.solverName();
127 const Type& initialResidual = sp0.initialResidual();
128 const Type& finalResidual = sp0.finalResidual();
129 const labelType nIterations = sp0.nIterations();
130 const Switch converged(sp0.converged());
136 for (
direction cmpt=0; cmpt<pTraits<Type>::nComponents; ++cmpt)
138 if (
component(validComponents, cmpt) != -1)
140 const scalar ri =
component(initialResidual, cmpt);
141 const scalar rf =
component(finalResidual, cmpt);
150 const word resultName(fieldName + cmptName);