Fixed: npv is not used when mixed

This commit is contained in:
Knut Morten Okstad 2018-03-18 08:32:22 +01:00
parent b2cf135cf4
commit dc9c862e27

View File

@ -201,15 +201,22 @@ void IntegrandBase::printSolution (std::ostream& os, int pindx)
for (Vector& sol : primsol) for (Vector& sol : primsol)
{ {
isol++; isol++;
if (primsol.size() > 1 && !sol.empty()) if (sol.empty()) continue;
if (primsol.size() > 1)
os <<"\nSolution vector "<< isol; os <<"\nSolution vector "<< isol;
int idof = 0, node = 0; if (npv > 0)
for (double sval : sol) {
if ((++idof)%npv == 1) int idof = 0, node = 0;
os <<"\nNode "<< ++node <<": "<< sval; for (double sval : sol)
else if ((++idof)%npv == 1)
os <<" "<< sval; os <<"\nNode "<< ++node <<": "<< sval;
else
os <<" "<< sval;
}
else // For mixed problems there is a variable number of DOFs per node
os << sol; // so just print the raw solution vector instead
os << std::endl; os << std::endl;
} }