← Back to team overview

dolfin team mailing list archive

Re: [Question #97361]: dofmap problem for a function with two identical subspaces

 

Question #97361 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/97361

    Status: Answered => Open

Patrick Riesen is still having a problem:

> I can't follow the example code very easily, but it sounds like you're
> missing the dof map offset (see _ufc_offset inside DofMap).
> 
> Can you make a simpler example without restrict, and vetors, etc? Just
> try getting the (sub) dof map and see which entries it points to.
> 
thank you Garth,

i now used

std::vector<dolfin::uint> components;
components.push_back(0);
DofMap* submap = dofmap.extract_sub_dofmap(components, _fluid->mesh());


UFCCell ufc_cell(_fluid->mesh());

for(CellIterator cell(_fluid->mesh()); !cell.end(); ++cell)
{
  ufc_cell.update(*cell);

submap->dofmap().tabulate_dofs(cell_dofs.get(),ufc_cell,cell->index());

  for(dolfin::uint i = 0; i < cell_dims; i++)
    std::cout << cell_dofs[i] << std::endl;
}

so this spits me out values in the range between 0 and 20, which is 
fine. I then used components.push_back(1) instead and then i get the 
cell_dofs values output ranging between 21 and 41 which is what i was 
looking for. so the other way i presumably did not get the right dofmap, 
now it is correct.

regards,

patrick

> Garth
> 
>> many thanks for the help, patrick
>>
>>
>>
>

-- 
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.



References