Particle Tracking in COMSOL Multiphysics

This is a continuation of my post from last time where I looked at modeling actual pore geometries in COMSOL. In this post, I explored the new feature that we have with COMSOL that is the Particle Tracing Module. This module really enables the visualization of particle behavior in our systems where we can better understand how efficient our capture processes are for given flow conditions. Now, the particle tracing module is not really a coupled system: the flow physics are typically solved for first and then the particle tracing is added and trajectories are computed from the velocity field data. Various physics can be added to the system, but the ones that we are most interested in are the drag force and Brownian motion.

Different boundary conditions are also available including – but not limited to – bounce, stick, and pass though wall conditions. These affect the particles that interact with that boundary accordingly and can also be set up to work as logical operators, where the wall physics are conditional dependent on some particle property such as size (e.g. you can have a particle “pass through” a boundary or be rejected based on its size). These physics are a little more complicated and I plan on exploring them more in the future, but for now I have simply used a single particle size (100 nm) with stick conditions at the membrane area and bounce conditions at the wall. The fluid flow that I used was the Free and Porous Flow Module with a hydraulic permeability of 7.3 x 10^-17 [m^2] which is a permeability for NPN that Henry had in his Lab on Chip paper. In this simulation, I used an accurate 3D geometry with the membrane (and permeability) scaled up by a factor of 100 for easier meshing. For flows, I ran a parametric sweep where I varied the height of the top channel in 50 μm increments from 50 to 300 μm as well as the bottom channel flow rate, which I varied from 0 – 10 μL/min. Here, I am showing you animations of the capture in a 100 μm top channel geometry for 0 μL/min, 5 μL/min and 9 μL/min.

 

 

 

We can run a global evaluation for the total number of particles that interact with a boundary by the end of the experiment and the results show that there are 5, 440 and 750 particles on the membrane at the end of the run (10 s) respectively. This is based on an initial count of 1000 particles released at the inlet at t = 0. Some things to note: I can increase the number of particles to 10^9 to represent our actual system, but the computational power required for this is kind of ridiculous; I am only working with Drag Force physics as Brownian Motion is again quite computationally expensive. This will be a job for BlueHive in the near future, where I couple the drag and random motion. Furthermore, not all the particles that are not caught on the membrane are coming through the outlet; some are still lingering in lower velocity portions of the flow within the channel. One major thing to keep in mind here is that the particles are not the actual size of their markers in these simulations. This a COMSOL generated object that is simply representative of where the particle center should be positioned. I am not sure if I can change this feature to make them actual size but this is something that I can look into.

After doing this, I was curious what would happen in a simulation with actually geometry pore so I took the bifurcated pore from my previous post, added channels above and below, and added one hundred 50 nm particles to this pore. Because this geometry was so small, most of the particles passed rather quickly, but there was one interesting particle that appeared to slip into the lower velocity pockets found within the pore (noted previously) and get captured on the pore sidewall.

 

 

 

These simulations provide useful insight to the capture process and I will continue to update this work as I make further progress.

Similar Posts