Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions source/atl_harvesting/VTK-Lagrange.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Utilizing VTK's Lagrange Cells


This branch aims at the utilization of Lagrange Cells in
VTK as described on:
https://www.kitware.com//modeling-arbitrary-order-lagrange-finite-elements-in-the-visualization-toolkit/

This allows for polynomial representation of data up to a polynomial degree
of 10.

The sorting of the nodes can be found in:

https://gitlab.kitware.com/vtk/vtk/-/blob/master/Common/DataModel/vtkHigherOrderHexahedron.cxx#L601

The cell type for High-Order Hexahedra is 72.
160 changes: 160 additions & 0 deletions source/atl_harvesting/sample-Hexa-O2-E6.vtu
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
<VTKFile type="UnstructuredGrid" version="2.2" byte_order="LittleEndian" header_type="UInt64">
<UnstructuredGrid>
<Piece NumberOfPoints="105" NumberOfCells="6">
<PointData>
<DataArray type="Float32" Name="DistanceToCenter" format="ascii" RangeMin="0" RangeMax="1.8708287477493286">
1.8708287 1.2247449 1.2247449 1.8708287 1.5811388 0.70710677
0.70710677 1.5811388 1.8708287 1.2247449 1.2247449 1.8708287
1.8708287 1.2247449 1.2247449 1.8708287 1.5811388 0.70710677
0.70710677 1.5811388 1.8708287 1.2247449 1.2247449 1.8708287
1.5 1.6583124 1.2247449 0.8660254 1.118034 1.8027756
1.4142135 1.118034 1.5811388 1.118034 0.70710677 1.5
1 0.5 1.5 1.6583124 1.2247449 0.8660254
1.118034 1.118034 0.70710677 0.8660254 0.5 1
1.118034 0.5 0.70710677 0 0.5 1.118034
0.70710677 0.8660254 0.5 1.5 1.2247449 1.6583124
1.118034 1.4142135 1.8027756 1.118034 1.5811388 1
1.5 1.5 1.2247449 1.6583124 1.118034 1.6583124
1.2247449 0.8660254 1.5 1.5811388 1.118034 0.70710677
1.8027756 1.4142135 1.118034 1.6583124 1.2247449 0.8660254
1.5 0.70710677 0.8660254 1.118034 0.5 0.70710677
1 1.118034 0.70710677 0.8660254 1.118034 1.2247449
1.6583124 1.5 1.118034 1.5811388 1.4142135 1.8027756
1.2247449 1.6583124 1.5
</DataArray>
<DataArray type="Float32" Name="Polynomial" format="ascii" RangeMin="1" RangeMax="32">
1 3 7 13 3 6
11 18 7 11 17 25
3 6 11 18 6 10
16 24 11 16 23 32
1 1 1 3 3 1
1 3 1 1 3 3
3 6 3 3 3 6
6 4 4 8 7 4
8 4 9 7 12 7
7 12 11 9 10 14
13 10 14 11 15 14
19 13 14 19 18 4
4 7 8 4 4 7
8 9 12 7 7 11
12 9 13 13 9 14
14 19 13 18 18 15
20 20 16 21 22 27
20 26 26
</DataArray>
</PointData>
<CellData>
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="ascii" RangeMin="0" RangeMax="3.7416573867739413">
0 0 0 1 0 0
2 0 0 3 0 0
0 1 0 1 1 0
2 1 0 3 1 0
0 2 0 1 2 0
2 2 0 3 2 0
0 0 1 1 0 1
2 0 1 3 0 1
0 1 1 1 1 1
2 1 1 3 1 1
0 2 1 1 2 1
2 2 1 3 2 1
0.5 0 0 0 0.5 0
0.5 0.5 0 1 0.5 0
0.5 1 0 0 0 0.5
0.5 0 0.5 1 0 0.5
0 0.5 0.5 0.5 0.5 0.5
1 0.5 0.5 0 1 0.5
0.5 1 0.5 1 1 0.5
0.5 0 1 0 0.5 1
0.5 0.5 1 1 0.5 1
0.5 1 1 1.5 0 0
1.5 0.5 0 2 0.5 0
1.5 1 0 1.5 0 0.5
2 0 0.5 1.5 0.5 0.5
2 0.5 0.5 1.5 1 0.5
2 1 0.5 1.5 0 1
1.5 0.5 1 2 0.5 1
1.5 1 1 2.5 0 0
2.5 0.5 0 3 0.5 0
2.5 1 0 2.5 0 0.5
3 0 0.5 2.5 0.5 0.5
3 0.5 0.5 2.5 1 0.5
3 1 0.5 2.5 0 1
2.5 0.5 1 3 0.5 1
2.5 1 1 0 1.5 0
0.5 1.5 0 1 1.5 0
0.5 2 0 0 1.5 0.5
0.5 1.5 0.5 1 1.5 0.5
0 2 0.5 0.5 2 0.5
1 2 0.5 0 1.5 1
0.5 1.5 1 1 1.5 1
0.5 2 1 1.5 1.5 0
2 1.5 0 1.5 2 0
1.5 1.5 0.5 2 1.5 0.5
1.5 2 0.5 2 2 0.5
1.5 1.5 1 2 1.5 1
1.5 2 1 2.5 1.5 0
3 1.5 0 2.5 2 0
2.5 1.5 0.5 3 1.5 0.5
2.5 2 0.5 3 2 0.5
2.5 1.5 1 3 1.5 1
2.5 2 1
<InformationKey name="L2_NORM_RANGE" location="vtkDataArray" length="2">
<Value index="0">
0
</Value>
<Value index="1">
3.7416573868
</Value>
</InformationKey>
<InformationKey name="L2_NORM_FINITE_RANGE" location="vtkDataArray" length="2">
<Value index="0">
0
</Value>
<Value index="1">
3.7416573868
</Value>
</InformationKey>
</DataArray>
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="ascii" RangeMin="0" RangeMax="104">
0 1 5 4 12 13
17 16 24 27 28 25
38 41 42 39 29 31
37 35 32 34 30 36
26 40 33 1 2 6
5 13 14 18 17 43
45 46 27 53 55 56
41 31 48 52 37 34
50 47 51 44 54 49
2 3 7 6 14 15
19 18 57 59 60 45
67 69 70 55 48 62
66 52 50 64 61 65
58 68 63 4 5 9
8 16 17 21 20 28
73 74 71 42 83 84
81 35 37 80 78 75
77 36 79 72 82 76
5 6 10 9 17 18
22 21 46 86 87 73
56 93 94 83 37 52
91 80 77 89 51 90
85 92 88 6 7 11
10 18 19 23 22 60
96 97 86 70 103 104
93 52 66 101 91 89
99 65 100 95 102 98
</DataArray>
<DataArray type="Int64" Name="offsets" format="ascii" RangeMin="27" RangeMax="162">
27 54 81 108 135 162
</DataArray>
<DataArray type="UInt8" Name="types" format="ascii" RangeMin="72" RangeMax="72">
72 72 72 72 72 72
</DataArray>
</Cells>
</Piece>
</UnstructuredGrid>
</VTKFile>