coneInjection fails to atomize in all injector positions.
I am working with sprayFoam using a Multi-point cone injection atomization (16 injectors). They are set radially mimicking a rotary atomizer. A massRossin Rammler distribution is used. Depending on the injectionModels configuration (massTotal - SOI - parcelsPerSecond - duration), some injectors do not inject parcels or inject a much lower number of them. In all cases, Injector 1 works well, as the problem gradually appears from injectors down the list.
The attached figure presents an example of part of the problem:
- Increasing the parcelsPerInjector helps to improve the behaviour.
- Decreasing the totalMass helps to improve the behaviour.
Steps to reproduce
I am attaching with this report a modified "AachenBomb" case. To reproduce, go to the sprayCloudProperties file, line 86, where I have highlighted some massTotal and parcelsPerSecond values that generate the problem.
This is the example case: aachenBomb.zip
What is the expected correct behaviour?
The expected behaviour is having all the injectors of the coneInjection working, even when a low number of parcels (nParcels per timestep is lower than the # of Injectors) is injected per time-step.
Relevant logs and/or images
- OpenFOAM version : 2012
- Operating system : Ubuntu 18.04 LTS
- Hardware info : Core I7 - 7th gen.
- Compiler :
I think the error is caused when the number of added parcels (per timestep) is lower than the number of injectors.
When the totalMass to inject is decreased, the dt increases (as the momentum source for the gas phase decreases) and more parcels are injected per time step. When ParcelsToInject is increased, more parcels are injected per second, until this value is greater than the number of injectors.
I am not sure exactly where in the code, but there should be a loop stating forAll(positionAxis_....) forcing the first parcel to be injected in injector 1, and the second to injector 2, and so. Thefore, I think the order of injection per time-step should be randomized.