I was modifying the subdivision FE example code in miscellaneous/ex11 to handle 
large deformations and do a bending and inflation of a circular plate in Cirak 
and Ortiz 2001 
(https://pdfs.semanticscholar.org/6fb5/bf884883eda23383e1502f62dd63d2b6b39e.pdf),
 and the way it currently handles its BCs is by penalty method. But by doing 
so, it’s also pinning some elements that are actually in the mesh body in 
addition to pinning the ghost elements. Is there particular reason that it does 
that? For example, if I just pin the ghost elements by imposing penalty term 
just for the three nodes associated with a ghost element, it “looks” like it’s 
doing the right thing.

for (unsigned int n = 1; n < 3; ++n) <——————— switched 4 to 3 to not pin the 
element that is in the actual mesh.
            {
                const dof_id_type u_dof = 
nodes[n]->dof_number(KL_system.number(), u_var, 0);
                const dof_id_type v_dof = 
nodes[n]->dof_number(KL_system.number(), v_var, 0);
                const dof_id_type w_dof = 
nodes[n]->dof_number(KL_system.number(), w_var, 0);
                KL_system.matrix->add(u_dof, u_dof, penalty);
                KL_system.matrix->add(v_dof, v_dof, penalty);
                KL_system.matrix->add(w_dof, w_dof, penalty);
            }

I am just not sure if doing so will cause any issues. Also, what would be the 
best approach if I want to impose boundary conditions other than pinning on the 
ghost elements (i.e. both displacement and rotation free)? Thank you for your 
help!

Best,
Mike

_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to