Sticking factor definition and sojourn time

Hello,

I am trying to model migration of particles in a non-isothermal tube. One end of the tube is the source - the other end the “sink”. The migration rate is determined mostly by the interactions of the particles with the walls of the tube.

Thus far, I have used my own Monte Carlo code in which the interactions with the wall are treated as follows:
1- a particle that hits a wall has a probability to get adsorbed reversibly equal to the sticking factor
2- the particle remains adsorbed for a time equal to the sojourn time on average (function of local wall temperature, attempt frequency and binding energy) and is then re-emitted.
These assumptions seem physically sound and experimental results are very well described by this code.

Now I am trying to implement this in Molflow. However, I realized that in Molflow the sticking coefficients equals the probability to be adsorbed irreversibly. When both a sticking factor and a sojourn time specified for a facet, I understand that a sticking factor s means that for every n particles hitting the facet, s*n particles will be adsorbed irreversibly and (1-s)*n will be adsorbed for the given sojourn time on average. This is a different definition of the sticking factor from what I was using previously.

My question is whether it is possible to set up a Molflow simulation in which a specified fraction f of particles hitting a facet is adsorbed reversibly for the specified sojourn time (and a fraction 1-f is re-emitted instantaneously)?

EDIT:
I seem to have found the answer to my question in another topic:

The approach with multiple facets with tiny offsets would probably do the trick. One facet with an opacity of 1-f, and sticking factor 0, and an underlying fully opaque facet with sojourn time set, also with sticking factor 0.

Also in that topic I read that Molflow can only simulate processes up to a few seconds and I was wondering why that is so?

Thank you.
Kind regards,
Alex

Hello Alex,

We noticed before the “sticking” is somewhat misleading, and you’re correct that in our terminology sticking factor is rather a capture probability.

What you’re trying to achieve is a 3-way decision at the moment of a hit:

  • Rebound immediately
  • Stay on surface for a random period following the exponential distribution (usual distribution for surface sojourn time, as in this paper)
  • Stick forever and not return

This is not supported, however, if you’re motivated to do some hacking, you can achieve this:

  • Create a tube in Molflow representing your geometry
  • Using the scale facet command, create a tiny bit larger tube around the first

Then:

  • Set sticking=0 on the outer tube and 0 sojourn time
  • Set sticking s and opacity o on the inner tube and a non-zero sojourn time
  • Facets should be one-sided (=transparent from back) and normals pointing inside

This will result in:

  • 1-o chance that the particles will cross the inner tube and reflect immediately from the outer tube
  • o * s chance that the particles will be captured on the inner tube irreversibly
  • o * (1-s) chance that the particles will spend their sojourn time on the inner tube and reflect

That way you actually achieve the desired physics. Of course it’s a geometry hack and might not be suitable for real-life geometries. If you need a Molflow model set up, give me the desired probabilities of the three cases and I’ll upload a Molflow model here.

UPDATE: I’ve now read your update and yes, this is basically the method I recommended there.
Molflow calculates all hits from desorption time to adsorption. It means that in case of a 500m/s gas and a typical free path of 10cm, each hit will roughly take 0.2ms, in other words, 5000 hits are to be calculated for a flight time of 1s. That said, Roberto noted that for overnight simulations you can run Molflow to simulate up to billions of hits, corresponding to hour-long processes.

Hello Marton,

thank you for your quick reply and clear explanation.

And yes it would be helpful to have an example set-up. Specifically, my case is a situation with, using your notation, o=0.2 and s = 0 (there are no irreversibly stuck particles).

Concerning the time of a process that Molflow can simulate: I understand from your explanation that this time is determined by the number of hits that need to be calculated. So if I have strongly adsorbing particles (high binding energy therefore long sojourn times and less hits per unit of process time), Molflow should be able to calculate processes up to much longer times than 1 h, within reasonable computation time?

Kind regards,
Alex

I’ve uploaded the file here, and made a video of making it here.
(I’m a bit slow as I only had a laptop with trackpad)

Important: what I’m doing gives a 20% chance of immediate reflection, and 80% of a 1-second (average) delayed reflection. I use the inner tube as immediate reflector, and the outer tube as delayed reflector. It’s the inverse of what you wrote (o=0.2) but I already recorded the video after realizing it.
Also, I could have interchanged the inner and outer tubes, the order doesn’t matter in case of a 2-way decision making.

As for the simulation time, yes, Molflow is event-driven, meaning that simulation runs as usual, and time is calculated after the hits have already happened. So slowing down the physical time (by a slow gas or by long sejour times) allows to simulate a longer period without performance penalty, as ultimately only the number of hits matter.

I followed your method for my case and it works - thanks!

I am also interested in the amount of adsorbed particles at different locations in the tube, after a given time.

In my system, the (outer) tube has a temperature profile imposed on it. It consists of about 100 1 cm sections, each with a different temperature. The temperature gradient from source (one end of the tube) to sink is negative. I used a small script to assign facet temperatures in the xml file.

Since the reflection on this tube is delayed, its transmission will depend on time. I simulate the integrated transmission for a given total time t by setting a time moment at 0 s and a time window length of 2*t. In that way particles with flight+adsorbed time < t are counted, if I understand correctly.

Now is there a way to get a histogram of the particles’ position along the tube axis (in my model, the z-coordinate) at time t? This seems to be a variant of the existing Molflow option to calculate a histogram of the total flight distance before adsorption. I suppose this option is not available, but perhaps I’m overlooking something or there might be a workaround…

Kind regards,
Alex