aboutsummaryrefslogtreecommitdiff
path: root/Examples/Physics_applications/plasma_acceleration (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-06-16correct seperate --> separate (#3998)Gravatar Luca Fedeli 1-1/+1
2022-11-09BTD: remove old/legacy back-transformed diagnostics (#3485)Gravatar Remi Lehe 2-6/+0
* 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-01-12Make moving window dimensionality consistent in PICMI (#2721)Gravatar Prabhat Kumar 1-1/+1
* 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
2021-12-21pre-commit: Python imports (#2686)Gravatar Axel Huebl 3-0/+3
* 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>
2021-12-21Inputs: `geometry.dims` option (#2685)Gravatar Axel Huebl 3-7/+7
* 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>
2021-12-15Examples: Python ShellBang & Executable (#2673)Gravatar Axel Huebl 3-0/+6
* Examples: Python ShellBang & Executable Make sure that all PICMI scripts and all analysis Python scripts in `Examples/` are: - executable (`chmod a+x`) - start with a shell-bang to `python3` Now, all scripts can be run directly without a `python3 ...` prefix and also default to the only right executable of Python on older systems. (New systems always have a `python3` alias, too.) * Revert a moved numpy
2021-12-10PWFA 1D: Fix output nameGravatar Axel Huebl 1-1/+1
Hard coded, undocumented convention: turns out this must be the name of the test that we define in the ini file. Logical, isn't it. Not. Follow-up to #2593
2021-12-091D tests for plasma acceleration (#2593)Gravatar Prabhat Kumar 1-0/+71
* modify requirements.txt and add input file for 1D Python pwfa * add 1D Python plasma acceleration test to CI * picmi version * USE_PSATD=OFF for 1D * Update Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Regression/WarpX-tests.ini Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Cartesian1D class in pywarpx/picmi.py * requirements.txt: update picmistandard * update picmi version * requirements.txt: revert unintended changes * 1D Laser Acceleration Test * Update Examples/Physics_applications/laser_acceleration/inputs_1d Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * add data_list to PICMI laser_acceleration test * increase max steps and fix bug in pywarpx/picmi.py 1DCartesian moving window direction * add data_lust to Python laser acceleration test * picmistandard update Co-authored-by: Prabhat Kumar <prabhatkumar@kraken.dhcp.lbl.gov> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
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-10-19Simplify momentum initialization in example input files (#2309)Gravatar Neïl Zaim 3-20/+5
* Simplify momentum initialization in example input files * Update benchmarks * Trigger Build * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Add more amrex prefix * Remove using namespace amrex in PlasmaInjector.cpp * Fix compilation with OpenPMD Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2021-09-30Rigid injected species: Remove unused function and variables (#2350)Gravatar Remi Lehe 2-8/+0
* Remove unused function * Remove `focused` and `projected` for rigid particles
2021-08-16do_pml should not be parsed anymore. (#2183)Gravatar Revathi Jambunathan 1-1/+0
* do_pml not parsed. remove code that was added to support both types of boundary interface * add paranthesis * fix eol and move to BackwardCompatibility * missing semicolon * Update Source/WarpX.cpp * clean input files in examples * delete do_pml in performance test input * fixing an example input file in docs * Update Source/WarpX.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * cleaning up docs * Update Docs/source/usage/parameters.rst * fix eol Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-08-02Remove predefined constants from example input files (#2153)Gravatar Neïl Zaim 2-2/+0
2021-07-21Use new boundary input (#2110)Gravatar Revathi Jambunathan 3-7/+20
* support only new boundary interface. set pml flags to 0 as default * use new boundary interface in Examples/Modules/ * use new boundary interface in the input for tests in Examples/Physical_applications * use new boundary interface in the input for tests in Examples/Tests * use new bc * fix typo * fix typo * Update Examples/Tests/SingleParticle/inputs_2d * fix bc in input * specific bc for electrostatic inputs * resetting benchmark for PEC particle CI test after fixing the default pml flags from 1 to 0 * Update Examples/Physics_applications/laser_acceleration/inputs_2d_rz * remove documentation on previous boundary input * Comment to clarify where in the code is_periodic is appended and how it is defined * add default parameters for BC in doc
2021-07-01Filter Always ON by Default (#2031)Gravatar Edoardo Zoni 2-2/+4
* Filter Always ON by Default * Fix CI Tests * Update Docs * Fix CI Test dirichletbc * Default WarpX::use_filter = 0 with RZ FDTD, Add Warnings * Set WarpX::use_kspace_filter = true by Default, too * RZ: Fix Bug with PSATD Binary and FDTD Runtime Solver * Default use_kspace_filter = true, Fix Runtime Issue with Rho Functor
2021-06-07Call function ReadBCParams() during python execution (#1972)Gravatar roelof-groenewald 2-0/+4
* added ReadBCParams() function call to python execution and added a test of the electrostatic solver executing from python * added separate specification of particle boundary conditions in picmi setup and adjusted the inputs for existing tests to follow the new practice * updated input for rz PICMI test and renamed the electrostatic test to follow standard practice * added arguments for particle boundary conditions to Langmuir RZ test * added dictionary to picmi.py to map from picmistandard field boundary condition specifications to that of WarpX * fixes for failing unit tests; added key, pair 'none' to picmi dictionary of field BCs * also using 'none' for upper boundary condition for RZ test Python_Langmuir_rz_multimode
2021-05-11New Input Parameter for Order of Shape Factors (#1934)Gravatar Edoardo Zoni 3-9/+9
* Define New Input Parameter interpolation.shape_factors_order * Use New Input Parameter, Remove Obsolete Ones * Add New Input Parameter to PICMI Interface * Update Docs, Use New Input Parameter in Remaining Input Files * Cleaning * New Name: algo.particle_shape
2021-04-15Boundary Condition : Interface with existing PML (#1768)Gravatar Revathi Jambunathan 1-1/+0
* Read boundary and set periodicity, enumerate BC types, added support for periodic * separate particle and field boudnary structs * Update comment for particle struct * default pml is 0, and reset lo, hi, and do_pml to 1 * turn on pml for MR * eol * remove duplication * resolving commit conflict * explicitly setting pml_HI_MR * default pml lo and hi to 0, and set MR pml lo and hi to the domain values if fine patch coincides with domain boundary * set lo and hi flag for pml when do pml = 1 and domain is non-periodic * remove commented line * add doc * Update Source/Utils/WarpXUtil.cpp remove empty line * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Docs/source/usage/parameters.rst lower case for input * add do_pml flags for IonAcc2d and PlasmaMirror * add pml = true in PICMI for gaussian beam and plasma acceleration * pml is the default field BC * adding temporary defaults for field and particle BC using periodicity * fix temp initialization * set default to pec if input sets pml to 0 * fix typo * logic for both old and new pml interface * fix eol * change examples to original pml input with default values * Update Docs/source/usage/parameters.rst Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * fix comments Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Docs: fix .rst list Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2021-01-14Unify intervals notation (#1485)Gravatar NeilZaim 3-3/+3
* Unify intervals notation * Fix diagnostic intervals with PICMI * Use new syntax in updated Larmor test * Update PICMI to comply with the standard * Update new hybrid test * Update particles_in_PML test input files
2020-09-17[Mini]picmi - convert True/False to 1/0 (#1341)Gravatar David Grote 1-1/+1
* picmi - convert True/False to 1/0 * picmi - update picmi input files to use True/False for booleans
2020-07-27Input: Remove n<something> options (#1217)Gravatar Axel Huebl 3-3/+0
* Input: Remove n<something> options The information in - lasers.nlasers - particles.nspecies - collisions.ncollisions is redundant with their `<...>.names` counter-part and requires users to change info at two locations. We just remove this now since we can query the size of names automatically in the parser. * Examples: remove n<something> Removes: - lasers.nlasers - particles.nspecies - collisions.ncollisions from examples. * QED: Update nspecies * Removed nspecies and nlasers from the Python interface Co-authored-by: Dave Grote <grote1@llnl.gov>
2020-07-27Rename Input to `algo.maxwell_solver` (#1188)Gravatar Axel Huebl 3-3/+3
* Rename Input to `algo.maxwell_solver` Rename the input option `algo.maxwell_fdtd_solver` to `algo.maxwell_solver` and throw a useful error message for users using the old option. This is in preparation to unify FDTD and PSATD input control to reduce mutually exclusive binary variants of WarpX. * MW Solver Name: Update Examples Update all example to use the new algo.maxwell_solver option. * Fix typo in comutation of dt Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2020-06-22Remove persistent E+B (#1050)Gravatar Andrew Myers 2-2/+2
* add functor for doing the tmp particles copy for the back-transformed diagnosti * merge the particle push options into one kernel * EOL * fix assertion * add a FieldGatherandPushPX method to PhysicalParticleContainer * handle offset in copyAttribs * allow this functor to be constructed even it we aren't doing the back transformed diagnostics * EOL * update the overloads of PushPX for the Photon and RigidInjected ParticleContainers * function for dispatching the right field gather * init this val to 0.0 * fix some typos * handle scaling the fields for rigid injection * EOL * don't need to get pointers to E and B arrays in PushPX any more. * actually I can't remove these yet * EOL * variable order bug * move the QED stuff to the proper place * EOL * make sure we don't build these functors unless the runtime options are toggled * EOL * perform the field gather prior to the photon particle push * remove E and B components and FieldGather methods. Reimplement PushP for rigid injected and physical particles * update ionization to do field gather inline * remove E and B from the particle diagnostics * don't write E or B in these tests for particles * add missing files * remove EB from the Regtest ini file too * no need to do this twice * important typo * also do the gather inline for the QED processes that need to * move these sources inside ifdef for QED * fix bug in RZ * remove some fields from the Python tests. * remove all particle E and B comps from json benchmarks * don't assert that Ey is the langmuir output * remove uy from this output * update test * restore the mesh fields I turned off by mistake * turn off field IO for a few python tests I missed * fix typo * reset Langmuir_multi benchmark * update Langmuir_multi_nodal benchmark * update single precision langmuir bench * update psatd single precision languir one too * also do ionization_lab * finally, ionizaiton_boost * update benchmarks_json/Langmuir_multi_psatd.json * update benchmarks_json/Langmuir_multi_psatd_current_correction.json * update benchmarks_json/Langmuir_multi_psatd_momentum_conserving.json * update benchmarks_json/Langmuir_multi_psatd_nodal.json * remove the particle E and B from the choices in the docs * fix offset bug * also add the Gather subdirectory * Update Source/WarpX.H Co-authored-by: MaxThevenet <mthevenet@lbl.gov> * add docstring for LowerCornerWithGalilean * add new source files to CMakeLists.txt * also need to update the GPU regression tests * update the name of the output file for this python test * remove field gather call from FieldDiagnostics * fix typo in docstring * init fields to 0 * add docstring to the CopyParticleAttribs constructor * some explicit amrex::namepace Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-06-03Add checksum regression tests (#1065)Gravatar MaxThevenet 2-8/+6
* add a checksum module for regtests * All capabilities to checksum tests * update tests to generate a clean benchmark * call checksum tests from analysis scripts * Add checksum json benchmarks * add missing script, better printing and increase tol * eol * fix permission, and bump tolerance * chmod +x checksumAPI.py * update benchmarks, probably old ones were wrong due to parallelization * remove unused variable, thanks lgtm * special handling when the benchmark is 0 * non-zero but very small CFL for 1 step for init tests * reset erroneous Python benchmarks * slightly bump tolerance for initial distribution test * too small dr results in nans * improve prints, tolerance handling, and fix tests * typo * enable tolerance and fields/particles optional comparison to fix tests * more minor cleaning in space charge initialization tests * update Python benchmarks for serial runs * Run Python tests with 1 rank instead of 2 * fields that are zero should not be in reg tests * Add developer documentation on checksum regression tests Co-authored-by: Tools <warpx@lbl.gov>
2020-05-14Implemented new particle diagnostics in picmi (#984)Gravatar David Grote 2-4/+8
* 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 5-17/+36
* 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-04-03avoid dumping particle magnetic field to output in Python_PlasmaAcceleration ↵Gravatar MaxThevenet 1-2/+17
(#893) Co-authored-by: David Grote <dpgrote@lbl.gov>
2020-03-02Option to specify the type of physical species (#746)Gravatar MaxThevenet 1-8/+4
* first implementation, doesnt link * fix species type and use it in some examples * eol * typo in input file * Apply suggestions from code review Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> Co-Authored-By: Yinjian Zhao <yinjianzhao@lbl.gov> * changes suggested by review * put species functions into a namespace Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com> Co-authored-by: Yinjian Zhao <yinjianzhao@lbl.gov>
2020-02-19avoid duplicate tests and plot less often (#726)Gravatar MaxThevenet 1-1/+1
* avoid duplicate tests and plot less often * fix tests I broke when trying to save plotfiles
2020-01-14Merge pull request #605 from EZoni/cleanup_examples_input_filesGravatar MaxThevenet 3-0/+0
Clean up input files in Examples/
2020-01-13fix lgtm warningsGravatar Luca Fedeli 2-2/+0
2020-01-09Clean up input files in Examples/:Gravatar Edoardo Zoni 3-0/+0
- remove wrong extension '.rt' from previous commits ('rt' string denotes regression tests and does not represent a file extension) - put back string 'rt' in input file names wherever needed - update entries in Regression/WarpX-tests.ini for Travis CI - add entries in Regression/WarpX-tests.ini corresponding to input files previously not tested: now testing only run (no analysis)
2020-01-08Clean up input files in /Examples/Physics_applications/:Gravatar Edoardo Zoni 3-0/+0
- add strings '2d' or '3d' for dimensionality of test case - use '.' only to separate file names from file extensions - use uniform file extension '.rt' in all input files - change wrong permissions from executable to read/write - update entries in /Regression/WarpX-tests.ini for Travis CI
2019-12-10Decreased the numnber of steps in PICMI_inputs_plasma_acceleration_mr.pyGravatar Dave Grote 1-2/+1
2019-12-10Changed several Python tests to run simulationGravatar Dave Grote 2-4/+4
2019-10-25remove merge conflicts with devGravatar MaxThevenet 4-5/+5
2019-10-25replace 'boosted frame diags' with 'back-transformed diags'Gravatar MaxThevenet 2-2/+2
2019-10-18add test for all input files in Examples/ to WarpX-tests.iniGravatar MaxThevenet 4-5/+5
2019-10-17more consistency in files in Examples/Gravatar MaxThevenet 2-0/+0
2019-10-02Fixes to the PICMI input filesGravatar Dave Grote 2-10/+8
2019-09-11Source & Tools: No EOL WhitespacesGravatar Tools 3-5/+5
End-of-line (EOL) whitespaces are verbose and increase diffs and merge conflicts over time. Cleaned them up for the `Source/`, `Examples/` and `Tools/` directory with the following bash one-liner: ```bash find . -type f -not -path './.git*' \ -exec sed -i 's/[[:blank:]]*$//' {} \; ``` Committed as generic user so git does not credit the many lines to me: ```bash GIT_AUTHOR_NAME="Tools" GIT_AUTHOR_EMAIL="warpx@lbl.gov" \ git commit ```
2019-08-01typos in example inputsGravatar MaxThevenet 1-2/+0
2019-06-24no need for NCI corrector when running in lab frameGravatar MaxThevenet 1-1/+0
2019-05-29Use new algorithm string in examplesGravatar Remi Lehe 3-12/+0
2019-05-14removing unused parameters from plasma_acceleration/inputs.3d.boost - the ↵Gravatar Andrew Myers 1-4/+0
driverback doesn't need the rigid injection stuff
2019-05-07updated Examples and picmiGravatar MaxThevenet 3-9/+5
2019-04-18Merge branch 'dev' into RZgeometryGravatar Dave Grote 2-6/+6
2019-03-21use parser's setConstant function instead of using string replacementGravatar Weiqun Zhang 2-6/+6
2019-03-18Removed more references to warpx_coord_sysGravatar Dave Grote 2-2/+2
2018-10-04updated inputs in Examples/plasma_accelerationGravatar Maxence Thevenet 9-783/+334