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

Development merge 10-02-2023 #134

Open
wants to merge 40 commits into
base: HarrisSheetinX
Choose a base branch
from

Conversation

hklion
Copy link

@hklion hklion commented Oct 2, 2023

No description provided.

ax3l and others added 30 commits September 8, 2023 14:37
Update the Lassen (LLNL) documentation for their RHEL8 transition
and Python support.
Module update on Quartz requires changes.
Switching to Clang 14 as the compiler.
Failed on freetype (no module).
Avoid an implicit upgrade of matplotlib.
Switch from Clang 12 to GCC 11 on Lassen (LLNL), due to issues
seen in PyTorch and a risk of general vectorization issues
in Clang/LLVM for PPC64le in LLVM at this point.
Document Python (PICMI) and ML support for Quartz (LLNL).
* added collider reduced diags

* added test

* fixed xy_ave and xy_std

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed usage of IntVect and removed print

* Set up automated CI test

To-do:
- Fix bug (erroneous arithmetic operation)
- Remove unused parameters from input file

* Fix warning: set mass only if WARPX_QED

* Use amrex::ParticleReal for mass

* Update Make.package to fix GNU Make build

* reduced_data.value() only once

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Merge `development` into `coll_rel_red_diags`

* updated 3d beam test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* updated 3d test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* `m_write_header` instead of `m_IsNotRestart`

* added angles

* updated 3d beam test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added 3 particle test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added warning

* updated diags names

* updated analysis multiple particles

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* added positrons to test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update CI test

* Reuse input file parser from Tools

* Apply suggestions from code review

* Apply suggestions from code review

* changed order of diags and added docs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply WarpX style conventions

* Fix CodeQL alerts

* assert in RZ and removed fine ref levs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix compilation in 2D

* Fix compilation in RZ

* Update Docs/source/usage/parameters.rst

Co-authored-by: Axel Huebl <[email protected]>

* Update Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp

Co-authored-by: Axel Huebl <[email protected]>

* Update Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp

Co-authored-by: Luca Fedeli <[email protected]>

* Update Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp

Co-authored-by: Luca Fedeli <[email protected]>

* Update Source/Diagnostics/ReducedDiags/ColliderRelevant.H

Co-authored-by: Axel Huebl <[email protected]>

* Update Source/Diagnostics/ReducedDiags/ColliderRelevant.H

Co-authored-by: Axel Huebl <[email protected]>

* minimized number of kernel launches and parallel ops

* updated constructor of ReduceDiags

* fixed based on comments

* updated docs: if QED not enable

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed ReducedDiags constructor

* two passes instead of one for robusteness

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed bugs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix 1D build (typo `wtot` instead of `w_tot`)

* refixed compile in RZ

* check io process in chi_ave computation

* updated test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Temporary fix: remove IOProcessor

* Update Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp

Co-authored-by: Axel Huebl <[email protected]>

* Apply suggestions from code review

* Remove `Debug` compilation mode from CI test

* CI test analysis: check all particles have same charge

* Use `m_beam_name` instead of `species_names`

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <[email protected]>
Co-authored-by: Edoardo Zoni <[email protected]>
Co-authored-by: Axel Huebl <[email protected]>
Co-authored-by: Luca Fedeli <[email protected]>
* Add warpx_intervals option to BTD

* Add warpx_intervals to LabFrameParticleDiagnostics
* AMReX: Weekly Update

* PICSAR: Use Tag
Document & automate how to install `cupy` on Perlmutter.
The lower and upper bounds are already present within PICMI.
…4253)

* Clang-tidy: add misc-definitions-in-headers check

* address issues found with clang-tidy

* remove std::cout added for debug purposes

* add back newline
Useful on very fresh Ubuntu/WSL/Docker environments where
not even `built-essential` was installed. Also available
on all operating systems now, so no downside to list:
  https://anaconda.org/conda-forge/make/
Document how to install the CUDA Toolkit with Conda for development.
* Prevent NaNs in collisions between particles

* Avoid another division by 0
 t# Please enter the commit message for your changes. Lines starting
* fix check of PML + Silver Mueller compatibility

* complete check

* refactoring

* fix logic bug
Moving the source directories and build instructions for WarpX
itself from `$HOME` to the per-user NFS directory
`/usr/workspace/${USER}/lassen/src`, which has a larger default
quota.
* Implement Galilean PML

* Activate the PML

* Add automated test

* Fix compilation error

* Fix more compilation errors

* Fix more compilation error

* Fix more compilation bugs

* Fix more compilation bugs

* Clean up code, debug CI

* Fix CI

* Use both collocated and staggered k vectors

* Reset CI benchmark

* Update test

* Add Doxygen, clean up methods signature

* Improve abort messages

* Implement correct analytical equations

* Remove class PsatdAlgorithmGalileanPml

* Add Doxygen strings for class `PsatdAlgorithmPml`

* Update clang tidy

---------

Co-authored-by: Edoardo Zoni <[email protected]>
…X#4203)

* Use cupy when available

* cupy helper & copy-to-host helper

* cupy helper & copy-to-host helper

* Fix get_species_charge_sum (revert)

* Import Updates

* Pass copy_to_host through the particle gather routines

* Add documentation for the Python particle gather routines

* Fix fetch of particle theta, passing copy_to_host, and use numpy when copy to host

* Avoid cupy for copy_to_host

- explicit copy in AMReX possible
- this way, we can support AoS data copies

* Add cupy struct reference

---------

Co-authored-by: Axel Huebl <[email protected]>
Update the Boost and CCache modules to use the latest
E4S (23.05) GCC/11.2.0 stack on Perlmutter.
…X#4300)

* added `get_charge_density` to pybind `WarpXParticleContainer` and exposed useful fields.py functionality directly for a mf

* reduce code duplication in `_WarpXMultiFABWrapper`; changed arguments to strings from f-strings

* add `mf_name` argument option to `_MultiFABWrapper` instead of creating a child class

* add back deleted docstring
aveksler1 and others added 10 commits September 25, 2023 16:43
* added particle field interface in picmi FieldDiagnostic

* added documentation to doc string.

* undo line deletion

* catch unexpected keywords

* simplified logic

* fixed bug and removed unnecessary error check

* passing in particle field diagnostic information using a class defined in picmi rather than a dictionary

* Added ParticleFieldDiagnostic class to be used in FieldDiagnostics

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* error checking on repeat name required if not using a dictionary

* fixed docstring, changed var name to be more explicit, removed error check by using default list, bug fixes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Added parameters:
- warpx.sort_intervals
- warpx.sort_particles_for_deposition
- warpx.sort_idx_type
- warpx.sort_bin_size
* Glossary: CEX, SEE

Add new terms to our glossary for charge-exchange collisions
and secondary electron emission.

* plural collisions

Co-authored-by: Revathi  Jambunathan <[email protected]>

---------

Co-authored-by: Revathi  Jambunathan <[email protected]>
* Added: new fluid-langmuir test

* Implemented MultiFluidContainer

* Implement WarpXFluidContainter

* Fix compilation errors

* Call AllocData in WarpX.cpp

* Fix allocation of fluid MultiFabs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix example

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix compilation error for Evolve

* Cleanup include statements

* Fix compilation in 2D

* Add fluid initialization

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fill guard cells

* Make the code work for any dimension

* Fix compilation error

* Add call to fluids' evolve/deposition

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added fluid contribution to the current deposition

* Fix calls to `FillBoundary`

* Fixed calculation of J to properly handle nodal versus CC values

* Used different boxes for jx jy jz

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed intial index

* Minor Indentation Fixes

* Split `DepositCurrent` into 2 separate MFIter loops

* Additional comments and cleanup

* Prevent double counting of J at the boundaries

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Prepare gather and push

* Filled out GatherAndPush function for fluids; currently not working

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed bug with fluid source

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Corrected speed of light factor in the momentum

* Added analysis script for 3d langmuir fluid test

* Fixed typo

* Added docstrings, cleanedup files

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added in MUSCL-Handcock Fluid Advection Evolution, currently nan's due to issue in the x-plane update

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleaup WarpXFluidContainer.h

* Currected flux jacobian to SI units and added fillboundary commands

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Bug Fix: incorrect velocity being used

* Added Fluid Rho Deposition

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add separate .H file for helper functions

* Extended the langmuir fluid test case to examine J and rho aswell

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Allocate multi-component arrays

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update Regression/WarpX-tests.ini

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Fluids/MultiFluidContainer.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Fluids/MultiFluidContainer.H

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Fluids/MultiFluidContainer.H

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Fluids/MultiFluidContainer_fwd.H

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Fluids/WarpXFluidContainer.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Fluids/WarpXFluidContainer_fwd.H

Co-authored-by: Remi Lehe <[email protected]>

* Simplify calculation in MUSCL-Handcock, Undo removing DTtype inlcude

* Changed Q_midpoint staggering to be correctly placed

* Updated the checksum test with a new json file

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated functions which changed due to pull from main

* Updated the fluid test to have the proper J time centering

* Rewrote MusclHandcock to avoid MPI comms and temp variable creation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add instrument fluid code with profiling annotations

* Reverted to faster Musclhandcock with comms

* Eliminate unnessessary communications in MUSCL Handcock scheme

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Some variable name cleanup, optimizing A(muscl)-array calc

* Removed unused variables, hopefully fixed Azure pipeline for the Langmuir_fluid_multi

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Bugfixes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Bugfixes

* Bugfixes for 3D langmuir fluid test on azure

* Added 2D (XZ) fluids

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added 1D (z) to fluids

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added RZ to fluids

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Uses correct velocities in the fluxes

* Fixed bug for selecting the coordinates with V_calc() in fluids

* Formatting

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed json after bugfix

* Fixed 1D json from azure pipeline data

* Bugfix: Correctly limits domains for RZ fluids(), still a bug in RZ implementation for Jz(r=0, t=0)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Bugfix: fixed small error in fluid-RZ SA/Volume at the outermost cell

* Attempted patch for RZ

* Minor Cleanup

* Bugfix: Fixed volume element selection

* Added: RZ centrifugal force term

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Ad-hoc fix to RZ, and print diangostics

* Moved ad-hoc fix onto the temp variables, corrected mangitude

* Bug fix: RZ volume applied at the wrong place, removed ad-hoc fix

* Removed last of the ad-hoc code

* Fixed for new plasmainjector

* Minor Cleanup

* FIX: Corrected CI crash for Langmuir_fluid_Xd tests by passing geom to WarpXFluidContainer

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added RZ checksum, removed commented code

* Bugfix for RZ, at the origin, also changed rho output to be called simular to current density

* Updated RZ checksum

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Bugfix/improvement: RZ test now correctly outputs and tests rho, J in addition to the electric field

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Appleclang compiler config, shows warnings when compiling with appleclang

* Updated fluid-1d test to also check for rho, Jz

* Updated fluid-2d test to also check for rho, Jz

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated Checksum with Azure Pipeline data

* clang-tidy cleanup

* Cleanup

* Cleanup Flux-Jacobian Calculation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add moving window code for fluids

* Fixed issues introduced by changing InitData() signerature

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Simplified Communications in WarpXFluidContainer

* Minor cleanup of unused variables

* Minor bug fis in Moving window, Added: non-periodic copy-BC to fluids

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Minor cosmetic changes

* Fix compilation issue with single-precision particles

* Template Higuera-Cary pusher on the type of variables

* Use simple function to convert to nodal box

* Simplify injection of plasma

* Positivity and monotonicity preserving limiter added

* Changed the default average routine to minmod, which is more diffusive but still second order TVD, this significantly reduced numerical oscillations for a0 ~ 15 1D fluid WFA sims

* Added alternative options to take averages for MUSCL-Handcock

* Added a working fluid-envelope model

* Added boosted frame capabilities for the fluid

* Minor Cleanup

* Minor Cleanup on 1D positivity limiter

* Major cleanup for 2D, RZ, and 3D MUSCL positivity limiters

* Fixes to the boosted frame simulation

* Lorentz Transform the envelope field

* Minor fix for envelope lorentz transform

* Protection against N = 0

* Minor bug fixes for zero density check

* Bugfix: Improper check of N = 0, updated

* Bugfix: Fixed Lorentz transforms in the fluids-InitData()

* Bugfix: Small values of N were causing gamma to have unphysical values; added a check

* Mergewq

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Improvment: calc of gamma, added additional slope-limiting utilities

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Change MUSCL scheme to a primative varibale model

* Fixed RZ for primative variable sources

* Updated tests to match primative vars

* Small Bugfix

* Added a 1D WFA physical_app + test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Minor fixes to pass CI

* Add include statement for fluid

* Use temporary variable gamma_boost in device functions

* Add missing .H file for Python compilations

* Moved WarpX::beta_boost out of device functions

* CI Fixes

* More CI fixes for device-host issues

* Cleanup of some var names

* Minor Cleanup

* Removed unessesary autos

* Fluid Theory Docs

* Checks that there is only the m = 0 azimuthal mode, removed TODOs and declared RZ bound default behavior

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed indentation

* Fixed Warning about azimuthal modes

* Added documentation for fluid input parameters

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed per Remi's partial review, adds checks for do_not_push/gather

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed bug in matrix(J), updated all fluid tests accordingly

* RZ iff for centrigual forces

* Changed variable names

* Updated the 1d_laser_acc case to include the full laser model in the theory.

* Changed names of c_{x,y,z} to dt/d{x,y,z}

* Code cleanup, mostly of comments

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Large change: Rewrote MUSCLadvection() to simplify readability

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Minor change to positivity limiter function implentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup flux and velocity functions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup for inputs to ave by definind diff functions, fixed RZ boundary problem at r-max

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup of the flux functions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed some unused util functions

* Simplified linear slope calc function

* Reworded docs to not inlcude contact info

* New CI test for boosted WFA with fluids

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added current and charge deposition for Hybrid-Ohm and electrostatic solvers

* Fixed docs, removed extra .get() on rho/J

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Declare myfl as private

* Add flag do_fluid_species

* New function to extract species properties

* Update injection_style use

* Remove PlasmaInjector in WarpXFluidContainer

* Remove number of particle per cell from inputs scripts

* Add missing files

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix GPU error

* Update call to extract particle charge and mass

* Update tests

* Clean up code

* Avoid life-time issues with parsers

* Avoid additional life-time issues

* Added string that we don't support mesh refinement

* Fixed Clangtidy issue, added warning that fluids only work with one mesh refinement level

* Minor cleanup

* Fixed build issue

---------

Co-authored-by: Remi Lehe <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <[email protected]>
* added particle field functionality for RZ modes for openPMD format

* removed print statements and fixed field naming to work with openpmd

* remove debug statement

* documentation and replaced assert with warning

* forgot semicolon
The previous version cray-hdf5-parallel/1.12.2.1 was not recognized anymore.
At this moment, 1.12.2.3 and 1.12.2.7 are installed as modules on Perlmutter.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.