|
VirtualFluids 0.2.0
Parallel CFD LBM Solver
|
Validates missing-link diagnostics write a winding value for an open surface. More...
Modules | |
| Connectors | |
| LBM | |
Validates missing-link diagnostics write a winding value for an open surface.
Flow: 1) Construct a Grid3D with 2 nodes in X, 2 in Y, and 2 in Z, and an open tetrahedron with vertices at (0,0,0), (1,0,0), (0,1,0), (0,0,1). The triangles are (0,1,3), (0,3,2), (1,2,3), leaving the (0,1,2) face open. 2) Build one missing link against the open surface: use the mesh triangles directly, then processBoundaryLink() traces a single link segment from origin (0.2, 0.2, -0.2) to neighbour (0.2, 0.2, 0.2) using dx=0.4 and (cx,cy,cz)=(0,0,1). The surface is open, so there is no hit; handleMissing() returns false and the link is recorded as missing. 3) Finalize the collection: finalizeMissingLinkCollection() uses the fast-winding evaluator (when VF_HAS_FAST_WINDING is available) to compute and attach winding values for the missing-link endpoints, and also computes endpoint-kind flags. 4) Write the collection to VTK and read back the winding scalar from the file. 5) Parse the appended raw VTK data to extract the winding scalar and assert it is finite and within the expected [0, 1.1] tolerance band.
Additional intersection cases covered below using the same tetrahedron mesh:
Definition at line 385 of file GridWindingDiagnosticsSimulationObserverTest.cpp.
Definition at line 409 of file GridWindingDiagnosticsSimulationObserverTest.cpp.
Definition at line 397 of file GridWindingDiagnosticsSimulationObserverTest.cpp.
Definition at line 421 of file GridWindingDiagnosticsSimulationObserverTest.cpp.
Definition at line 354 of file GridWindingDiagnosticsSimulationObserverTest.cpp.