I’m currently modelling a CO2 removal system, and hoping to measure the CO2 concentration as the depleted stream disperses into the surrounding atmospheric air. The source at the exit of the contactor unit is roughly 200pm, and the surrounding air is roughly 400pm. Can passive scalar sources be used to model a removal of a species?
Would this have to be done by taking the difference? For example, at the exit of the removal system, assign a value of 200 to the volume representing the exit fan. At the exit we expect a value of 400-200ppm = 200pm. Further away as it disperses, we might expect 400-100ppm = 300ppm?
In principle you should be able to use passive scalars to model the concentration in ppm of the CO2, due to dispersion in the flow. Please have a look at this sample project for reference:
If you have a CAD model or a project already setup in the platform, you can share the URL here and we can give better advice.
Hi @ggiraldof ,
Thank you for your response. I’ve created this sample project to test what I’m hoping to do. See attached screen shots and the link posted at the bottom.
At the left boundary, 400 ppm passive scalar with inlet velocity u_x = 1m/s was applied. At each cube in the first row to the left, a passive scalar was assigned with a value of -200ppm, at u_x = 1 m/s.
The result appears for the most part as I would expect, with values ranging from 200-400ppm as the CO2 depleted air exiting each cube mixes with the CO2 rich air in the atmosphere (400ppm). However, as can be seen in the figure above, and highlighted in the figure below showing an iso-volume displaying regions with passive scalar values between 0-199; some regions appear to go below the exit condition of 200ppm. Is there any way to constrain the passive scalar quantities to avoid this?
The test project can be seen here: SimScale.
The simulations discussed above is simulation found under “Passive scalar array 2x5”, called “Run 6- +400 inlet, -200 passive scalar”.
Thanks very much.
Hi @ggiraldof, just following up on this post. Any chance you had any thoughts on constraining the passive scalar values so they don’t go below the outlet condition?
Thanks so much!
Just had a look and I think that your results are not converged yet. The residuals are too high.
I would try to refine the mesh, specially around the regions with passive scalar sources/sinks. This should help gain confidence on the results.
It looks like there’s a small confusion on how volumetric passive scalar sources interact with velocity inlets.
This is what you can infer from the inlet boundary condition:
The volumetric scalar source will remove scalar from the domain based on their volume. Each one of the 1m3 boxes will remove 200 mL/s, to be more precise. So a setting of -200 doesn’t mean that the scalar level will be bounded between 400 and 400-200 = 200.
In the aftermath, from the initial 28000 mL/s of contaminant that enter the domain through the inlet, 1000 mL/s are removed from the domain via the 5 “scalar sinks”, and the rest exits through the outlet.
This public project that I posted some years ago may be insightful: SimScale
Thanks for the replies @ggiraldof and @RicardoParis! That definitely does help to clarify how the passive scalars work. I’ve taken a look at the example you shared, and it does a nice job clarifying this
@RicardoParis I’m still a little bit confused on how I would interpret and convert back to ppm at a result control. For example the area average concentration hitting the front face of each downstream cube. Or the concentration at a specific probe point.
So I understand from your discussion above that currently 28,000 mL/s of CO2 enter at the inlet velocity. Is the current boundary condition at the inlet set up correctly to signify 400ppm? Or should I specify that 28,000mL/s enter at the velocity inlet as follows?
If so, the area average value of the passive scalar is around 27,800 mL/s at the downstream face. Can I convert this back to ppm?
I very much appreciate your support on the matter, thank you!
If you set your simulation assuming T1 as a concentration (i.e. ppm), the results will automatically be in the same unit. This is always the easiest way to proceed with passive scalars.
So in the simulation results that you mentioned in post #3 from this thread, what you see are the results in ppm.
For the last simulation that you posted, it’s technically possible to convert the number that you are showing back to ppm. You just have to divide the concentration of contaminant leaving the domain (in mL/s) by the amount of flow exiting the domain (in m3/s). This works because ppm = mL/m3
In this example, you would have 27800/70 =397 ppm (eyeballing the amount of contaminant).
I’ve run into some more confusion regarding passive scalars.
I tried a simple 1m^3 box (1x1x1m), and then scaled up to 8m^2 (2x2x2m), and then a 64m^3 (4x4x4m). I tried setting each volume with both types of passive scalar source/sinks (1/s and 1/m^3s). Simulations of note are labelled “1m passive test”, “2m passive test”, and “4m passive test”.
I’m expecting that at the exit of the cube, the concentration would be 200ppm as prescribed, and then it will disperse, re-equilibrating to the ambient concentration of 400ppm as you move away from the sink. But I’m seeing that the domain doesn’t have any regions with 200ppm, even directly at the outlet of the sink.
I’m trying to set it so that regardless of input velocity to the cube (passive scalar sink), each cube will output 200ppm CO2 into the surrounding environment of 400ppm. My understanding from you’re above posts is that the cube will remove a certain quantity of scalar, not have a set output concentration. Is this the correct interpretation, and if so is there any method to implement the latter?
Appreciate you’re continued support on the matter.
The scalar sink doesn’t act as a boundary condition where you can fix the scalar amount to a certain value. It simply acts as a sink of scalar that already exists in the domain. If you imagine that the scalar that you defined is ppm, here is a possible interpretation:
Amount of scalar entering the domain at the inlet (in mL) = area * inlet velocity * concentration at the inlet / 1e6
Amount of scalar being removed by the sink (in mL) = volume of the sink * volumetric scalar flux / 1e6
The amount being removed by the sink will be removed from the scalar that entered the domain at the inlet. Therefore, the actual concentration that you will get at the sink depends on the velocity at the inlet. You could even get values < 200 for the passive scalar if the inlet velocity is low enough.
Thanks very much, that helps clarify this for me.