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

Add external particle fields ohms law hybrid #5275

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

Conversation

clarkse
Copy link
Member

@clarkse clarkse commented Sep 16, 2024

This PR allows for the addition of external fields through the particle fields analytical interface. This is useful for field splitting external vs. self fields in the hybrid ohm's law solver.

@clarkse clarkse force-pushed the add_external_particle_fields_ohms_law_hybrid branch from b534e43 to 5f75428 Compare September 18, 2024 21:52
pre-commit-ci bot and others added 14 commits September 18, 2024 21:52
….com:clarkse/WarpX into add_external_particle_fields_ohms_law_hybrid
….com:clarkse/WarpX into add_external_particle_fields_ohms_law_hybrid
Signed-off-by: S. Eric Clark <[email protected]>
….com:clarkse/WarpX into add_external_particle_fields_ohms_law_hybrid
…tical field values into ghost cells. The E/B fields and edge_lengths have different numbers of ghost cells.

Signed-off-by: S. Eric Clark <[email protected]>
… computed by curlA and E is computed by computing numerical derivative of seperable time component.
….com:clarkse/WarpX into add_external_particle_fields_ohms_law_hybrid
@clarkse clarkse requested a review from ax3l October 22, 2024 18:49
Copy link
Member

@roelof-groenewald roelof-groenewald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR!

I like the approach in that it mostly keeps the augmented functionality separate from the Ohm's law solving.
One thing though, this really includes 2 PRs in one

  1. Introduction of the EB "Covered" functionality
  2. The external fields in the hybrid algorithm

Do you think it would be feasible to pull the "covered" stuff into a separate PR? That would help a lot in reviewing and merging.

Python/pywarpx/picmi.py Outdated Show resolved Hide resolved
Python/pywarpx/picmi.py Outdated Show resolved Hide resolved
Source/FieldSolver/FiniteDifferenceSolver/ComputeCurlA.cpp Outdated Show resolved Hide resolved
Source/FieldSolver/FiniteDifferenceSolver/ComputeCurlA.cpp Outdated Show resolved Hide resolved
Comment on lines 364 to 365
auto& warpx = WarpX::GetInstance();
warpx.ApplyEfieldBoundary(lev, PatchType::fine);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is it necessary to move this here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was looking around to fix some boundary issues. I will double check on this.

Source/WarpX.cpp Outdated Show resolved Hide resolved
clarkse and others added 12 commits November 7, 2024 08:14
Signed-off-by: S. Eric Clark <[email protected]>
Co-authored-by: Roelof Groenewald <[email protected]>
Co-authored-by: Roelof Groenewald <[email protected]>
….com:clarkse/WarpX into add_external_particle_fields_ohms_law_hybrid
Comment on lines +364 to +365
// auto& warpx = WarpX::GetInstance();
// warpx.ApplyEfieldBoundary(lev, PatchType::fine);

Check notice

Code scanning / CodeQL

Commented-out code Note

This comment appears to contain commented-out code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: fluid-ohm Related to the Ohm's law solver (with fluid electrons) enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants