On Thu, Mar 28, 2019 at 11:02 AM Lee, Jae Ho <jaeho...@live.unc.edu> wrote:

> 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!
>

Unfortunately I don't really know the answer, but I replied off-list with
some contact information for the original authors of the subdivision
surfaces elements so you may try contacting them.

-- 
John

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

Reply via email to