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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users