aboutsummaryrefslogtreecommitdiff
path: root/Examples/Tests/collision (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-08-20Include `J` in diagnostic output when an electromagnetic solver is not used ↵Gravatar Roelof Groenewald 3-0/+3
(#4116) * include current density in diagnostic output even if an electromagnetic solver is not used * do not redeposit current for the magnetostatic solver * update CI benchmarks for tests that previously did not register current density * fix remaining failing CI test * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * do not output current density in collision tests * update `JFunctor` constructor doc-string * code cleanup - reduce code duplication * specify `Ex Ey Ez Bx By Bz` fields to plot for collision CI tests * specify `Er Et Ez Br Bt Bz` as output for rz collision test * rename `InterpolateToDst` to `InterpolateMFForDiag` * only deposit current density once per diagnostic output (if not already deposited) * write deposited current for all directions into `current_fp` during diagnostic step deposition * use `amrex::make_alias` to directly deposit current density into `warpx.current_fp` during diagnostic step deposition * add class variable `solver_deposits_current` to `FullDiagnostics` so that there is only one place where the determination is made whether current should be deposited during diagnostic output * correct logic to determine `m_solver_deposits_current` --------- Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2023-01-04Fix bug for intra-species Coulomb collisions (#3526)Gravatar Yinjian Zhao 3-5/+125
* Correct density * update * Add test * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Regression/WarpX-tests.ini * update * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Apply suggestions from code review * update * Fix shadowing of variables * Simplify code * Correct density * Update checksum * Update exponential fit * Remove unused global variable * Add comment on exponential fit * Cleaning * Cleaning * [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> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Edoardo Zoni <ezoni@lbl.gov> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2022-11-07Allow `None` for Maxwell solver (#3504)Gravatar Roelof Groenewald 3-8/+12
* Add "None" as an option for the Maxwell solver * fixed some of the reasons for failing CI tests * no longer pass `do_electrostatic` to `GuardCellManager` * renamed `MaxwellSolverAlgo` to `ElectromagneticSolverAlgo` * rename `do_electrostatic` to `electrostatic_solver_id` * rename `maxwell_solver_id` to `electromagnetic_solver_id` * changes requested during PR review * remove `do_no_deposit` from tests without field evolution * Fix doc-string in `GuardCellManager.H` Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2022-10-08Updated 1D CI tests with particles because of update of yt (#3458)Gravatar David Grote 1-3/+4
* Updated 1D CI tests with particles * Updated required version of yt to 4.1.0 * Fixed CI analysis of collisionXYZ Fixed the fetching of the particle data
2022-03-03Rename `serialize_ics` as `serialize_initial_conditions` (#2925)Gravatar Edoardo Zoni 4-5/+5
* Rename `serialize_ics` as `serialize_initial_conditions` * Add Backward Compatibility Check
2022-03-03file_min_digits: 5->6 (#2385)Gravatar Axel Huebl 2-2/+2
* file_min_digits: 5->6 100k+ step runs are quite common in WarpX. To simplify post-processing scripts, increase the default to pad to 6 digits. This might break some hand-written scripts that use `?????` wild-cards over `*` wildcards in regex and thus need to be updated. But it at the same time simplifies regexes for analysis of data series and listing of such file series. * Update Scripts to Handle New File Names * Fix CI Test pml_x_psatd * Fix CI Test divb_cleaning_3d * Fix CI Tests with EB Support * Fix CI Tests with RZ Support * Fix CI Tests with PICMI Support * Use glob in Analysis of Collision Tests * Use rstrip in Analysis of Collision Tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix CI Tests for Langmuir_multi_1d/psatd * Fix CI Tests for LaserInjection_1d * Checkpoint-Restart Tests: 5 Digits `regtest.py` in `regression_testing` hard-codes 5 digits: ```diff --- a/regtest.py +++ b/regtest.py @@ -734,7 +734,7 @@ def test_suite(argv): shutil.move(test.diffDir, orig_diff_dir) # get the file number to restart from - restart_file = "%s_chk%5.5d" % (test.name, test.restartFileNum) + restart_file = "%s_chk%6.6d" % (test.name, test.restartFileNum) ``` * PICMI Restart Tests: `warpx_file_min_digits = 5` Same as other CI restart tests: hard-coded value in regression suite makes this necessary. X-ref: https://github.com/AMReX-Codes/regression_testing/issues/119 Co-authored-by: Edoardo Zoni <ezoni@lbl.gov> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-25Add Coulomb collision installation to picmi.py (#2864)Gravatar Roelof Groenewald 2-5/+159
* added Coulomb collision installation to picmi.py * added comment saying the input values for the new PICMI test comes from inputs_2d
2021-12-21pre-commit: Python imports (#2686)Gravatar Axel Huebl 3-10/+16
* 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-9/+9
* 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-16Generalize Analysis Scripts: Number of Digits (plt) (#2683)Gravatar Axel Huebl 2-14/+30
* Update Scripts to Handle New File Names * Use glob in Analysis of Collision Tests * Use rstrip in Analysis of Collision Tests * Regex: Match ends-in-digits Thanks Phil! :) Co-authored-by: Edoardo Zoni <ezoni@lbl.gov> Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
2021-12-15Examples: Python ShellBang & Executable (#2673)Gravatar Axel Huebl 3-3/+3
* 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-06Correct collision algorithm in RZ. (#2510)Gravatar Yinjian Zhao 2-0/+112
* Add rotation. * Fix a small bug * Add automated test. * rename inputs_rz * Add json * minor * add comment. * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update analysis_collision_rz.py * Fix missing import * Change tolerance. * Add warnings * Apply suggestions from code review * Move assert. * fix end-of-Line whitespaces. Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-07-21Use new boundary input (#2110)Gravatar Revathi Jambunathan 2-4/+12
* 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-05-11New Input Parameter for Order of Shape Factors (#1934)Gravatar Edoardo Zoni 2-0/+6
* 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-03-01Add CI coverage for the plotfile particle filters (#1645)Gravatar NeilZaim 4-23/+110
* Add CI coverage for the plotfile particle filter function * Minor fix in analysis script * Test all 3 particle filters in 2D/3D/RZ * Dirty trick to deal with same ID from multiple MPI ranks + enforce 100 characters per line rule * Fix CI when running on a single MPI rank * Add new module to avoid duplicate code
2021-01-14Unify intervals notation (#1485)Gravatar NeilZaim 2-2/+2
* 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-10-05Add option to do collisions every # time steps (#1251)Gravatar Yinjian Zhao 1-0/+3
* Update inputs_3d * Update inputs_2d * Add ndt * Doc * Doc * Update inputs_3d * Update inputs_2d Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-07-27Input: Remove n<something> options (#1217)Gravatar Axel Huebl 2-4/+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-06-03Add checksum regression tests (#1065)Gravatar MaxThevenet 2-0/+11
* 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-01Delete old diagnostics (#933)Gravatar MaxThevenet 2-4/+10
* 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-29Add an automated test for 2D collision.Gravatar Yinjian Zhao 3-2/+139
2020-01-27Automatically add copyright header with update_copyright.shGravatar Tools 1-0/+7
2020-01-13Merge branch 'dev' of https://github.com/ECP-WarpX/WarpX into ↵Gravatar Edoardo Zoni 1-3/+3
cleanup_examples_input_files: synchronize with 'dev' branch before requesting PR review.
2020-01-09Clean up input files in Examples/:Gravatar Edoardo Zoni 1-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-09Minor change of Examples/Tests/collision/analysis_collision.py.Gravatar Yin-YinjiaZhao 1-3/+3
2020-01-08Clean up input files in /Examples/Tests/:Gravatar Edoardo Zoni 1-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 permission of input file in /particle_pusher/ from executable to read/write - update entries in /Regression/WarpX-tests.ini for Travis CI: comment out two tests where parameter 'dim' does not match dimensionality in input file
2019-12-12Modified analysis_collision.py.Gravatar Yinjian Zhao 1-0/+8
2019-12-02Modified analysis_collision.py.Gravatar Yinjian Zhao 2-15/+12
2019-12-02Add an automated test of temperature relaxation. Ready for 1st PR.Gravatar Yinjian Zhao 2-0/+127