@spyridon97 and I are starting to work on support for visualizations of layered composite materials (such as carbon fiber in a resin matrix) modeled as shell elements with additional information about fiber orientations.
The idea is to develop a capability to show both
- stress-tensor magnitudes (such as the von Mises stress or stresses along principal axes) computed from a simulation; combined with
- the orientation of fibers within layers
in the same visualization so engineers can understand the relationship between the designed geometry and the computed stresses.
As part of this work, we want to ensure our data model is flexible enough to accommodate the needs of the community. Here is a diagram showing the type of shell data we are currently considering:
- To the left is a shell element’s parameter space (a 2-d quadrilateral or triangle characterized with (r,s) coordinates).
- In the center is the physical shape that the shell approximates. You can see it has a thickness (or height) h and that (in this example, not in general) there are 3 layers. The layers of the part do not need to be uniform in thickness.
- To the right the layers have been “exploded” so that you can see the height of each layer as well as a 2-d vector associated with each layer (d_1, d_2, d_3). Note that the thickness fractions, t_i sum to 1: \sum_it_i = 1.
We assume that the number of layers N is fixed within a block of elements (i.e., many elements in a dataset will have the same number of layers) since this matches how parts are manufactured. (The figure above has N=3.)
The questions we have are:
- How are shell-element thicknesses h and t_i defined in your code? Is h provided at nodes, at cell centers, or uniform for an entire block of cells?
- How are the fiber directions d_i specified in your code? We assume they will be provided per cell or per point as a pair of values. A single angle \theta with respect to each element’s r parameter-axis is a possibility, but accepting a 2-d vector allows for future expansion or for electromagnetic codes where the principal direction may be perpendicular to the shell.
- Besides the variables discussed above, what other information do you provide that might be useful for visualizations.
- For example, fiber may be woven matting (in which case d_i points along one direction of the weave), a single long filament, or chopped segments with limited directional control. Do you need to indicate/visualize that?
- You might also have a characteristic fiber size (or diameter) s_i \ll h t_i and volume ratio v_i that specifies the fraction of fiber to resin within layer i. This could affect visualizations as well.
We’ve perused these codes:
but want to see if ParaView users have other formulations that require other data.
We will be exploring visualization techniques that use this information. Our prototypes may or may not use custom shaders, but the final capability will almost surely need a custom shader. If you have example visualizations you would like us to consider, please let us know.