aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/WarpX.py (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-11-08Install pre-commit (#2532)Gravatar Axel Huebl 1-1/+0
* Add pre-commit Add basis for automated pre-commit checks. Install locally via: ```bash python3 -m pip install -U pre-commit pre-commit install ``` See: https://pre-commit.com * Cleanup: Whitespaces * Cleanup: requirements.txt order
2021-07-26PICMI inputs for MCC (#2098)Gravatar Roelof Groenewald 1-0/+5
* added functionality to picmi.py to initialize MCC collisions from python runscripts * bug fix and copyright declaration change * add Boltzmann's constant to picmi.py * added test for picmi MCC setup * set diagnostic output name for test and cleaned up analysis.py * fixed style issue with EOL white space after merge
2021-07-09Feature pass MPI comm from Python script to AMReX during initialization (#2034)Gravatar KZhu-ME 1-2/+2
* Added functionality to pass mpi comm from python script to amrex during initialization * Fixed missing _ in MPI._sizeof() * Added functions to get the current processor's rank and total number of processors * Renamed MPI_Comm to _MPI_Comm_type and defined _MPI_Comm_type in except statement * Updated comment to explain why mpi4py needs to be imported before loading libwarpx * Removed ifdef flags that prevent amrex_init_with_inited_mpi from being declared when MPI is off * Changed amrex_init_with_inited_mpi to be declared even when not using mpi, but will be defined to be functionally the same as amrex_init * Defined MPI = None to signify whether MPI is used, to add another check when initializing amrex * Changed ifdef blocks in WarpXWrappers.cpp/h to fix compile errors. Added ifdef block to conditionally declare amrex_init_with_inited_mpi in WarpXWrappers.h to prevent compile error when not using MPI. Removed ifdef block to declare/define same function in WarpXWrappers.cpp since function needs to be declared even when MPI is not used, but will never be called in that case. * Changed BL_USE_MPI to AMREX_USE_MPI and removed incorrect MPI=None statement * Changed BL_USE_MPI to AMREX_USE_MPI * Added test to verify correct passing of MPI communicator to amrex * Added ability to pass mpi_comm to sim.step * Change test to check for differeing outputs when passed different inputs * Removed obsolete comments refactored program to use more shared code * Refactored comments * Updated description to match test * Removed unecessary imports and updated comments
2021-05-11Feature - Time dependent Dirichlet boundary conditions for electrostatic ↵Gravatar roelof-groenewald 1-0/+3
simulations (#1761) * Update copyright notices * allow specification of boundary potentials at runtime when using Dirichlet boundary conditions in the electrostatic solver (labframe) * added parsing to boundary potentials specified at runtime to allow time dependence through a mathematical expression with t (time) * updated to picmistandard 0.0.14 in order to set the electrostatic solver convergence threshold * update docs * various changes requested during PR review * fixed issue causing old tests to break and added a new test for time varying boundary potentials * possibly a fix for the failed time varying boundary condition test * changed permission on the analysis file for the time varying BCs test * switched to using yt for data analysis since h5py is not available * made changes compatible with PR#1730; changed potential boundary setting routine to use the ParallelFor construct and set all boundaries in a single call * fixed typo in computePhiRZ * updated docs and fixed other minor typos * fixed bug in returning from loop over dimensions when setting boundary potentials rather than continuing * changed to setting potentials on domain boundaries rather than tilebox boundaries and changed picmi.py to accept boundary potentials * now using domain.surroundingNodes() to get the proper boundary cells for the physical domain * fixed typo in variable name specifying z-boundary potential * changed boundary value parameter for Dirichlet BC to boundary.field_lo/hi and changed setPhiBC() to only loop over the grid points when a boundary value has changed * switched specifying potential boundary values though individual inputs of the form boundary.potential_lo/hi_x/y/z and incorporated the new BC formalism through FieldBoundaryType::Periodic and FieldBoundaryType::PEC rather than Geom(0).isPeriodic(idim) * removed incorrect check of whether the potential boundary values are already correct, also had to change the input to test space_charge_initialization_2d to comply with the new boundary condition input parameters and finally changed permissions to analysis_fields.py file for the embedded boundary test since it was failing * remove line from WarpX-tests.ini that was incorrectly added during upstream merge * changed input file for relativistic space charge initialization to new boundary condition specification * fixed outdated comment and updated documentation to reflect that the Dirichlet BCs can also be specified when using the relativistic electrostatic field solver * moved call to get domain boundaries inside the loop over levels * cleaned up the code some by using domain.smallEnd and domain.bigEnd rather than lbound and ubound * added check that a box contains boundary cells before launching a loop over that box cells to set the boundary conditions Co-authored-by: Peter Scherpelz <peter.scherpelz@modernelectron.com>
2020-06-05Updates to picmi, mostly related to fields, and add psatd (#1077)Gravatar David Grote 1-0/+2
2020-05-14Implemented new particle diagnostics in picmi (#984)Gravatar David Grote 1-2/+6
* Implemented new particle diagnostics in picmi * Cleaned up picmi adding new particle diagnostics * In PICMI examples, use name option for diagnostics * For travis, update ubuntu version to bionic
2020-05-01Delete old diagnostics (#933)Gravatar MaxThevenet 1-10/+7
* Create subsection for diags documentation in input parameters list * Replace old diags with new ones IN DOC ONLY * eol whitespace * Check first CI test with new diags, before changing all of them * use diags in all CI * oops, had forgotten all examples except Tests/ * Updated picmi interface to use the new diagnostics * fix bug in how field functors are initialized for diags * fix bug: should always dump output at the end of simulation * eol * update test parameters in ini file * Further fixes to picmi for new diagnostics * Updates PICMI input files to use the new diagnostics * avoid dumping final plotfile twoce * update test to run with new diags * fix typo introduced when fixing merge conflicts * had accidentally removed the max_step here, so the run never ended on TravisCI * Add Diagnostics.py for picmi with new diagnostics * Adding m_ for member variables in new diags (#934) * fixing bug to initialize CellCenterFunctor for Bx * diag_name renamed to m_diag_name * some more diag members made m_ * renaming member variable mf_avg to m_mf_output * fixing m_mf_output to mf_dst in comments * Python documentation updates (#936) * Update Python documentation * Added numpy as a requirement for the Python installation * Cleaned EOL white space in Python documentation * Add periodictable to the Python packages required Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Added periodictable to required packages for pure Python version Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Add hostname to LoadBalanceCosts reduced diagnostic (#902) * Add hostname to reduced diags EOL Fix rd loadbalancecosts test AMREX_USE_MPI EOL move macro to source file Review changes eol add GPU ID if running on GPU eol Typo in comment use vectors to get rid of C-style memory management Fix for test eol * Compute number of unique box data fields in analysis script * analysis script * Use amrex Tokenize to split string * Update WarpXUtil.cpp * Update WarpXUtil.H * [mini] Add contact us section to documentation (#941) * add contact us section to doc * Update Docs/source/contact_us.rst Co-Authored-By: L. Diana Amorim <LDianaAmorim@lbl.gov> * Update Docs/source/contact_us.rst Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov> * stop calling the old WritePlotFile functions * fix new diags, problem with rho and PSATD and particle output variables * remove more deprecated code for old diags * Move checkpoint capability to new diagnostics * error if user asks custom output for checkpoint * eol * some more old diags code deleted * further cleaning * eol * further cleaning, make sure that WarpX compiles with USE_OPENPMD * remove old diags parameters * use new option to change the plotfile name * typo * do not need checkpoint files * adapt to new option for checkpoint * removed unread options as they make tests crash * remove warpx_checkInt from the Python layer * remove some more python wrappers * add checkpoint capability with 2 diags in new output * fix bug in MultiDiagnostics, and (should) fix checkpoint-restart test * fix restart CI test * avoid issue when writing the last plotfile twice * dpgrote's fix for the Python tests * update doc for diagnostics * stop requesting ndiags, this is read from the list of diags * awk to remove ndiags from all example input files * Removed diagnostics.ndiags from picmi interface Co-authored-by: Dave Grote <dpgrote@lbl.gov> Co-authored-by: Dave Grote <grote1@llnl.gov> Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Michael E Rowan <38045958+mrowan137@users.noreply.github.com> Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov>
2020-01-27Automatically add copyright header with update_copyright.shGravatar Tools 1-0/+7
2020-01-09For picmi, minor clean upGravatar Dave Grote 1-1/+1
2020-01-03Updated handling of fields_to_plot in picmi interfaceGravatar Dave Grote 1-0/+8
2019-04-29Implemented multiple antennas in picmiGravatar Dave Grote 1-2/+5
2019-03-25Updated picmi to use my_constantsGravatar Dave Grote 1-2/+2
2018-12-12manually reverting back to last known working version of WarpXGravatar Andrew Myers 1-1/+1
2018-12-11fix conflicts for merge revertGravatar MaxThevenet 1-1/+1
2018-11-02First draft of picmi diagnosticsGravatar Dave Grote 1-1/+1
2018-08-24Update how the python version is imported.Gravatar Dave Grote 1-11/+10
A pure Python version can be installed when only writing input files is reguired.
2018-08-09Added Constants python classGravatar Dave Grote 1-0/+2
2018-08-02Bug fixes in the python interfaceGravatar Dave Grote 1-2/+9
Fixed handling species with same name as predefined species. Removed dependency on six
2018-07-25Cleaned up handling of new speciesGravatar Dave Grote 1-4/+4
2018-02-09Updated to match changes in the PICMI standardGravatar Dave Grote 1-1/+49
2017-03-23Switched high level Python wrapper to ctypesGravatar Grote 1-9/+6
2017-03-08Added 3 sections in the documentationGravatar Remi Lehe 1-0/+3
2017-02-03Added Python wrapper around top level classes.Gravatar Dave Grote 1-9/+9
2017-01-25Modify the plasma_acceleration.py script to perform the moving window ↵Gravatar Andrew Myers 1-0/+6
particle injection from Python.
2017-01-10Cleaned up python importing of warpxGravatar Dave Grote 1-5/+5
2016-11-09Initial python wrapped versionGravatar Dave Grote 1-0/+18