Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement PSATD with arbitrary temporal dependency of J and rho. #4263

Open
wants to merge 32 commits into
base: development
Choose a base branch
from

Conversation

oshapoval
Copy link
Member

@oshapoval oshapoval commented Sep 1, 2023

This PR replaces #4261.
It also closes #3506.

In this PR we implement second-order PSATD solver with arbitrary temporal dependencies of densities J and rho.
Both J and rho can be either constant or linear or quadratic. Now, fields update equaitons are implemented in /WarpX/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithmJRm.cpp for any PSATD solver except of Galilean PSATD.

To do:

  • Debug CI tests that fail (e.g., standard PSATD): issue seems related to the option psatd.update_with_rho
  • Changes from [WIP] PSATD: Refactor Second-Order Equations #3506 need to be ported here, or viceversa
  • Rename coefficient X2, since it does not match the coefficient X2 of the standard PSATD equations
  • move Galilean PSATD equations from PsatdAlgorithmJConstantInTime to a separate class, as in [WIP] PSATD: Refactor Second-Order Equations #3506
  • add CI tests for PSATD-QQ1(nodal), PSATD-LQ1(nodal), PSATD-CC2(nodal), PASTD-LL1(nodal) and PASTD-LL1(staggered).

@EZoni Equations for E,B,F,G and averaged E_avg, B_avg fields and corresponding coefficients are given in the paper draft: Eq.(8)-(9) and Eqs.(11)-(12).

@EZoni EZoni added the component: spectral Spectral solvers (PSATD, IGF) label Sep 1, 2023
@EZoni
Copy link
Member

EZoni commented Sep 1, 2023

Thanks, Olga! I'll try to have a look as soon as possible.
First task will be to check how to merge this with #3506.

@EZoni
Copy link
Member

EZoni commented Oct 4, 2023

@oshapoval I think we can remove the files associated to the class PsatdAlgorithmJConstantInTime, since the Galilean equations have been moved to a separate file, do you agree?

@oshapoval
Copy link
Member Author

@oshapoval I think we can remove the files associated to the class PsatdAlgorithmJConstantInTime, since the Galilean equations have been moved to a separate file, do you agree?

@EZoni Yes, I agree. I wanted to remove them after checking that all other checks passed.

@RemiLehe RemiLehe assigned RemiLehe and unassigned EZoni Oct 10, 2023
@oshapoval oshapoval force-pushed the psatd_arbitrary_time_polynoms branch from 7499a54 to ad2a58b Compare November 3, 2023 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: spectral Spectral solvers (PSATD, IGF)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants