New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Import of UNV mesh type #3476
Comments
Is there any chance you could just not use UNV? Can your meshing program output something else (like Abaqus or even ExodusII)? UNV is really not used very much so this isn't going to be a high priority for us... |
SALOME is a commonly used CAD and meshing software and IDEAS UNV is very commonly used, particularly in CFD codes like OpenFOAM, Code_saturne, STAR-CCM+ and some FEM codes like ElmerFEM. Other formats from SALOME are MED, STL, GMF and CGNS. UNV is preferred because it supports many different cell shapes and descriptions for volumes and surfaces. MED and CGNS formats would also be desirable. MOOSE workshop training indicates that UNV is supported, so I figured this would be supported. |
I'm not saying we won't support it... just that it's not going to get a high priority right now so you may be better off converting it to something else in the meantime... |
@jessejohns, any idea what type of elements are used in the oneRegion.unv and twoRegion.unv files you sent? I'm currently getting the error:
so it appears to be some element that libmesh does not support reading. Some of the element types we do support are 41, 42, 44, 45, 91, 92, 94, 95, 111, 112, 115, 116, and 118... Looking at the file, it seems like they might be 1D elements with 2 nodes? A quick google search for the the i-deas format didn't turn up anything helpful yet, so if you can point me to some authoritative documentation for the UNV format, that would also be helpful. |
Hello, Thank you for looking into this. I don't have documentation - I just requested it from Siemens, however, OpenFOAM has a mesh conversion tool that works very well. It can be found here: So, what I see from this is that "11" should simply be skipped. Lines 322-327:
if (feID == 11)
{
// Rod. Skip.
is.getLine(line);
is.getLine(line);
}
|
Your entire file consists of elements of type 11, so skipping that type would skip everything. I eventually came across this which shows that type 11 is a "beam" type element which has some extra data associated to it which we can probably ignore. I'm attempting to read them as 1D "Edge2" elements now, will let you know what happens... |
Never mind, I didn't scroll down far enough. Looks like there are some type 41 (TRIs) and type 111 (TETs) elements there as well. We still might not be able to skip reading the 1D and 2D stuff though, in case they are used for setting BCs... |
Those 11 elements (see This does bring up an interesting point, if one were to make "nodesets" -- On Fri, Jul 18, 2014 at 4:15 PM, jwpeterson notifications@github.com
|
So, it appears that the 2411 on line 19 and 2412 on line 2712 determines On Fri, Jul 18, 2014 at 4:22 PM, Jesse Johns jesse.m.johns@gmail.com
|
I've gotten this branch to the point where we can successfully read the file, but I'll need to do more work to handle the elements of different dimension and to parse the boundary conditions section, which libmesh has never parsed before. So it's going to be a little while before it will all work in MOOSE. |
Let me know if you want any more complicated boundary conditions when the Cheers. On Fri, Jul 18, 2014 at 5:42 PM, jwpeterson notifications@github.com
|
This has been working for a while now... forgot to close the issue. |
The generic use of importing a mesh:
[Mesh]
file = example.unv
dim = 3
[]
Returns the error from line 686 of /src/mesh/unstructured_mesh.c:
if (mesh_data == NULL)
libmesh_error_msg("Error! You must pass a valid MeshData pointer to read UNV files!");
when trying to use a UNV mesh that is normally supported by libMesh.
The text was updated successfully, but these errors were encountered: