Meshing a smoke simulation
Sorry, my post covers generating smoke as a single mesh in Blender 2.79, and not an entire smoke sim anim, due a buggy particle system (or smoke cache).
Blender 2.83 doesnt have texture type Voxel Data, but there is a Voxel Mesher Modifier on the way https://developer.blender.org/D4960

In meantime my goal with 2.79 was to ...

use voxel data to generate particle cloud from texture (01) or vertex weight (02)
particles represent by metaballs
animation export as Alembic or Wavefront, that converts metaballs (smoke) into Mesh Sequence animation


test 01 - Mesh from Voxel Data Texture
Blender 2.79 contains texture type Voxel Data that use this kind of data as 3D texture. Blender Manual describes this quite straight forward. And it works for 8-bit RAW and Image Sequence file format (like CT scan or MRI).

It means - it is possible (with some headaches*) to generate mesh from particle system represented by metaball objects, like this ...

Troubles comes with voxel file format Smoke (that should be able to reuse data of existing Smoke Domain on another object) and Blender Voxel (that should use externally saved simulation bake) ...

... I could see Material Preview in Texture Properties, but nothing was rendered.
Usage of these baked smoke simulations (externally) is buggy for years. Smoke doesn't appear in domain at all / or is shifted / or just a few frames of sim is visible. Not always, and that it makes more difficult to hunt issue. (One for all bug report here - as many of them were closed/archived.)
Anyway ... for your needs, when I assigned particle system directly to domain and Domain was set as Texture for particle density I was able to generate a particle cloud and to mesh one frame of smoke, but not entire animation. Probably for the reason mentioned above - bug. I'm not sure how  that one frame is selected, probably current frame set on timeline when assigned? Can't confirm due the refresh issue.

For those interested - in case smoke sim is baked ...

add Metaball object
select Smoke Domain
add Particle system - Emission&gt;Start1 End1 / Source&gt;Volume / Distribution&gt;Grid&gt; / Velocity&gt;zero / Texture&gt;New (Cycles only) / Field Weight&gt;Gravity=zero
go to Texture (Particles) Properties - Type&gt;Voxel Data / Voxel Data&gt;Smoke / Color&gt;Ramp=ON to adjust density / Influence&gt;Density=ON



set render particles as Object&gt;Mbals
export (Mball) as Wavefront(.obj) or Alembic (.abc) that converts metaballs into Mesh Sequence animation
(in case someone will fix the bug :) )





... another pain as hell is particle system refreshing https://developer.blender.org/T52160 . Even you have visible particle cloud, opening file again hides the particles. To make them visible again I discovered only one weird way - switch to Blender Internal engine into RenderView mode in 3Dview, change particle resolution to something, it refresh particle appearance, switch back to Cycles if needed.

test02 - Mesh from Dynamic Paint - Weight
Dynamic Paint in video of Miikah can use a smoke sim as a &quot;brush&quot; to paint, so I wanted Weight paint into a dense grid using voxel data. Vertex Weight becomes Particle size solver. But ... I don't even thing this was implemented or I do something wrong here.
(I could only approved dynamic paint vertex-weight can generate animated particle cloud, but not driven by smoke.)

Resume - faked Fluid Particles seems to be a way to go ... :(

Notes to fix setup of your second blend file
(this part I will delete later)
Particle System Properties

Influence &gt; enable Density
Field Weights &gt; Gravity = 0
Render &gt; Size is very small, try 0.4
looks better to use Random for Emission&gt;Grid

Texture (Particles) Properties

Color &gt; enable Ramp and move White to left to increase smoke density

Mball Properties

keep in mind all metaballs in a scene use resolution from first existing meta object in a scene (doesn't matter what other meta objects are set). That means - lowres for Preview and small particle size value make them invisible for its low res grid.

Time range

you have set Smoke cache frame range 1-90 even scene is set 1-150
also particles system Life Time is only 50 should be 150

Screens below use – Grid Res 200 / Particle Size 0.1 / Mball Preview 0.2
Smoke Default Preview

Smoke Viewports Display Color Ramp

Mball Particles

Hight Grid Resolution + Smaller Particle Size + Smaller Metaballs resolution = More detailed final mesh
Bake smoke sim first. If particles are not visible check italic paragraph under my first blend file.