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

Species specific time step does not behave as expected #21

Closed BillyTheKidPhysicist closed 3 months ago

BillyTheKidPhysicist commented 3 months ago

Hello, I believe I have encountered a bug. I was using the species specific time step and was observing some very unusual behavior. I have found somewhat similar behavior in your regression check MCC_EBeam_SpeciesSpecificTimestep. As I reduce the value of Part-Species1-TimeStepFactor I expect the simulation runtime to increase and the solution to converge. I expect the run time to increase because between every time step (ManualTimeStep) there will be additional time steps of "pushing" the electrons around. I expect 1/Part-Species1-TimeStepFactor extra time steps between each ManualTimeStep. I have attached a table showing my results. What I found was that smaller TimeStepFactor resulted in faster runtimes, with very small TimeStepFactor resulting in very small runtimes.

Perhaps I misunderstand what TimeStepFactor does, or am using it wrong.

Screenshot
BillyTheKidPhysicist commented 3 months ago

I forgot to mention that this occurs for both version 3.0.0 and 3.2.0. Also It really seems like what happening is that particles with a smaller TimeStepFactor are taking smaller steps, but they aren't taking more of them. This appears to be the case in videos I have made with paraview.

scopplestone commented 3 months ago

Hi, this is due to the fact, that the method is NOT sub-cycling. The particles are pushed with different time steps dt and 0.5dt (or 0.05dt etc.) but using the same number of iterations (given by tEnd/dt). We will update the documentation so this becomes more clear. You must increase the end simulation time tEnd to see your desired effect, hence, in case of 0.005 (reduced by a factor of ten from 0.5) you need to increase tEnd by a factor of ten. Otherwise, the fast particles are simply not pushed as far as you think and in your last case only 7 electrons are emitted.

Edit: The method is designed for stationary processes (convergence acceleration towards the stationary state)

BillyTheKidPhysicist commented 3 months ago

I see! thank you very much for the response. In my case it seems like the physics is changed using TimeStepFactor. The stead state solution depends on TimeStepFactor, basically the density decreases with decreasing TimeStepFactor. I looked through the codebase for everywhere TimeStepFactor is used and couldn't see any issues, so perhaps some physics is lost using this model

scopplestone commented 3 months ago

Seems plausible, when you have an inflow and decrease the TimeStepFactor for a specific species, a longer simulation time is required to "fill up" the domain, hence, increase the density for this species.

Anyway, thanks for your feedback! I'll close this issue now.