You can generate a mesh from the isosurface of a Bifröst simulation for more control over the surface. The channels like velocity and vorticity can be transferred to the mesh as color sets.
The mesh is a separate object that is automatically added to the scene when you create a Bifröst simulation, but it has no polygons until you activate meshing on the bifrostShape node. This is typically done as a last step before rendering or exporting.
This generates a mesh surface for the bifrostMesh object.
In the case of meshing foam, it also adds a polygon mesh to the scene and connects it to the shape (by default, foam shapes do not have an associated mesh). However, the mesh is not added to any shading group so you must apply a material manually.
You can reduce the time needed to mesh a Bifröst simulation by specifying a Clipping mesh. For example, you can place a box around the portion of the fluid inside the camera's view to mesh only that region. The topology of the clipping mesh does not matter — only its world-aligned bounding box is considered. See Work with Bifrost Kill Volume and Clipping meshes.
To cache a Bifröst mesh, create a user cache for the simulation (see Create a Bifröst user cache) and make sure that Cache Elements: Mesh is enabled in the Bifrost Compute and Cache Options window.
You can import the resulting cached mesh into another scene as described in Cache meshes using BIF format.
Alternatively, you can cache a Bifröst mesh as an Alembic file as described in Cache Bifröst meshes as Alembic files.