Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project!

 Re: [Libmesh-users] Additional DOF and adaptive mesh refinent From: Wout Ruijter - 2005-10-12 20:47:43 Attachments: Message as HTML ```Michael, Sorry to bother you about periodic bounds again. Do I understand it correctly that you implement the periodicity vectors as additional dofs that you add to the equation_systems as monomials? Does this not give you n_elem additional dof? Whereas you actually need dim*ndof number of dof. (I was a bit puzzled by this solution, I myself just added a neighbourless element of which I use the DOF, but I might be missing the point) Another thing is, once you've added these dof, and used them in constraint rows related to other dofs (something like u_left + u_periodic =3D u_right)= , do you supply any Ke referring to these dofs? As they are not (necessarily) constrained themselves, so something must be supplied in order to avoid nonzero diagonal terms. Of course, in case of fixed periodicity vectors in all directions one can add penalties to Ke and Fe, but I did not find a proper solution for the case in which u_periodic is left free. Suggestions on that topic would be very much appreciated. Greetings Wout ```
 [Libmesh-users] Additional DOF and adaptive mesh refinent From: Michael Povolotskyi - 2005-09-29 15:19:25 ```Dear Libmesh developers, I'm implementing additional DOF in the way you suggested. 1) I define a new variable of type monomial constant. 2) I define two vectors that store DOF numbers: vector dof_indices is defined by dof_map.dof_indices (elem, dof_indices) and add_dofs_vector is defined by my routines. I built a matrix block that couples "normal" and additional variables: Ke_u_add.resize(dof_indices.size(), add_dofs_vector.size() ); 3) If there is no adaptive mesh refinement I simply use system.matrix->add_matrix(Ke_u_add,dof_indices,add_dofs_vector); and everything works. In the case of adaptive mesh refinement I try to use dof_map.constrain_element_matrix(Ke_u_add,dof_indices,add_dofs_vector); and then system.matrix->add_matrix(Ke_u_add,dof_indices,add_dofs_vector); This does not work because dof_map.constrain_element_matrix changes size of dof_indices and does not change size of Ke_u_add. What is wrong in my approach? Thank you very much, Michael. ```
 Re: [Libmesh-users] Additional DOF and adaptive mesh refinent From: Wout Ruijter - 2005-10-12 20:47:43 Attachments: Message as HTML ```Michael, Sorry to bother you about periodic bounds again. Do I understand it correctly that you implement the periodicity vectors as additional dofs that you add to the equation_systems as monomials? Does this not give you n_elem additional dof? Whereas you actually need dim*ndof number of dof. (I was a bit puzzled by this solution, I myself just added a neighbourless element of which I use the DOF, but I might be missing the point) Another thing is, once you've added these dof, and used them in constraint rows related to other dofs (something like u_left + u_periodic =3D u_right)= , do you supply any Ke referring to these dofs? As they are not (necessarily) constrained themselves, so something must be supplied in order to avoid nonzero diagonal terms. Of course, in case of fixed periodicity vectors in all directions one can add penalties to Ke and Fe, but I did not find a proper solution for the case in which u_periodic is left free. Suggestions on that topic would be very much appreciated. Greetings Wout ```