aboutsummaryrefslogtreecommitdiff
path: root/Python (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-02-21Renamed "particle_vel" to "particle_mom" (#3672)Gravatar Davide Terzani 1-3/+3
* Renamed particle_vel to particle_mom * Changed vel to u * Updated gitignore with vscode-specific folder * Updated docs for single particle * Revert "Updated gitignore with vscode-specific folder" This reverts commit cb44ef8d66c123daa93d6a13d5a1d88416e866bb. * Fixed typo * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fixed other typo * Add species indication in warning --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-21Add FieldReduction and ParticleHistogram to PICMI (#3697)Gravatar David Grote 2-21/+112
* Added FieldReduction and ParticleHistogram to ReducedDiagnostics * Add tests to reduced_diags/PICMI_inputs_loadbalancecosts.py * Clean up ReducedDiagnostics setting of argv
2023-02-20add flag to picmi `FieldDiagnostic` for whether particle data should be ↵Gravatar Roelof Groenewald 1-0/+5
saved along with the field data (#3699)
2023-02-02Release 23.02 (#3667)Gravatar Axel Huebl 1-1/+1
* AMReX: 23.02 * PICSAR: 23.02 * WarpX: 23.02
2023-01-13EB potential python interface (#3624)Gravatar David Grote 1-0/+13
* Add Python routine set_potential_EB to modify eb_potential * Add CI test
2023-01-06add local flag to ParticleBoundaryBuffer::getNumParticlesInContainer (#3586)Gravatar Roelof Groenewald 1-2/+6
2023-01-03Release 23.01 (#3598)Gravatar Axel Huebl 1-1/+1
* AMReX: 23.01 * PICSAR: 23.01 * WarpX: 23.01
2022-12-22Feature magnetostatic solver (#3551)Gravatar S. Eric Clark 3-3/+108
* Initial working Magnetostatic solver integration into warpx. Includes hooks in Python library, and a test problem. Build files updates. New solver algorithm and inputs. * Fixed indexing to allow Magnetostatic solver to work in RZ and 3D. * Removing trailing whitespace. * Adding basic regression testing with benchmarks. * Updated Regression test ini * Augmented test scripts to compare to analytical results for uniform beam. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updating CI tests for magnetostatic solver. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Updated magnetostatic CI tests to pass locally in regression testing framework. * Adjusting tolerance on magnetostatic_rz regression test to allow for noise in near zero fields. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Converted particle layout to Gridded instead of PsedupRandom to improve reproducibility of particle deposition for regression testing. * Dropped benchmark field comparisons with fields near zero. Dropped particle benchmark for magnetostatic_eb_rz regression test due to randomized particle theta adding noise to fields after a timestep. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Found and fixed a bug in syncronization of MultiFabs when interpolating between grids in the magnetostatic solver. Added Python output for nodal current and vector potential. Updated the CI tests to disable dynamic scheduling and enbale serialization of initial conditions. Updated benchmarks fro tests. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Adding random_theta flag to PICMI interface and updating RZ CI test and benchmark with change to disable randomized theta. * Added documentation to parameters.rst for relativistic-magnetostatic flag. Documentation corrections. Removal of commented source. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Removing need to use do_current_centering. Updated current density inverse scaling support for nodal Jr in radius. Added flag to check for m_rz_random_theta when laying down particles in RZ. * Remove dA/dt term to decouple electrostatic and magnetostatic solvers. * Remove update of auxiliary fields * Adding non-Python test case for magnetostatic solver. Updating benchmarks. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Python/pywarpx/_libwarpx.py Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Python/pywarpx/_libwarpx.py Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Python/pywarpx/_libwarpx.py Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Python/pywarpx/_libwarpx.py Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Source/Diagnostics/Diagnostics.cpp Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Source/Evolve/WarpXEvolve.cpp Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.H Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Refactor names of functions for magnetostatic solver implementation. Remove current_fp_nodal python interface. Drop extraneous ghost cell exchanges. * Adding radial weighting at r=0 for Jr if nodal. * Splitting off Amrex bucket and adjustments to RZ radial weighting into different branches to be merged. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Switch name to labfame-electromagnetostatic * Update example scripts Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2022-12-13Release 22.12 (#3565)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.12 * PICSAR: 22.12 * WarpX: 22.12
2022-11-28enable the use of `FieldProbe` default parameter values (#3538)Gravatar Roelof Groenewald 1-10/+10
2022-11-24allow initial fields to be set through the picmi interface (#3536)Gravatar Roelof Groenewald 1-0/+29
2022-11-18Adding an if statement for the last step diagnostic (#3436)Gravatar Yinjian Zhao 2-14/+11
* modified * Include max_step and stop_time as input parameters * Add comments * update * update * Fix CI test: apply suggestion from @ax3l * Do not force consistency between `max_step` and `stop_time` Co-authored-by: Dave Grote <grote1@llnl.gov> Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2022-11-17Add Python interface for flux injection (#3486)Gravatar Remi Lehe 2-3/+25
* Update PICMI code * Upgrade picmistandard version * Update PICMI version and assert
2022-11-15Move shared functionality between `picmi.UniformDistribution` and ↵Gravatar Roelof Groenewald 1-63/+43
`picmi.AnalyticDistribution` into a parent class (#3476) * allow density function in picmi * created a new parent class to handle common functionality between `UniformDistribution` and `AnalyticDistribution` * fix bug caught by the `Python_Langmuir_rz_multimode` CI test * Place picmi inherited parent classes first to properly render documentation. * fix issue due to secondary parent class `init` not being called
2022-11-09BTD: remove old/legacy back-transformed diagnostics (#3485)Gravatar Remi Lehe 1-55/+8
* Start removing old BTD * Remove GetCellCenteredData * Remove do_backtransform_fields and do_backtransform_particles * Remove more functions * Remove more variables * Update documentation * Fix CI test `RigidInjection_BTD` * Remove slicing from `BTD_ReducedSliceDiag` * Rename `BTD_ReducedSliceDiag` as `LaserAcceleration_BTD` * Query deprecated input and abort Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2022-11-02Allow arbitrary laser antenna normal in picmi (#3477)Gravatar Roelof Groenewald 1-3/+22
* allow arbitrary laser antenna normal - picmi * always check that laser propagation direction is along the normal direction of the antenna if the antenna normal is given
2022-11-02Release 22.11 (#3499)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.11 * PICSAR: 22.11 * WarpX: 22.11
2022-10-28Add neumann BC in WarpX PICMI interface (#3487)Gravatar Remi Lehe 1-1/+2
2022-10-24Add reduced diagnostics to `picmi.py` (#3475)Gravatar Roelof Groenewald 4-57/+184
* add reduced diagnostics to picmi * added test of picmi reduced diagnostics * changes requested during PR review
2022-10-10Add functions for reading particle id and cpu numbers correctly (#3457)Gravatar Andrew Myers 1-9/+24
2022-10-03Release 22.10 (#3444)Gravatar Axel Huebl 1-1/+1
* 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
2022-10-02Major update of the Python/picmi documentation (#3329)Gravatar David Grote 3-29/+534
* 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>
2022-09-29Add 1d support to `_libwarpx.py` functions `get_particle_X` (#3421)Gravatar Roelof Groenewald 1-5/+11
* add 1d support to _libwarpx.py functions `get_particle_X` * add coverage of 1d `_libwarpx.get_particle_z` to test suite
2022-09-02Release 22.09 (#3365)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.09 * PICSAR: 22.09 * WarpX: 22.09
2022-08-29Python: 3.7+ (#3342)Gravatar Axel Huebl 1-1/+1
* Python: 3.7+ Python 3.6 is now end-of-life. Bump support to 3.7+. * CUDA CI: Python3 Update
2022-08-28Docs: Add description of Python APIs in `libwarpx` (#3310)Gravatar Roelof Groenewald 2-97/+170
* 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>
2022-08-11`isort`: AMReX, WarpX, etc. as First Party (#3307)Gravatar Axel Huebl 2-1/+3
* `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.
2022-08-10Initialize particle runtime attributes inside AddNParticles (#3272)Gravatar Neïl Zaim 1-1/+6
* Initialize particle runtime attributes before calling AddNParticles * Avoid Multiplication result converted to larger type warning * Directly initialize runtime attributes inside AddNParticles * Update doxygen comment
2022-08-08PICMI: Fix Bug in Class `Species` Init (#3286)Gravatar Edoardo Zoni 1-17/+20
2022-08-01Release 22.08 (#3276)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.08 * PICSAR: 22.08 * WarpX: 22.08
2022-07-22Add Python Callback Call when Checkpointing Signal is Received (#3251)Gravatar Roelof Groenewald 1-0/+15
2022-07-09Release 22.07 (#3211)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.07 * PICSAR: 22.07 * WarpX: 22.07 * SENSEI: Update to 4.0.0 * AMReX: 22.07-4-gcbdc6580ee Include SENSEI build fixes.
2022-07-07Parse the quantity `zmax_plasma_to_compute_max_step` in PICMI (#3217)Gravatar Remi Lehe 1-0/+3
* Parse the quantity `zmax_plasma_to_compute_max_step` * Apply review comments
2022-06-24Added `none` as an option for fields_to_plot (#2419)Gravatar David Grote 1-0/+2
* 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
2022-06-06Release 22.06 (#3161)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.06 * PICSAR: 22.06 * WarpX: 22.06
2022-05-24Specify particle precision (#3065)Gravatar Kevin Z. Zhu 1-13/+27
* 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>
2022-05-16Add Headers to Input File Written by PICMI (#3093)Gravatar Edoardo Zoni 1-0/+12
* Add Headers to Input File Written by PICMI * Commit Suggestion by @dpgrote * Add Comment * Add Empty Line * Slightly Better Readable with a newline
2022-05-16Add STL files support in pywarpx (#3089)Gravatar Lorenzo Giacomel 4-11/+53
* 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>
2022-05-03Release 22.05 (#3076)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.05 * PICSAR: 22.05 * WarpX: 22.05 * Fix issue with RZ electrostatic solver Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2022-04-19add after diagnostic python callback (#3043)Gravatar Roelof Groenewald 1-0/+17
2022-04-06Added PlasmaLens class to PICMI (#3025)Gravatar David Grote 1-3/+35
* 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>
2022-04-02Allow process signals to trigger checkpoint or break behavior (#2896)Gravatar Phil Miller 1-0/+6
* 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>
2022-04-01Release 22.04 (#3018)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.04 * PICSAR: 22.04 * WarpX: 22.04
2022-03-29Add `propagation_direction` to PICMI lasers (#2992)Gravatar David Grote 1-0/+2
2022-03-17Removed used of separate bc arguments (#2977)Gravatar David Grote 1-22/+18
2022-03-09allow diagnostic data_list to be None (#2949)Gravatar Ryan Sandberg 1-88/+91
2022-03-07properly handle MCC collision subcycling (#2934)Gravatar Roelof Groenewald 1-1/+3
2022-03-03Rename `serialize_ics` as `serialize_initial_conditions` (#2925)Gravatar Edoardo Zoni 1-2/+2
* Rename `serialize_ics` as `serialize_initial_conditions` * Add Backward Compatibility Check
2022-03-03Release 22.03 (#2912)Gravatar Axel Huebl 1-1/+1
* AMReX: 22.03 * PICSAR: 22.03 * WarpX: 22.03
2022-03-03PICMI: warpx_file_min_digits (#2914)Gravatar Axel Huebl 2-1/+13
Add for all diagnostics the equivalent of `<diag>.file_min_digits`.