piclas-framework / piclas

PICLas is a parallel, three-dimensional PIC-DSMC solver developed cooperatively by the Institute of Space Systems, Institute of Aerodynamics and Gas Dynamics at the University of Stuttgart and the spin-off boltzplatz. PICLas is a flexible particle-based plasma simulation suite.
https://piclas.readthedocs.io
GNU General Public License v3.0
71 stars 17 forks source link

Bug with Load Balancing and particles getting lost #24

Open BillyTheKidPhysicist opened 2 months ago

BillyTheKidPhysicist commented 2 months ago

Hello, I believe I've encountered a bug. I am running a model of a supersonic expansion. I have piclas compiled with version 3.2.1 and BGK-Flow. Something that is maybe a little unusual with this model is that I have interior open boundaries that can absorb particles as well as a source of particles that is interior. The source of particles that is interior, which is produced with the below commands, results in some particles leaving the edges in the opposite direction. This I assume is from the long tail of the thermal distribution not being clipped. With the right combination of parameters I eventually get the below error. Increasing Part-MaxParticleNumber to huge values (1000000000) does not prevent the error or change the error message. Additionally the missing particles appear outside my simulation domains. I can conduct further testing or provide more information if needed

--ERROR MESSAGE PERFORMING LOAD BALANCE 4 of 100 ...

PICLAS RUNNING! [ 84.86 sec ] [ 0:00:01:24 ]

MinWeight: 1.000E+00 MaxWeight: 8.154E+06 TargetWeight: 5.583E+06 NewImbalance: 4.604E-01 (theoretical) Restarting particles during loadbalance...62 CurrentPartNum = 3055 62 PDM%maxParticleNumber = 3054


Program abort caused on Proc 62 in File : src/particles/restart/particle_restart.f90 Line 634 This file was compiled at Jun 6 2024 19:29:42 Message: Missing particle ID > PDM%maxParticleNumber. Increase Part-MaxParticleNumber!

--SURFACE FLUX COMMAND Part-Species1-Surfaceflux1-VeloIC=683 Part-Species1-Surfaceflux1-VeloVecIC=(/0.0,-1.0,0.0/) Part-Species1-Surfaceflux1-velocityDistribution=maxwell_lpn Part-Species1-Surfaceflux1-MWTemperatureIC=77 Part-Species1-Surfaceflux1-PartDensity=3.8E23

BillyTheKidPhysicist commented 2 months ago

Actually the issue appears without load balancing as well. This bug does not appear to be present in version 3.2.0.

pnizenkov commented 1 week ago

We have found at least the issue with the abort and it will be fixed in the next release, thank you! For the actual issue, I will need the setup if possible.