forked from 1b-agent/fieldcraft-upstream
render: slices, surface values and streamlines of cell flow fields
A fluid step's result is a field per cell of a regular grid, not per node, so the contour machinery had nothing to draw it with and the viewport showed nothing after a fluid solve. Add `render::flow`, CPU display data for such fields with no solver dependency (render stays at L1): an axis-aligned slice through the cells as triangles carrying cell-centred values (interpolated between the two layers either side, outer centres moved to the domain faces, cells inside obstacles left out), the field sampled at a surface beside the fluid cells for colouring an obstacle, and streamlines traced through the trilinear velocity field by the midpoint rule, seeded on a lattice upstream of the obstacles. Seeds, steps and the total number of points are capped so hostile counts cost a bounded time. `contour::banded` fans band pieces into scene triangles for the callers. Part of #193.
This commit is contained in:
1 parent
1e0c21d088
commit
0d30ddb747
4 files changed
+639
-3
No files matched your search
@@ -24,7 +24,7 @@ crates in strictly lower layers.
|
||||
| L1 | `fieldcraft-mesh` | Surface preparation (weld, watertightness, feature edges), robust predicates, Delaunay tetrahedralization and refinement, Voronoi-based optimization, hex meshing, quality metrics. | started |
|
||||
| L1 | `fieldcraft-fem` | Element kernels shared by every structural solver: the element table (tet4, tet10, wedge6, hex8 full and incompatible modes, hex20 full and reduced), shape functions, quadrature, element stiffness, consistent and lumped mass, body and pressure loads, stresses and their extrapolation, isotropic and orthotropic elasticity, the uniform-strain (one-point) hex8 and tet4 kinematics, hourglass shape vectors and element frequency bounds of the explicit solver, objective stress rates and J2/Johnson–Cook return mapping. Pure functions, no solver loop. | started |
|
||||
| L1 | `fieldcraft-decks` | Abaqus input, Nastran bulk data and LS-DYNA keyword readers and writers, to and from `model`. Text out, no file system; `deck.write` saves it. | started |
|
||||
| L1 | `fieldcraft-render` | Display data without a GPU dependency: the visible faces, element edges and nodes of a model, the orbit camera, a CPU rasterizer for headless snapshots, geometry surfaces with their face boundaries, deformed shapes and banded contour plots of nodal results, picking. | started |
|
||||
| L1 | `fieldcraft-render` | Display data without a GPU dependency: the visible faces, element edges and nodes of a model, the orbit camera, a CPU rasterizer for headless snapshots, geometry surfaces with their face boundaries, deformed shapes and banded contour plots of nodal results, slices, surface values and streamlines of flow fields on grids of cells, picking. | started |
|
||||
| L2 | `fieldcraft-solver` | Implicit solver: assembly from the resolved model, boundary conditions, sparse direct solution, linear static and modal analysis, stresses and reactions. | started |
|
||||
| L2 | `fieldcraft-explicit` | Explicit dynamics: central-difference time integration with lumped mass, one-point hex8 with hourglass control, nodal-pressure tet4, bulk viscosity, rigid walls, large deformation with objective rates, plasticity, damage and erosion, energy account, histories and field frames. | started |
|
||||
| L2 | `fieldcraft-lbm` | Lattice Boltzmann flow solver on the CPU: D3Q19 two-relaxation-time scheme, bounce-back and slip walls, Zou–He inlets and outlets, obstacles voxelised from the face-tagged surface with exact predicates, momentum-exchange forces per face. Uses `mesh` for the predicates and the boundary surface. | started |
|
||||
|
||||
Reference in new issue
Block a user