Hello Andrew,
it depends on the geometry you have. If you have a simple geometry, then
all faces are oriented in the same way. Thus the dofs are ordered the
same way, too. If you have a complex geometry and the face orientation
changes, then you have to check how the orientation of the two faces is
and take into account this rotation. However, in both cases the dofs are
ordered with respect to the local coordinate system of the face.
Best Regards,
Markus
Am 15.04.11 07:50, schrieb Andrew McBride:
Hi
I have one question about how the periodic boundary conditions are implemented
in the tut. The faces on opposite sides are matched and then constraints
imposed between the degrees of freedom (see below). Can one assume the the
ordering of dof on the opposite faces (f1 and f2) match?
Andrew
{
const unsigned int nDofsPerFace =
dofHandler.get_fe().dofs_per_face;
std::vector<unsigned int> localDofs1(nDofsPerFace);
f1->get_dof_indices(localDofs1);
std::vector<unsigned int> localDofs2(nDofsPerFace);
f2->get_dof_indices(localDofs2);
for(unsigned int i = 0; i< nDofsPerFace; ++i)
{
if(!constraints.is_constrained(localDofs1[i])&&
!constraints.is_constrained(localDofs2[i]))
{
constraints.add_line(localDofs1[i]);
constraints.add_entry(localDofs1[i],
localDofs2[i], 1.0);
}
}
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii