Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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>
|
|
* 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>
|
|
* Wrap shared object in a class to control its loading
* Fix libwarpx attribute references
* Updated callbacks.py for updated libwarpx
* Removed the wx module plus other clean up
* Further revision of how to use the pywarpx module.
Now, _libwarpx should not be imported by external scripts except in special circumstances.
* Updated documentation
* Clean up end of line whitespace
* Added more wrapping routines plus some clean up
* Fixed use of pywarpx in two examples
* Fix for getistep
* Fixed for the EB Python interface
* Silence a warning for our wrapper
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* 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
|
|
This failed in other PRs:
```
PermissionError: [Errno 13] Permission denied: './analysis.py'
```
|
|
Prepare to enable autofix bot from https://pre-commit.ci
|
|
* Adding edge_lengths and face_areas to the Python interface
* Added wrappers for the two new arrays of data
* Adding a CI test
* Fixed test name
* Added customRunCmd
* Added mpi in test
|
|
Add 1D output support with openPMD.
|
|
* Build System: Add 1D Geometry
* test PR
* test PR
* 1D cartesian yee algorithm
* fixed typo
* Fixes for PML
* 1D support related multiple changes
* Fix compilation
* change 1D to 1D_Z
* 1D Field Gather and typo fix
* 1D Charge Deposition
* Particle Pusher
* multiple changes related to 1D
* 1D diagnostics and initialization
* PlasmaInjector and PEC fixes for 1D
* clean-up delete diags file
* mobility 1D laser particle and bilinear filter
* deleted diags files
* update laser particle weight formula
* delete diags files
* Azure: Add 1D Cartesian Runner
* 1D fixes for FieldProbe
* Update Docs/source/developers/dimensionality.rst
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* 1d laser injection and langmuir test input files
* 1d tests
* clean up : delete print statements
* analyse simulation result for laser injection and Langmuir tests
* EOL
* delete input files for which there are no automated tests
* delete input files for which there are no automated tests
* add ignore_unused to remove warnings
* remove space
* Fix compilation issues
* fix error : macro name must be an identifier
* Small bug fix
* cleanup Python script for analysis
* bug fix
* bug fix
* Update ParticleProbe: Check 1D in-domain
* Update Source/Make.WarpX
* Update .azure-pipelines.yml
* Add USE_OPENPMD=FALSE to .azure-pipeline.yml
* resolve conflict
* resolve conflict
* fix typo
* Correct out-of-bound access
* Fix Particle BC in WarpXParticleContainer and correct path to checksumAPI in python analysis scripts
* EOL
* Fix bug : accessing out of bound index of cell in 1D
* remove 1d test for cartesian3d
* Fix CI check
* Slight style change
* Address review comments
* Fix GPU compilation Filter.cpp
* Fix CI
* Fix Indentation
* Address review comments
* More consistent ifdef for dimension bigger than 1
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update GNUmakefile
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Regression/prepare_file_ci.py
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Initialization/PlasmaInjector.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Initialization/PlasmaInjector.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* add comment inline to explain twice push_back
* Add amrex::Abort for NCIGodfreyFilter
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Prabhat Kumar <prabhatkumar@kraken.dhcp.lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Remi Lehe <rlehe@lbl.gov>
|
|
* added helper function to rebuild MultiFabs and iMultiFabs during load balancing and included rebuilding of EB multifabs
* added redistribute call for the particle boundary buffer during load balancing
* consistently use DistribtionMap rather than dmap in ElectrostaticSolver.cpp
* applied suggested changes from code review by Phil Miller
* removed default argument for redistribute in RemakeMultiFab
* removed RemakeMultiFab() as a member of WarpX
* Only remake EB multifabs if they are used
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
* adapted existing particle scraping test (PICMI version) to also cover the redistribution of particle buffers from load balancing
* added redeclaring of m_borrowing
* Move redeclaring of m_borrow inside if statement for ECT solver algorihtm
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
* added calls to MarkCells and ComputeFaceExtensions
* fixed issue causing CI test to fail and copied conditionals from WarpXInitData.cpp to recompute EB quantities
* Guard cells communication for EB data when re-gridding (#105)
* Add 2D circle EB test (#2538)
* Added embedded_circle test
* Add embedded_circle test files
* Removed diag files
* removed PICMI input file
* Update to use default regression analysis
* Added line breaks for spacing
* Added description
* Fixed benchmark file
* Added load balancing to test
* Commented out load_balancing portion of test.
This will be added back in once load balancing is fixed.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Added guard cells communication for EB data in regridding
Co-authored-by: Kevin Z. Zhu <86268612+KZhu-ME@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* moved all EB grid data calculations to a new function InitializeEBGridData() which is now called by both WarpX::InitLevelData and WarpX::RemakeLevel
* Fix typo in doc string.
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
Co-authored-by: Kevin Z. Zhu <86268612+KZhu-ME@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
|
|
* adding the FieldProbe
* adding missing file
* updating makefile
* fixing host-device problem
* Revert "fixing host-device problem"
This reverts commit 801e6fc47f19cfc42ec46e5ef1a18dcf86be3e5a.
* fixing host-device problem
* making some variables const
* adding a few comments
* Adding the FieldProbe to the documentation
* making the probe mpi-safe
* added field probe to reduced diag test
* added field probe to reduced diag analysis
* using cell-centered fields in probe diag
* removed a few typos
* Interpolating to the point instead oof cell center
* bug fix
* improved a comment
* updated documentation
* Undone an outdated change
* improving some variable names
* improving the box extraction
* making the interpolation order an input parameter
* fix a typo
* setting the field values to zero if the point is not in the domain
* skipping the communication if probe proc is IO prcessor
* Fixed typo in documentation
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Updating an header
* Added a comment on the probe position
* tidying up the analysis script
* fixed a comment
* removing an unused include
* improving the parsing of parameters
* fixing some comments
* making some variables const
* changed some ParticleReal into Real
* using better tags in MPI communication
* Making field probe work in 2D
* making a variable const
* initializing y_probe only in 3D
* tidying up a line which is common to 2D and 3D
* making a variable constexpr
* adding a _rt
* checking that the probe location is in one of the processors
* removing a useless if condition
* Fixing the initialization in 2D
* Avoiding scrape particles in 2D (it segfaults)
* Adding a test for 2D EB
* Fixed the areas initialization
* Initializing to zero some multifabs
* Modified the ECT solver to make it work in 2D
* Modified the cell extensions to make them work in 2D
* Improved 2D cube test
* Added 2D rotated cube test
* Adding the 2d analysis script and CI
* Removed an unused import from the analysis script
* Ignoring some unused variables
* Fixing the number of dimensions in the 2d test
* Added missing analysis for ECT
* Enabled again 2d particles scraping
* Fixing the test_name with the general logic
* Fixing the test_name with the general logic
* Removed some commented code
* Modified several preprocessor directives to check consistency EB-dimension
* Added missing semicolons
* Fixed a preprocessor directivew
* Fix typo: WARPX_DIM_XZ
* Improving some comments
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Adding some more consistency checks
* Adding some more consistency checks
* Fixed a typo
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Draw Gaussian beam position with amrex random engine
* Update benchmarks
* Update tolerance in space-charge tests
* Update benchmark for space charge initialization test
* Update benchmarks
* Update benchmark
* Clean-up code
* Update benchmarks
|
|
* 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
|
|
* AMReX/PICSAR: Weekly Update (#2478)
Weekly update to latest AMReX.
Weekly update to latest PICSAR (no changes).
```
./Tools/Release/updatePICSAR.py
./Tools/Release/updateAMReX.py
```
* Update benchmarks
* Update benchmarks for 3D tests
* Update benchmarks
* Update benchmark
* Update benchmark
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* increase tolerance for single precision test
* reset checksum
* change ad['field'] into ad[('mesh','field')] or ad['boxlib','field'] in yt script
* update field access in several files
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Modules/boosted_diags/analysis_3Dbacktransformed_diag.py
* Update Examples/Modules/boosted_diags/analysis_3Dbacktransformed_diag.py
Co-authored-by: Tools <warpx@lbl.gov>
|
|
* 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>
|
|
* Gaussian Beam PICMI: Add openPMD Argument
Add an `--diagformat` option to switch between plotfiles and openPMD
for the Gaussian Beam PICMI example.
* CI: openPMD + PICMI on Windows
* Regression Test: Add openPMD PICMI
* format -> warpx_format
|
|
* Use parser for more input parameters
* Fix PSATD compilation and apply suggestions from code review
* Avoid out of bound array access for num_particles_per_cell_each_dim
* Fix few input files with respect to num_particles_per_cell_each_dim
* Fix get that incorrectly became query
|
|
* Remove unused function
* Remove `focused` and `projected` for rigid particles
|
|
* added tunable particle reflection from absorbing domain boundaries
* extended picmi.py to allow setting boundary reflection coefficients and added a CI test for the reflection implementation
* allow R(E) to be specified, except for embedded boundaries
* changed approach for particle reflection, now the ParticleBoundaries object will hold the reflection coefficient; reflection from EBs not implemented
* added functionality to reflect from EB; still needs to be tested for accuracy
* added support for energy dependent reflection models for domain boundaries
* fixed at least one issue causing CI fails - building reflection model parsers for not physical particle containers
* switched reflection coefficients to be functions of the velocity component perpendicular to the boundary rather than energy
* reverted initial work on reflecting from EBs
* changed naming convention for new CI test for particle reflection
* switched useMPI back to 1 in test
* breaking changes while trying to sort out GPU issue
* fixed issue with CUDA compilation - hopefully :)
* various code improvements from PR review suggestions
* fix of major issues
* no need to parse the reflection models at every step
* skip particles that are already flagged for removal in ApplyBoundaryConditions
|
|
* Move QEDEvents() before OneStep functions
* Update BW and QS automated tests
* Fix a couple of bugs
* Update benchmarks
* Forgot to update one benchmark value
|
|
* Added wrapper to get number of particle species tracked by the scraper
Not sure if this is going to be useful, but it demonstrates a method to get information
from the ParticleBoundaryBuffer into Python.
* Stubbed out the main wrapper functions
* Added parameters to wrapper
* Added wrapper for getting the number of particles scraped of a species on a boundary
* added picmi arguments to scrape particles at the domain boundary
* Added wrapper to get the full particle buffer into python
* rearanged the getBuffer properties code a little
* Added docstrings +other suggested changes
* Added num_particles_impacted_boundary docstring
* fixed mistake in docstring
* Changed boundary parameter to be a string for clarity
* Fixed issue with the boundary parameter for scraping
* Fixed issue with the boundary input for scraping stats wrapper
* Added demonstration of particle scraping wrapper
* Added analysis.py file
* Fix typo in one of the dimension maps
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
* Added before esolve to warpx evolve
* added test for the scraped particle buffer wrappers
* Moved python PICMI particle boundary scrape test
* Renamed test file to the correct name
* Removed old test
* added special functionality to get the timestep at which particles were scraped
* removed debug print
* added python wrapper for the clearParticles() function of the scraper buffer
* added special wrapper function to get the timesteps at which the particles in the boundary buffer were scraped
* updated test to match the non-PICMI test for the particle scraper buffer
* Fix uncaught rebase mistake
* re-activated picmi test of accessing the scraped particle buffers via python
* added documentation for the new parameters involved in the scraped particle buffer and fixed remaining issue with picmi test
* changes requested during code review
Co-authored-by: mkieburtz <michaelkieburtz@gmail.com>
Co-authored-by: Roelof <roelof.groenewald@modernelectron.com>
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
|
|
* adding base implementation of the conformal solver
* adding some preprocessor directives
* qualifying the isnan's correctly
* getting rid of some unused fields
* computing S_stab on the fly
* using empty in length check
* Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
* replaced a looponcpu with a parallelfor
* trying to not pass lending/borrowing info by reference in evolveB
* passing data using dataPtr
* converting inds into a device vector
* simplifying some +=
* extracting the inds BaseFabs as DataPtr
* Revert "extracting the inds BaseFabs as DataPtr"
This reverts commit bc709d2fcaa347c119514de79a3f57169a05af65.
* implementing new way ogf handling cell extensions (gpu compatible)
* fixing some white spaces
* removed a typo
* made a function static
* tidying up
* tidying up
* getting rid of the rho vector
* moving the rho update to evolveE
* refectoring the cell extension
* small chenge in input parameters
* updating WarpX.H
* bug fix
* fixing another bug
* rotating the cube
* updated gitignore
* using the conformal soler in the cube test
* fixing the signature of a function
* trying to fix the setVal problem
* Revert "trying to fix the setVal problem"
This reverts commit c7d0e5e3709b730ff570183b2a6df5f587ca4640.
* trying to fix the setVal problem
* cleaning some comments
* removing an abort in device code
* Including geometric information in the external field initializer
* cleaned up the test
* moving the geometric data initialization before the external fields initialization
* changing way of saving info about intruded cells
* fixed some white spaces
* Using S_mod instead of S_red and S_enl
* substituting a std::vector with amrex::Array1D
* bug fix in the uint8_t -> coords maps
* Condensed ect cell info into one single MultiFab
* fixing some includes
* fixing some more includes
* fixed a typo
* making some functions available in gpu code
* using tilebox instead of validbox for the geometry initialization
* communicating the geometric info in the guard cells
* fixing the guard cells initialization for ect
* fixing an unused parameter
* fixing an unused parameter
* ignored some unused variables when EB is not supported
* cleaning up
* cleaning up
* ignored some unused variables when EB is not supported
* evolving rho just for ect
* handling some more unused variables
* removing some white spaces
* adding the rotated cube test
* removed some white spaces
* change cells into faces
* small fix in unused parameters
* fixed a comment
* for safety for now just initialize the geometric data when lev==maxLevel
* adding some preprocessor directives to isolate EB code
* updating Makefile stuff
* Improving the rotated cube test
* bug fix in mesh refinement
* fixing boundary conditions in rotated cube test
* deactivating MPI in rotated cube test
* activating mpi in test
* improving outputs of cells extension
* improved the documentation
* Update Source/EmbeddedBoundary/WarpXInitEB.cpp
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
* Update Source/EmbeddedBoundary/WarpXInitEB.cpp
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
* Removed some obsolete isnan's
* undone change to gitignore
* adding some missing AMREX_GPU_DEVICEs
* Changing some amrex::Real(0) into 0.
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Making some variables const
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Adding amrex:: to some ignore_unused
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Enhancing readability of some parallelfor's
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Removed some unecessary includes
* Fixing some tags
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Fixing the function CountExtFaces
* added a comment for Rhofield
* Fixed a typo in CountExtCells
* trying to remove accesses to private members in ComputeEdgeLengths
* making some functions public
* undoing some useless changes
* undoing some useless changes
* adding some AMREX_GPU_DEVICEs
* adding some unused variables
* adding some AMREX_GPU_DEVICEs to fix warnings
* fixing relative error
* Making several variables const
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Fixed a comment
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* changing some double to amrex::Real
* removing commented lines
* changing some double to amrex::Real
* removing commented lines
* inizialing nelems_x,y,z to avoid a warning
* Fixing number of cells
* Adding missing analysis routine in rotated cube test
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Making some variables constexpr
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
* Improving some reduce operations
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
* reading time directly from the output
* fixed a few data types
* fixing another int
* Replacing or->||, and->&&, not->!
* Adding license info
* Adding a white space
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* removed some unused imports
* Moving the doxygen documentation
* Including AMReX_LayoutData.H
* removing some useless parameters
* adding ect solver to the doc
* Removing some useless reductions
* Small change for consistency
* Handling the resizing of arrays
* Handling correctly the resing of arrays
* Fixing some whitespaces
* Fixing an indentation
* Improving a comment
* Removed a useless initialization
* Renamed Rhofield to ECTRhofield
* Renamed Rhofield to ECTRhofield
* Added some if conditions to isolate some EB related code
* Improved some comments
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Made some functions not member of WarpX anymore
* Isolated some EB-only code
* Isolated some EB-only code
* Using the square brackets to access vectors
* Ignoring some unused variables
* Bug fix in initialization
* Removed a redundant if
* Using enumeration for connectivity and improved names
* Added a comment
* added a few comments
* Removed some useless template parameters
* Printing some info only in verbose mode
* Revert "Removed some useless template parameters"
This reverts commit 2c527980e6872c0212767c27f00e2b53ecbcfd0a.
* Fixed a bug with the neighbours enumeration
* Initializing geom data alsoo in the ghost cells
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Some prelimary refactoring.
* missing header
* implement scraping particles that leave the domain boundaries into buffers
* fix tabs
* missing return
* merging
* remove redefinition
* functor to work around cuda bug.
* handle 2D
* Add support for EB buffer
* protect for AMREX_USE_EB, static_assert that EB and RZ aren't both on.
* fix unused
* add inputs file
* add test
* fix bugs, remove print
* fix test
* fix test path.
* remove no-op code
* adding clear particles method
* attempt at adding time stamp
* Use integer step number instead of physical time to timestamp particles; also put shared code into named functor.
* move call to before apply boundary conditions
* use more descriptive inputs parameter
* Update Source/Particles/ParticleBoundaryBuffer.cpp
* fix comp bug
* move CopyAndTimestamp to cpp file
* also move IsOutsideProblemDomain functor
* Rename to m_particle_boundary_buffer
- Name: currently only used for boundary scraping
- Singular: only one instance
* Fix missing EOF newline
* Typo: author
* Param Read / Init: Cleanup For
Simplify
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
By accident, the 2nd test did not use plotfile output.
|
|
|
|
This is renaming the runtime added optical depth scalars for QED
physics just to create the same names in plotfile and openPMD output.
|
|
* ChecksumAPI: yt 4+ ds.force_periodicity()
Mitigate issues of the form
```
RuntimeError: yt attempted to read outside the boundaries of a non-periodic domain along dimension 0.
Region left edge = -7.5e-06 code_length, Region right edge = 7.500000000000002e-06 code_length
Dataset left edge = -7.5e-06 code_length, Dataset right edge = 7.5e-06 code_length
This commonly happens when trying to compute ghost cells up to the domain boundary. Two possible solutions are to select a smaller region that does not border domain edge (see https://yt-project.org/docs/analyzing/objects.html?highlight=region)
or override the periodicity with
ds.force_periodicity()
```
* make yt3 compatible
|
|
* 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
|
|
* Infrastructure for interacting particles with embedded boundary walls
* remove debug prints
* protect with AMREX_USE_EB
* fix for 2D XZ
* also update level set when regridding
* rename level set to 'DistanceToEB'
* add docstring for scrape particles.
* add assertion on maxLevel() since EB does not work with mesh refinement right now.
* m_eb_if_parser no longer exists
* add test for particle aborption at embedded boundaries
* fix bug I introduced refactoring
* add new test to suite
* fix test names
* fix 2D
* rookie python error
* fix filename in test
* fix script
* fix unused
* make sure we turn EB on in test
|
|
* Add possibility to start and stop moving window
* Update Benchmark laserInjection_2d
* Update Source/Diagnostics/BTDiagnostics.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* modification of the MoveWindow function in the python interface
* False to True for move j in python function
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* 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
|
|
* 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
|
|
If `warpx.eb_implicit_function = ...` is present in input parameters, Parser
will be used to initialize EB. For example,
```
warpx.eb_implicit_function = "max(max(max(x-0.5,-0.5-x), max(y-0.5,-0.5-y)), max(z-0.5,-0.5-z))"
```
specifies a box with boundaries at x=+-0.5, y=+-0.5 and z=+-0.5 and regular
domain inside the box.
```
warpx.eb_implicit_function = "-(x**2+y**2+z**2-0.2**2)"
```
specifies a solid sphere at (0,0,0) with a radius of 0.2.
|
|
Add tests for the new BTD diagnostics, so that parallely working
developers can easier test this.
Currently covered features:
- field BTD (particles are still WIP)
- openPMD & plotfiles
|
|
|
|
* Implemented query and getArrWithParser
* Updated parameters.rst regarding expressions for multiple floats
|
|
* 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
|
|
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>
|
|
* Added staircased embedded boundaris to the YEE solver
* adding spherical resonating cavity test
* adding functions for fields initialization
* style adjustments
* fixing tabs
* fixed name of analysis script
* fixed name of analysis script
* fixed a few wrong preprocessor directives
* workaround for missing boost
* Revert "workaround for missing boost"
This reverts commit 601f9eb2ec6f8c2100304379b2bea1c6cf9d1851.
* another workaround for missing boost
* getting rid of boost by depending on c++17
* Removed a few unused variables
* adding USE_EB to addToCompileString for EB testing
* removed tabs
* fixing the inputs name for EB sphere test
* shortened the test
* zero padding the names of the images
* adjusted two for loops
* removed some unused variables
* improving the fields initialization
* removed the sphere test and implemented the cube test
* fixed edges lengths computation and added comments
* Fixed the case of all_regular geometries
* fixing a bug that was breaking some tests
* adding test folder
* fixed the default values for the EB cube test
* simplified the analysis script
* fixed cubic resonator default results
* inputting the plot file name from command line
* fixing the diag name
* Fixed a bug in edges initialization
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Adding comments to the staircased yee solver (thanks Remi)
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* fixed the cube resonator test
* removed an unused import
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* initial work to test QED+openPMD output
* work towards openPMD tests
* added checksums
* fixed bug
* fix style
* add space at end
* fixed bug
* improved analysis scripts
* remove unused import
* fix bug
* comment out checksum calculation for openPMD output
* removed checksums for opmd tests
* fix bug in handling additional real components, such as optical depths
* install also openpmd-api python module for CI tests
* fixed bug in openPMD analysis script
* install openPMD python API only if needed
|
|
* 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>
|
|
* add delay to txye laser
* add delay in test
* fix bug
* fixed bug
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* add option to pass a0 instead of e_max for the laser
e_max xor a0 must be specified
* update doc for laser a0
* a0: Update Examples
Using all options so they are tested.
* reset benchmarks (precision E0->a0)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Remove the three locations where an input file sets
`warpx.do_dynamic_scheduling=0`. This is only needed for CI
`.ini` files to ensure determinism and should not be used in
production.
|
|
* 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
|
|
* Load balance params now input as algo.
* load balance params to algo
* Backward compatibility and knapsack_factor_doc
* Update Docs/source/running_cpp/parameters.rst
* backward_strings
* picmi
|
|
* removed redundant do_qed option in inputfile
* fixed bug
|
|
* 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
|
|
* Add the possibility to disable Schwinger in part of the domain
* Update checksum benchmarks
* Only query ymin and ymax in 3D
|