fixed: extract the entire patch vector for fields

if number of components differ, the fields classes now
takes care of extracting the required components from the
full patch vector.
This commit is contained in:
Arne Morten Kvarving 2017-03-20 15:08:55 +01:00
parent 2cdf34bfaa
commit 5bb5e5087d

View File

@ -141,7 +141,10 @@ bool SIMdependency::extractPatchDependencies (IntegrandBase* problem,
patch = pindx < it->patches.size() ? it->patches[pindx] : model[pindx];
// See ASMbase::extractNodeVec for interpretation of negative value on basis
int basis = it->components < 0 ? it->components : it->differentBasis;
patch->extractNodeVec(*gvec,*lvec,abs(it->components),basis);
if (it->differentBasis && it->components != patch->getNoFields(basis))
patch->extractNodeVec(*gvec,*lvec);
else
patch->extractNodeVec(*gvec,*lvec,abs(it->components),basis);
if (it->differentBasis > 0) {
if (it->components == 1)
problem->setNamedField(it->name,Field::create(patch,*lvec,