Texture and profile plots of absorbed #/m2

It would be nice to have texture and profile plots of absorbed #/m2. This obviously only makes sense for time dependent models and facets with adsorption. You are already keeping tract of the number of real particles per virtual particle to calculate Pressure, Density and Flux for each time step, so it should be easy to calculate this too.

Hi Alan,
This is already feasible - choose “record absorbed” as texture counting mode (so reflections aren’t recorded), then the “impingement rate” texture type (to choose in Texture Scaling) will show the absorption rate as molecules/m2/s
In case of profiles, you can’t restrict recording to absorption only, but the impingement rate can be converted to absorption rate by multiplying with the facet’s sticking factor.
Cheers, Marton

Marton, you misunderstood. I don’t want the rate, but the total absorbed (#/m2) up to that time, not the adsorption rate (#/m2/s). This information is useful for my gettered surfaces. I figured I could use python and the CLI to calculate it, but I think it should be straight forward to add as a regular molflow feature.

Similarly, maybe other people might also find total desorbed (#/m2) useful too?

Best,
Alan

Thanks for clarifying.

Internally, Molflow’s GUI is written in a way to only display (and hold in memory) the textures and profiles of the currently chosen moment - this choice is for large models where there could be 1000s of moments and consequently 1000s of system states. I don’t have the capacity to change this design by adding a summing function (I’m fully working to make 2.9 come out of beta state).

You have the following workarounds:

  • You use the export textures function (probably with impingement rate mode), which will write a CSV file with one texture for each moment. If you have equally spaced moments without “gaps” between them (for example 1,2,3s… with 1s time window), summing aka. “integrating” in Excel would give you the the total des. molecules (imp.rate * texture cell size * time window = absorbed molecules per texture cell).
  • For facets, not textures you can use the Particle logger to export a large list of hits (even 1M lines), each line will have the hit moment, and use SUMIFS (or sort by hit time) to integrate over time
  • Use the histogram plotter to view “flight time until absorption”, you can set several histograms for each facet
  • For the above two modes you can use the Explode command to break up the facet into smaller cells
  • Finally, you can use my colleague’s Python code Vacuumcost, which calls molflowCLI iteratively and follows getter surface saturation.

I hope one of the workarounds would work.

One easy hack for future versions would be to allow overlapping time moments - therefore you could set up intervals such as 0…1s, 0…2s, 0…3s, etc. essentially showing the total absorption until 1,2,3s and so on. Currently overlapping moments are not allowed for performance reasons: we can sort the user’s moments and use binary search of O(logN) complexity, instead of checking all user moments one by one which would be O(N). Since moment lookup is performed at every hit, in case of a model with 1000s of moments that would be very expensive.

Finally, we’ll have an intern starting next week who’ll try to add iterative simulations to the Molflow GUI, so hopefully this will be built in by the end of next year.

I’ll think a bit about how to do it, cheers, Marton