Question #92245 on DOLFIN changed: https://answers.launchpad.net/dolfin/+question/92245
Niclas Jansson proposed the following answer: Patrick Riesen <question92...@answers.launchpad.net> writes: > Question #92245 on DOLFIN changed: > https://answers.launchpad.net/dolfin/+question/92245 > > Patrick Riesen proposed the following answer: > Murtazo Nazarov wrote: >> Question #92245 on DOLFIN changed: >> https://answers.launchpad.net/dolfin/+question/92245 >> >> Murtazo Nazarov posted a new comment: >> >> I guess >> >> *snip* >> // extract velocity solution and scale it >> dolfin::uint m_e = _e->vector().size(); >> dolfin::uint m = _v->vector().size(); >> double* _block = new double[m]; >> >> dolfin::uint* _rows = new dolfin::uint[m]; >> for(dolfin::uint i = 0; i < m; i++) >> _rows[i] = m_e + i; >> >> _evp->vector().get(_block, m, _rows); >> *snap* >> >> won't work in parallel or? Otherwise there are many similar ways to deal >> with the problem. >> >> m >> > > no, but there's also get_local (), set_local () which are the parallel > equivalents. > Working with indices, and get_local is dangerous. For example if the velocity components should be scaled differently it won't work if the dofmap is renumbered. The safest way is to extract function components from a given dofmap. Niclas -- You received this question notification because you are a member of DOLFIN Team, which is an answer contact for DOLFIN. _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp