Add face-centered variable support to the Silo Reader
Matt O'Brien requests read support for face centered variables in Silo.
https://teams.microsoft.com/l/message/19:[email protected]/1758755191787?tenantId=a722dec9-ae4e-4ae3-9d75-fd66e2680a63&groupId=70162982-9587-4bcc-ad53-20178c76fe11&parentMessageId=1758755191787&teamName=VisIt&channelName=General&createdTime=1758755191787
Face centered variables in visit Can visit visualize face centered variables written in silo format? Does silo support face centered variables? Are there examples of this? If I have a 2D quadrilateral, it has 4 lines connecting the nodes. I call those lines "faces", some people might call them "edges", what does visit and silo call them?
I think Silo supports face-centered and edge-centered variables, but VisIt does not handle those cases in the Silo reader. We support zone and node centered variables along with boundary centered variables on CSG meshes Another developer can correct me if I'm wrong.
would you be willing to add face centered variables to visit with the silo reader?
...
Mercury and Imp (Monte Carlo Codes) would like support for visualizing face centered data, thanks!
Related to #4770 ?
The edge and face functions are the Nedelec finite element basis functions as found in MFEM https://mfem.org/maxwell-notes/ These are not included in VTK which only has Lagrange elements, linear and quadratic. https://kitware.github.io/vtk-js/api/Common_DataModel_CellTypes.html Maybe there is a subject about drawing using MFEM after a tesselation operator. An alternative is to compute node values from an area weighting technique, which is then straight forward. Or, very basic, is to compute the cell value from the edge and face values of the cell : this does not require "remote" information (meaning ghost zones for parallel Silo files). In both cases (node weighting or constant cell value), setting edge/face values demands defining a new zone type (edge or face, aka Hcurl and Hdiv) with conventions for element to edge/face and the edge connectivity, something enhancing "dbputzl". So indeed, it is easier to do that from your code, very likely. Personally, that is what I'm doing.
For what it's worth the silo library itself does support edge and face centerings. That is degrees of freedom that are associated with edges and or faces of elements. There are centering options in The silo library that allow a data producer to specify this. Then The silo library also specifies the way the variable data for a face centered or edge centered variable must be ordered. Neither of those centerings require an associated edge list or face list. But they do require specification of a traversal of the edge list or face list for a structured or unstructured mesh. The silo documentation specifies this traversal ordering.
In visits silo reader I do not honestly know if we actually support silos edge or face centerings. This issue may be a request to look into this question.
For face/edge data -- one approach is to build a special mesh for these cases, that is - a mesh where the faces / edges are the cells, using a normal vtk mesh.
In visits silo reader I do not honestly know if we actually support silos edge or face centerings. This issue may be a request to look into this question.
Sorry I was not more specific when I opened the issue. Yes, this was a request for Visit's Silo reader to handle these cases which are already supported in Silo. I investigated and I don't believe that the Silo reader handles these cases.