← Back to team overview

dolfin team mailing list archive

Re: [Question #99875]: restricted dof

 

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

    Status: Open => Answered

Anders Logg proposed the following answer:
On Tue, Feb 09, 2010 at 09:38:37AM -0000, dbeacham wrote:
> Question #99875 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/99875
>
>     Status: Answered => Open
>
> dbeacham is still having a problem:
> Thanks for this - but, could someone give me a quick pointer as to how
> to move around the dofmap. Using meshfn.values()/Iterators I can easily
> find the edge instances I wish to integrate over, but would like to know
> how to convert this knowledge to the indices of the dofs I am
> integrating over, so I can extract the relevant submatrix for
> computation. [Sorry if my terminology is a bit confused.]
>
> Apart from trying to do extract the ds section of a matrix for pure
> boundary integrals, I also want to be able to set the pressure boundary
> condition at a single point in a Navier-Stokes calculation, so I would
> also be interested to know how the dofmapping scales with general mixed
> element spaces (ie Taylor-Hood  (P2/P1)). [I assume there is no easier
> way of setting a single pressure value than this?]
>
> Thanks, David.

To get the dofs on a facet, you need to call the following functions
in DofMap:

  tabulate_dofs:       to get the local-to-global mapping on a cell
  num_facet_dofs:      to get the number of dofs on each facet
  tabulate_facet_dofs: to get the local-to-local mapping from the facet
                       dofs to the corresponding cell dofs

For more detailed information, take a look at the documentation for
these functions in the UFC manual.

--
Anders

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