Hi Folks,

I have a question about using 1D mesh (of an immersed structure) in 2D
(fluid domain) simulation.
I am importing GMSH file to read linear elements (EDGE2) making the surface
of a circle, such that I get

        mesh.read_mesh(gmsh_filename);
            and
       int dim =  mesh.mesh_dimension; // dim == 1

In my simulation I want to enquire the orientation of the normal vector of
the edge elements. What would be the correct FEBase and QRule to construct
to get normal vector in 2D. I am doing the following:

    const int bdry_mesh_dim = 1;

    libMesh::UniquePtr<FEBase> fe_bdry(FEBase::build(2, fe_type));



    libMesh::UniquePtr<QBase> qrule_bdry = QBase::build(QGAUSS,
bdry_mesh_dim, CONSTANT);

    fe_bdry->attach_quadrature_rule(qrule_bdry.get());



/// Loop over bdry_mesh_elems


      fe_bdry->reinit(elem);

      const std::vector<libMesh::Point>& bdry_normals = fe_bdry->get_normals
();


I get error with fe_bdry->reinit(elem) saying that EDGE2 is not supported.

If I build fe_bdry with dim of 1 it proceeds, but bdry_normals is just of
dimension 1.

What should I be doing instead?

Thanks,
-- 
--Amneet

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

Reply via email to