Skip to content

Conversation

@ChunYen-Chen
Copy link
Collaborator

Resolve Issue

Resolved #446.

Updates

Major

  • Use FFT Poisson solver on fully refined levels
  • Refactor Init_FFTW() and End_FFTW()

Minor

  • Avoid hard-coded level 0 in src/Model_ELBDM/CPU_ELBDM/CPU_ELBDMSolver_FFT.cpp and src/Output/Output_BasePowerSpectrum.cpp

Tests done

Gravity

  1. Change NX0_TOT_* = 32 and MAX_LEVEL = 7 in Input__Parameter
  2. Add a new criteria in Input__Flag_Rho to refine everything on level 0
    # Level                         Density
          0                       1.0000e-16
          1                       1.0000e-2
          2                       4.0000e-2
          3                       1.6000e-1
          4                       6.4000e-1
          5                       2.5600e+0
          6                       1.0240e+1
          7                       4.0960e+1
          8                       1.6384e+2
          9                       6.5536e+2
    
  3. Run the test problem
  4. The solved potential is the same as the original run.

JeansInstability

  1. Change NX0_TOT_* = 32, MAX_LEVEL = 1, and OPT__FLAG_RHO = 1 in Input__Parameter
    1. Add a file Input__Flag_Rho to refine everything on level 0
    # Level                         Density
          0                       1.0000e-16
    
  2. Run the test problem
  3. The results are the same as the original run.

Conflicts:
	src/Init/Init_FFTW.cpp
@ChunYen-Chen ChunYen-Chen mentioned this pull request Jul 11, 2025
45 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement gravity Poisson and gravity solvers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use FFT Poisson solver on fully refined levels

3 participants