Age | Commit message (Collapse) | Author | Files | Lines |
|
* add reduced diagnostics to picmi
* added test of picmi reduced diagnostics
* changes requested during PR review
|
|
|
|
* AMReX: Weekly Update
One commit after 22.10 release, to fix oneAPI DPC++ 2022.02:
22.10-1-g13aa4df0f5
* PICSAR: 22.10
* WarpX: 22.10
|
|
* Include WarpX specific documentation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Undo the precommit change of import in __init__.py
* Docs: Install Pure Python WarpX PICMI
Allows to use these classes in our Sphinx autodocs in the manual.
* Sphinx: Add Napoleon Extension
https://sphinxcontrib-napoleon.readthedocs.io
* PICMI Doc Strings: Fix Some Warnings
* Removed the DocumentedMetaClass since it was moved to picmistandard
* Defined the languate in Docs/source/conf.py
* Cleaned up minor issues in the rst files
* Updated existing doc strings in picmi.py
* Reformatted doc strings in Regression/Checksum/checksumAPI.py
* Reformatted doc strings in Regression/Checksum
* First set of WarpX specific documentation
* Updated to picmistandard version 0.0.20
* Cleaned up the Python document page
Fixed up the text to be more clear.
Added section headers for each picmi class (for easy reference).
* Further updates to picmi.py doc strings
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* add 1d support to _libwarpx.py functions `get_particle_X`
* add coverage of 1d `_libwarpx.get_particle_z` to test suite
|
|
* AMReX: 22.09
* PICSAR: 22.09
* WarpX: 22.09
|
|
* Python: 3.7+
Python 3.6 is now end-of-life. Bump support to 3.7+.
* CUDA CI: Python3 Update
|
|
* add mention of callbacks and some libwarpx functions to the docs
* reformatted various function docstrings in `_libwarpx.py` and added them to the docs
* Add subsection
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* `isort`: AMReX, WarpX, etc. as First Party
Mark the `amrex` and `pywarpx`, `picmistandard`, ... imports as first
party, so that they do not change if run locally or remotely pre/post
install.
|
|
* Initialize particle runtime attributes before calling AddNParticles
* Avoid Multiplication result converted to larger type warning
* Directly initialize runtime attributes inside AddNParticles
* Update doxygen comment
|
|
|
|
* AMReX: 22.08
* PICSAR: 22.08
* WarpX: 22.08
|
|
|
|
* AMReX: 22.07
* PICSAR: 22.07
* WarpX: 22.07
* SENSEI: Update to 4.0.0
* AMReX: 22.07-4-gcbdc6580ee
Include SENSEI build fixes.
|
|
* Parse the quantity `zmax_plasma_to_compute_max_step`
* Apply review comments
|
|
* Added `none` as an option for fields_to_plot
* Added CI test case
* Further updates, for picmi and CI tests
* Skip the call to amrex::WriteMultiLevelPlotfile when writing no fields
* Now clears m_varnames_fields
* Don't allocate m_mf_output if no varnames
* Updated WarpX-tests.ini
|
|
* AMReX: 22.06
* PICSAR: 22.06
* WarpX: 22.06
|
|
* Add precision to printed PIC parameters
* Added WarpX_PARTICLE_PRECISION as a build option
* Update types to ParticleReal
* Updated libwarpx to inject particles with correct ParticleReal type
* Fix syntax error
* Add logic to avoid duplicate definitions
* Use correct ParticleReal type in add_particles
* Cleaned up code, addressed comments
* Update Python/pywarpx/_libwarpx.py
Co-authored-by: Peter Scherpelz <31747262+peterscherpelz@users.noreply.github.com>
* Removed redundant functions, fixed some typing
* Modified template functions
* Cast d_w to Real
* Fixed failing tests
* Cast types to be consistent
* removed in-tree-build from pip command
* Added GPU device macros to PDim3 methods
* rerun tests
* Removed unecessary casting, update calls to use PDim3 instead of XDim3
* Refactored comments
* Added mcc fields double precision, particles single precision test
* Updated casting and formatting
* Removed cast, updated declaration
Co-authored-by: Peter Scherpelz <peter.scherpelz@modernelectron.com>
Co-authored-by: Peter Scherpelz <31747262+peterscherpelz@users.noreply.github.com>
|
|
* Add Headers to Input File Written by PICMI
* Commit Suggestion by @dpgrote
* Add Comment
* Add Empty Line
* Slightly Better Readable with a newline
|
|
* Added STL files support in pywarpx
* Add new EB bucket
* Added name to file headers
* Fixing year in file headers
* Checking that stl file and imp function are not both specified
* Renamed EB bucket to EB2
* Adding STL documentation
* Implement suggestions from code review
Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>
|
|
* AMReX: 22.05
* PICSAR: 22.05
* WarpX: 22.05
* Fix issue with RZ electrostatic solver
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
|
|
* Added PlasmaLens class to PICMI
* Added CI test
* Added PICMI input file
* Fixed the output dir for the CI test
* Add `_plt` to Output File Prefix
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* Beginnings of signal handling machinery
* Add tentative logic to make checkpoint call
* Adapt formatting slightly
* Add calls to read signals and set up signal handlers
* Initialize signal flag array
* Add parsing of signal names, and fix some whitespace issues
* Skip signal setup on Windows
* added checkpoint and break signal inputs to picmi.py
* Address initial review requests
* Correct comment to match changed code
* Convert maximum signal number to a symbolic name
* Always parse signal input, and error out on Windows or wherever it may be unsupported
* Typo fix
* Add missing reset of checkpoint signal flag
* Add reset of break signal, in support of Python or library usage
* Test for a configured checkpoint diag when asked to checkpoint on a signal
* Fix typo in Linux code path
* Clean up MPI support
* Use symbolic name for maximum signal number
* Fix unused variable in the no-MPI case
* Add missing header inclusions
* Switch signal parsing to an enumerated table
* Test signal handling for Linux, not GNU C library
* Avoid another magic number
* Update MPI_Ibcast call to match symbolic array length
* Update loop over signal flags to use symbolic limit
* Match #includes to usage
* Add omitted C++ std <atomic> header include
* Guard entire set of signal definitions as *nix-only, not for Windows
* Broaden Windows exclusion to avoid zero-length array that displeases MSVC++
* Check return value from sigaction()
* Convert conditional calls to Abort() to assertions
* Move check for platform support to input parsing
* Shift signal handling code over toward ABLASTR to share with ImpactX and Hipace++
* Minor cleanup
* A bit more cleanup
* Fix formatting nits
* Add AMReX error handling on MPI calls
* Add ABLASTR signal handling code to GNU makefile too
* Document new input parameters
* Use ABLASTR assertion macros in ABLASTR code
* Convert requests limit value to a requests array size
* Generalize signal handling to an arbitrary set of potential actions
* Rename class to match usage and file name
* Stick stuff in ABLASTR namespace
* Indent conditional includes as requested
Co-authored-by: Roelof <roelof.groenewald@modernelectron.com>
|
|
* AMReX: 22.04
* PICSAR: 22.04
* WarpX: 22.04
|
|
|
|
|
|
|
|
|
|
* Rename `serialize_ics` as `serialize_initial_conditions`
* Add Backward Compatibility Check
|
|
* AMReX: 22.03
* PICSAR: 22.03
* WarpX: 22.03
|
|
Add for all diagnostics the equivalent of `<diag>.file_min_digits`.
|
|
* added Coulomb collision installation to picmi.py
* added comment saying the input values for the new PICMI test comes from inputs_2d
|
|
|
|
* AMReX: 22.02
* PICSAR: 22.02
* WarpX: 22.02
|
|
zero particles (#2808)
|
|
* add python callbacks before and after collisions
* re-order callback declarations
|
|
|
|
* add SyncRho call to warpx_depositChargeDensity
* expose SyncRho to Python; add warpx_clearChargeDensity to reset rho_fp before deposition
* remove unneeded warpx_clearChargeDensity function
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* add (default) option to depositChargeDensity to call SyncRho after deposition
* added option to depositChargeDensity to zero out rho_fp before deposition
* code cleanup
* import fields from inside depositChargeDensity
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* added python wrapper function to deposit a specific species density in rho_fp
* added 1D ES input file with MCC that uses the charge deposition functionality
* reset rho_fp[lev] before depositing
* updated documentation
* switch to using simulation.extension in Poisson solver
* Apply suggestion from code review
Co-authored-by: Phil Miller <phil.miller@intensecomputing.com>
* suggested changes from code review
* add comment explaining why a direct Poisson solver is used
* removed direct solver in 1D example since it is actually slower than the MLMG solver
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* added docstring for warpx_depositChargeDensity
* fixed order of imports in new PICMI input file
Co-authored-by: Phil Miller <phil.miller@intensecomputing.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* added support to uninstall an external Poisson solver and return to using the default MLMG solver; also updated some callbacks.py calls to Python3
* refactor callback handling - use a map to handle all the different callbacks
* warpx_callback_py_map does not need to link to C
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* further suggested changes from code review
* added function ExecutePythonCallback to reduce code duplication
* moved ExecutePythonCallback to WarpX_py
* added function IsPythonCallbackInstalled
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Trying to fix the macOS PyPy 3.7 error seen in https://github.com/conda-forge/warpx-feedstock/issues/37
Testing in https://github.com/conda-forge/warpx-feedstock/pull/38
After googling for a while, the original implementation was likely based on https://code.activestate.com/lists/python-list/704158, which contains bugs.
1) Bug: `create_string_buffer`
Allocating new, null-terminated char arrays with `ctypes.create_string_buffer` does lead to scrambled arrays in pypy3.7.
As far as I can see, this [should have also worked](https://docs.python.org/3/library/ctypes.html), but maybe there is a bug in the upstream implementation or the original code created some kind of use-after-free on a temporary while the new implementation just shares the existing byte address.
This leads to errors such as the ones here:
https://github.com/conda-forge/warpx-feedstock/pull/38#issuecomment-1010160519
The call `argvC[i] = ctypes.c_char_p(enc_arg)` is equivalent in creating a `NULL`-terminated char array.
2) Bug: Last Argv Argument
The last argument in the array of char arrays `argv` in ANSII C needs to be a plain `NULL` ptr.
Before this PR, this has been allocated but never initialized, leading to undefined behavior (read as: crashes).
Reference: https://stackoverflow.com/a/39096006/2719194
3) Cleanup: there is a pre-defined `ctypes.c_char_p` we can use for pointer of char.
|
|
* Set geometry earlier in Python
* Fix comment typos
|
|
* Make moving window dimensionality consistent in PICMI
* update PICMI_inputs_plasma_acceleration_1d.py
* two elements for moving window velocity in RZ
* update RZ laser_acceration test
* update PICMI version
* update PICMI Langmuir RZ test
|
|
|
|
* allow Dirichlet BCs in r when r_min != 0 with ES RZ simulations
* handle the rmax boundary condition setting properly when rmin == 0
* add ability to specify rmin and rmax potentials through picmi
|
|
* AMReX: 22.01
* PICSAR: 22.01
* WarpX: 22.01
|
|
* Initial attempt at moving function into LibWarpX
* Bugfix - undefined structs in get_particle_theta
This is untested, identified by IDE/visual inspection only
* Unify newlines
* Delete libwarpx.clight (duplicated picmi.py)
See picmi.constants.c
* Change function descriptive comment to docstring
Also remove extra newline in __init__ beginning.
* Replace pywarpx/_libwarpx calls appropriately
* Fix atexit register of finalize function
* Reorder WarpX.py imports for pre-commit
* Use picmi.Simulation.extension = libwarpx alias
This will hopefully preempt user script changes if we restructure things
to allow multiple WarpX runs to be done within a single Python script.
* Fix libwarpx ref in WarpX.getProbLo/getProbHi
* Update get_particle_boundary_buffer doc reference
|
|
* pre-commit: Python imports
Add two new Python rules to:
- remove unused imports
- sort imports according to PEP8
* pre-commit: Python imports
Add two new Python rules to:
- remove unused imports
- sort imports according to PEP8
`.editorconfig`: isort options
https://github.com/PyCQA/isort/wiki/isort-Settings
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* move import os (mpl)
* move import yt (mpl)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Cleanup around matplotlib.use
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Cleaning: double np and lib
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Docs: `geometry.dims` option
Add a new, required option to specify the geometry of an
inputs file at runtime.
* Check & Report Runtime Dims Mismatch
* Examples: add `geometry.dims`
* Deprecation Warning: `geometry.coord_sys`
* PICMI: `geometry.dims`
* Improve error message
sounds a bit better
* Improve Doc Description
Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
|