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

Reply via email to