Age | Commit message (Collapse) | Author | Files | Lines |
|
* Prevent NaNs in collisions between particles
* Avoid another division by 0
t# Please enter the commit message for your changes. Lines starting
|
|
* clang-tidy CI test: add selected google- checks
* address issues found with clang-tidy
* fixed bugs
* fix bugs
|
|
* add more readability checks to clang-tidy CI test
* reformat check list
* starting to address issues found with clang-tidy£
* addressing issues
* remove check
* address issues
* address all issues
* address issue found with github code scanning
|
|
* pyAMReX: Build System
* CI Updates (Changed Options)
* Callback modernization (#4)
* refactor callbacks.py
* added binding code in `pyWarpX.cpp` to add or remove keys from the callback dictionary
* minor PR cleanups
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Added Python level reference to fetch the multifabs (#3)
* pyAMReX: Build System
* Added Python level reference to Ex_aux
* Now uses the multifab map
* Fix typo
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Add initialization and finalize routines (#5)
A basic PICMI input file will now run to completion.
* Regression Tests: WarpX_PYTHON=ON
* Update Imports to nD pyAMReX
* IPO/LTO Control
Although pybind11 relies heavily on IPO/LTO to create low-latency,
small-binary bindings, some compilers will have troubles with that.
Thus, we add a compile-time option to optionally disable it when
needed.
* Fix: Link Legacy WarpXWrappers.cpp
* Wrap WarpX instance and start multi particle container
* Fix test Python_pass_mpi_comm
* Start wrapper for multiparticle container
* Add return policy
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update fields to use MultiFabs directly
Remove EOL white space
Removed old routines accessing MultiFabs
Update to use "node_centered"
* Fix compilation with Python
* Update fields.py to use modified MultiFab tag names
* Remove incorrect, unused code
* Add function to extract the WarpX MultiParticleContainer
* Complete class WarpXParticleContainer
* Wrap functions getNprocs / getMyProc
* restore `install___` callback API - could remove later if we want but should maintain backward compatibility for now
* add `gett_new` and `getistep` functions wrappers; fix typos in `callbacks.py`; avoid error in getting `rho` from `fields.py`
* Update callback call and `getNproc`/`getMyProc` function
* Replace function add_n_particles
* Fix setitem in fields.py for 1d and 2d
* also update `gett_new()` in `_libwarpx.py` in case we want to keep that API
* added binding for `WarpXParIter` - needed to port `libwarpx.depositChargeDensity()` which is an ongoing effort
* Wrap function num_real_comp
* added binding for `TotalNumberOfParticles` and continue progress on enabling 1d MCC test to run
* add `SyncRho()` binding and create helper function in `libwarpx.depositChargeDensity` to manage scope of the particle iter
* Clean up issues in fields.py
* update bindings for `get_particle_structs`
* Fix setitem in fields.py
* switch order of initialization for particle container and particle iterator
* switch deposit_charge loop to C++ code; bind `ApplyInverseVolumeScalingToChargeDensity`
* move `WarpXParticleContainer.cpp` and `MultiParticleContainer.cpp` to new Particles folder
* added binding for `ParticleBoundaryBuffer`
* More fixes for fields.py
* Fix: Backtraces from Python
Add the Python executable name with an absolute path, so backtraces
in AMReX work. See linked AMReX issue for details.
* Cleaning
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix: Backtraces from Python Part II
Do not add Python script name - it confuses the AMReX ParmParser to
build its table.
* Fix: CMake Dependencies for Wheel
This fixes a racecondition during `pip_install`: it was possible
that not all dimensions where yet build from pybind before we
start packing them in the wheel for pip install.
* MCC Test: Install Callbacks before Run
Otherwise hangs in aquiring the gil during shutdown.
* addition of `Python/pywarpx/particle_containers.py` and various associated bindings
* Fix: CMake Superbuild w/ Shared AMReX
We MUST build AMReX as a shared (so/dll/dylib) library, otherwise
all the global state in it will cause split-brain situations, where
our Python modules operate on different stacks.
* add `clear_all()` to callbacks in order to remove all callbacks at finalize
* add `-DWarpX_PYTHON=ON` to CI tests that failed to build
* add `get_comp_index` and continue to port particle data bindings
* Add AMReX Module as `libwarpx_so.amr`
Attribute to pass through the already loaded AMReX module with the
matching dimensionality to the simulation.
* Fix for fields accounting for guard cells
* Fix handling of ghost cells in fields
* Update & Test: Particle Boundary Scraping
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* CI: Python Updates
- modernize Python setups
- drop CUDA 11.0 for good and go 11.3+ as documented already
```
Error #3246: Internal Compiler Error (codegen): "there was an error in verifying the lgenfe output!"
```
* CI: Python Updates (chmod)
* Add support for cupy in fields.py
* Add MultiFab reduction routines
* CI: CUDA 11.3 is <= Ubuntu 20.04
* changed `AddNParticles` to take `amrex::Vector` arguments
* setup.py: WarpX_PYTHON=ON
* update various 2d and rz tests with new APIs
* add `-DWarpX_PYTHON_IPO=OFF` to compile string for 2d and 3d Python CI tests to speed up linking
* CI: -DpyAMReX_IPO=OFF
* CI: -DpyAMReX_IPO=OFF
actually adding `=OFF`
* CI: Intel Python
* CI: macOS Python Executable
Ensure we always use the same `python3` executable, as specified
by the `PATH` priority.
* CMake: Python Multi-Config Build
Add support for multi-config generators, especially on Windows.
* __init__.py: Windows DLL Support
Python 3.8+ on Windows: DLL search paths for dependent
shared libraries
Refs.:
- https://github.com/python/cpython/issues/80266
- https://docs.python.org/3.8/library/os.html#os.add_dll_directory
* CI: pywarpx Update
our setup.py cannot install pyamrex yet as a dependency.
* ABLASTR: `ablastr/export.H`
Add a new header to export public globals that are not covered by
`WINDOWS_EXPORT_ALL_SYMBOLS`.
https://stackoverflow.com/questions/54560832/cmake-windows-export-all-symbols-does-not-cover-global-variables/54568678#54568678
* WarpX: EXPORT Globals in `.dll` files
WarpX still uses a lot of globals:
- `static` member variables
- `extern` global variables
These globals cannot be auto-exported with CMake's
`WINDOWS_EXPORT_ALL_SYMBOLS` helper and thus we need to mark them
manually for DLL export (and import) via the new ABLASTR
`ablastr/export.H` helper macros.
This starts to export symbols in the:
- WarpX and particle container classes
- callback hook database map
- ES solver
* CI: pywarpx Clang CXXFLAGS Down
Move CXXFLAGS (`-Werror ...`) down until deps are installed.
* GNUmake: Generate `ablastr/export.H`
* CMake: More Symbol Exports for Windows
* `WarpX-tests.ini`: Simplify Python no-IPO
Also avoids subtle differences in compilation that increase
compile time.
* Update PICMI_inputs_EB_API.py for embedded_boundary_python_API CI test
* Fix Python_magnetostatic_eb_3d
* Update: Python_restart_runtime_components
New Python APIs
* Windows: no dllimport for now
* CI: Skip `PYINSTALLOPTIONS` For Now
* CMake: Dependency Bump Min-Versions
for external packages picked up by `find_package`.
* Fix F and G_fp names in fields.py
* Tests: Disable `Python_pass_mpi_comm`
* Wrappers: Cleanup
* pyWarpX: Include Cleaning
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fields.py: Fix F and G Wrappers
Correct MultiFab names (w/o components).
* Remove unused in fields.py
* Windows: New Export Headers
- ABLASTR: `ablastr/export.H`
- WarpX: `Utils/export.H`
* removed `WarpInterface.py` since that functionality is now in `particle_containers.py`; removed parts of `WarpXWrappers.cpp` that have been ported to pyamrex
* CMake: Link OBJECT Target PRIVATE
* CMake: Remove OBJECT Target
Simplify and make `app` link `lib` (default: static). Remove OBJECT
target.
* Fix in fields.py for the components index
* Update get_particle_id/cpu
As implemented in pyAMReX with
https://github.com/AMReX-Codes/pyamrex/pull/165
* WarpX: Update for Private Constructor
* Import AMReX Before pyd DLL Call
Importing AMReX will add the `add_dll_directory` to a potentially
shared amrex DLL on Windows.
* Windows CI: Set PATH to amrex_Nd.dll
* CMake: AMReX_INSTALL After Python
In superbuild, Python can modify `AMReX_BUILD_SHARED_LIBS`.
* Clang Win CI: Manually Install requirements
Sporadic error is:
```
...
Installing collected packages: pyparsing, numpy, scipy, periodictable, picmistandard
ERROR: Could not install packages due to an OSError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\hostedtoolcache\\windows\\Python\\3.11.4\\x64\\Lib\\site-packages\\numpy\\polynomial\\__init__.py'
Consider using the `--user` option or check the permissions.
```
* Hopefully final fixes to fields.py
* Update getProbLo/getProbHi
* Set plasma length strength
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Fix fields method to remove CodeQL notice
* Update Comments & Some Finalize
* Move: set_plasma_lens_strength
to MPC
---------
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
Co-authored-by: David Grote <dpgrote@lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Dave Grote <grote1@llnl.gov>
Co-authored-by: Roelof Groenewald <regroenewald@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
(#4124)
* add few readability checks to clang-tidy CI test
* address all the issues found with clang-tidy
* fix bug
* fixed bug
* fix residual issue
* fix issue found with clang-tidy
|
|
* Clang Tidy: add several modernize checks
* eliminate file included in commit by mistake
* fix bug
|
|
* init some variables at declaration
* make code more readable
* avoid lossy function result cast
* Update Source/Initialization/WarpXInitData.cpp
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
* replace with equality
* Revert "replace with equality"
This reverts commit e3164f9e053d345b153d770ae107a7f68c4bb260.
* Update Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.cpp
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
---------
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
|
|
* add clang-tidy workflow
* fix missing newline
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* make clang.14.sh executable
* remove non explicitly selected checks
* complete list of dependencies
* fix bug
* specify path of clang-tidy file
* fix bug
* add new check
* remove one check
* add magic numbers check
* removed one check
* keep only one check
* Docs: Conda Dev w/ Boost (#3911)
Add the `boost` package to the conda developer environment.
Used for QED table generation.
* Fix typo in Adastra cluster documentation (#3918)
* add back three checks
* prepare clang-tidy wrapper
* actually use clang-tidy in the script
* test
* fix bug
* actually use clang-tidy
* fixed bug
* fixed bug
* fixed bug
* fixed bug
* remove all checks except the selected 3
* fixed bug
* fixed bug
* fixed bug
* enforce const correctness using clang-tidy
* remove one check
* Fix Concurrency Issue
* BLAS++/LAPACK++ for RZ+PSATD
* Build all 4 WarpX DIMS
* add few echo for test purposes
* try to debug mysterious error
* don't test RZ with clang-tidy
* add back RZ test
* add some const
* fix bug
* check also header files
* remove header filter since it does not work as expected
* fixed bug
* check also WarpX headers
* fix bugs
* continue enforcing const correctness
* continue enforcing const correctness
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixed bug
* fix bugs and add new const
* clean .clang-tidy
* make regex more precise according to Weiqun's suggestion
* add more const
* fix bugs
* fix bug
* silence warning on float comparison
* fixed bug
* fixed bugs
* fix bug and add const
* fixed bugs
* fix bug
* fix bug
* fix bug
* fixed bug
* fix bug
|
|
* replace amrex::Abort with WarpX macros
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* adding back missing include
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* bump precision
|
|
* revert b0 calculation and add comment
* Add More References
|
|
* Multi-Dim Buildsystem Support
* Docs
|
|
|
|
* use_powi
* fix bug
* fix bug
* fix bug
* fix bug
|
|
* Allow DD fusion products to be tritium + protium
For deuterium-deuterium (DD) fusion there are two branches:
| He-3 + n (neutronic branch, 50% probability)
d + d -> <
| t + p (anneutronic branch, 50% probability)
Currently in Warpx anneutronic DD fusion only works when the species of
the fusion products are tritium (or hydrogen3) and proton. If protium
(or hydrogen1) are specified instead of proton, the simulation aborts
with the following error message:
amrex::Abort::0::ERROR: Product species of proton-boron fusion must be of type helium3 and neutron, or tritium and proton !!!
The proposed diff allows anneutronic DD fusion to produce either protium
/ hydrogen1 or proton. It also corrects the error message.
* Shows that DD fusion cannot produce protium
Input deck that demonstrates how anneutronic DD fusion in the
development branch cannot produce protium, only proton.
Some options of the anneutronic DD branch:
1) tritium + proton (currently the only option)
2) tritium + protium (added in this branch)
3) triton + proton (another alternative)
Option 1) seems inconsistent (why include the electron mass in one
fusion product species but not in the other?). Option 2) is enabled
by the diff in this branch. Option 3) would require adding a triton
species (and deuteron and helion species for consistency).
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove test file
---------
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>
|
|
|
|
|
|
|
|
* 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>
|
|
* Fix comments for documentation
* More fixes to comments for documentation
* Fixes in the doc files
* Fix typo in parameters.rst
|
|
* Implement D+D -> n+He3 fusion
* Fix logic for fusion reaction
* Check products in a different place
* Correct compilation error
* Implement D+D -> T+p cross-section
* Update example
* Use clearer naming convention for fusion types
* Revert changes to example input script
* Add analysis script
* Progress on tests
* Use 2 species in test
* Correct momentum of colliding species
* Update test
* Update test
* Generalize species names in fusion tests
* Update benchmarks
* Correct typo
* Updated scripts
* Update script so that it works for D+T and D+D
* Update CI
* Add benchmark file
* Correct typo
* Fix compilation on GPU
* Update RZ CI test
* Implement Deuterium-Helium reaction
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* Added error checks of the user input
* Fixed literals and const's
|
|
* initial work to clean WarpX Utils
* remove AMRCore from Ionization tables
* progress
* refactoring of a part of the utils directory
* fix bug
* fixed bug
* fixed bug
* remove debug line accidentally slipped into the code
* remove debug line accidentally slipped into the code
* remove debug line accidentally slipped into the code
* cleaning
* fixed bug
|
|
|
|
* Add particle rotation in NuclearFusionFunc.H
* Minor
* indent
* initial work
* fixed bugs and added species
* update documentation
* delete unused file
* Add properties for neutron, hydrogen isotopes, helium isotopes
* Update code to be more consistent
* Correct typo
* Parse deuterium-tritium fusion
* Start putting in place the files for deuterium-tritium
* Update documentation
* Prepare structures for deuterium tritium
* Fix typo
* Fix compilation
* Add neutron
* Add correct formula for the cross-section
* Correct compilation error
* Fix nuclear fusion
* Reset benchmarks
* Prepare creation functor for 2-product fusion
* First implementation of momentum initialization
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Use utility function for fusion
* Minor modification of variable names
* Fix GPU compilation
* Fix single precision compilation
* Update types
* Use util function in P-B fusion
* Correct compilation errors
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Correct errors
* Update values of mass and charge
* Correct compilation error
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Correct compilation error
* Correct compilation error
* Correct compilation error
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Reset benchmark
* Use helium particle in proton-boron, to avoid resetting benchmark
* Fixed proton-boron test
* Revert "Fixed proton-boron test"
This reverts commit 73c8d9d0be8417d5cd08a23daeebbc322c984808.
* Incorporate Neil's recommendations
* Reset benchmarks
* Correct compilation errors
* Add new deuterium tritium automated test
* Correct formula of cross-section
* Correct cross-section
* Improve analysis script
* Add test of energy conservation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add test of conservation of momentum
* Progress in analysis script
* Fix error in the initial energy of the deuterium particles
* Add check of isotropy
* Clean up the test script
* Rewrite p_sq formula in a way to avoids machine-precision negative numbers
* Add checksum
* Clean up code
* Add test for fusion in RZ geometry
* Update code to take into account actual timestep
* Update RZ test
* Update RZ test
* Increase number of particles
* Impart radial memory on DT particles
* Correct RZ momenta
* Remove unused file
* Update test
* Fix definition of theta
* Add new test
* Add checksum
* Update test
* Update tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix Python analysis script
* Remove CPU and ID from new benchmark
Co-authored-by: Yinjian Zhao <yinjianzhao@lbl.gov>
Co-authored-by: Luca Fedeli <luca.fedeli@cea.fr>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* remove some magic numbers
* fixed unreachable code issue
* fixed issue with unreachable code
* fixed issue with unreachable code
* remove type traits
* revert one change in Gaussian Laser
* improved ParticleExtrema
* fix bug
|
|
* Use ParticleReal consistently in GetExternalFields
* Use ParticleReal in Collision code
* Use ParticleReal in Algorithms/KineticEnergy.H
* Fix _prt in Algorithms/KineticEnergy.H
|
|
* initial work
* fixed bugs and added species
* update documentation
* delete unused file
* Add properties for neutron, hydrogen isotopes, helium isotopes
* Update code to be more consistent
* Correct typo
* Parse deuterium-tritium fusion
* Start putting in place the files for deuterium-tritium
* Update documentation
* Prepare structures for deuterium tritium
* Fix typo
* Fix compilation
* Add neutron
* Add correct formula for the cross-section
* Correct compilation error
* Fix nuclear fusion
* Reset benchmarks
* Prepare creation functor for 2-product fusion
* First implementation of momentum initialization
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Use utility function for fusion
* Minor modification of variable names
* Fix GPU compilation
* Fix single precision compilation
* Update types
* Use util function in P-B fusion
* Correct compilation errors
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Correct errors
* Update values of mass and charge
* Correct compilation error
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Correct compilation error
* Correct compilation error
* Correct compilation error
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Reset benchmark
* Use helium particle in proton-boron, to avoid resetting benchmark
* Fixed proton-boron test
* Revert "Fixed proton-boron test"
This reverts commit 73c8d9d0be8417d5cd08a23daeebbc322c984808.
* Incorporate Neil's recommendations
* Reset benchmarks
* Correct compilation errors
* Add new deuterium tritium automated test
* Correct formula of cross-section
* Correct cross-section
* Improve analysis script
* Add test of energy conservation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add test of conservation of momentum
* Progress in analysis script
* Fix error in the initial energy of the deuterium particles
* Add check of isotropy
* Clean up the test script
* Rewrite p_sq formula in a way to avoids machine-precision negative numbers
* Add checksum
* Clean up code
* Apply suggestions from code review
* Update PR according to comments
* Update benchmark
* Address additional comments
* Numerical Literals
Co-authored-by: Luca Fedeli <luca.fedeli@cea.fr>
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
|
|
* Refactor code in fusion module to avoid machine-precision issues
* Update formula
|
|
SpeciesPhysicalProperties file) (#3090)
* initial work
* fixed bugs and added species
* update documentation
* delete unused file
* Add neutron
* Fix nuclear fusion
* Reset benchmarks
* Update values of mass and charge
* Correct compilation error
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Extract function for fusion reaction between 2 particles
* Extract function for two-particle momenta in fusion reaction
* Apply suggestions from code review
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Remove obsolete comment
* Update Source/Particles/Collision/BinaryCollision/NuclearFusion/TwoProductFusionUtil.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* initial commit for MCC to support relativistic particles
* proper calculation of collision energy when target mass is not much greater than projectile mass
* fix bug with scattered velocity rotation to lab frame
* refactor the MCC sequence for clarity
* use cross-section input to determine energy limits when calculating the maximum collision frequency
* code cleanup
* updated CI tests
* added Collisions section to Implementation Details in docs
* reset benchmark for mixed precision MCC test and other more code cleanup
* fix issue with single precision and simplified implementation
* use `double` for particle mass and energy calculations in MCC
* added comment to ImpactIonization.H explaining why `double`s are used for `energy` and `mass`
* switch to round off safe version of energy calculation and switched to using u instead of v for gamma*v in ParticleUtils.H
* update documentation
* simplified expression for collision energy, updated docs
* Add comment that the direct solver can be replaced for the MLMG solver once the issue with that solver is fixed (in the 1d MCC test)
|
|
* 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>
|
|
* Nuclear fusion: remove underflow warning in single precision
* Explicitly set underflowing constexprs as double
* Also set alpha and beryllium masses as doubles
|
|
* Clean up the use of ndt for collisions
* Update BackgroundStopping to match changes
|
|
|
|
* Added BackgroundStopping
* Added BackgroundStopping CI test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* For background stopping, allowed parsed background density and temperature
* Updated background stopping CI test
* For background stopping, temperature is specified in Kelvin
* Added documentation for background stopping
* Added ion stopping plus other fixes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Made dt level dependent
* Revert "Made dt level dependent"
This reverts commit 1aed9654d24ff1411a7b5fd8558891e0688f0032.
The collisions should be done using the time step of the lowest level.
* Add a comment about dt
* Add const declaration
* Added comment regarding stopped particle
* Several fixes and clean up of the documentation
* Update CI benchmark
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* initial work to add msg formatter
* wip
* replace AMREX_ALWAYS_ASSERT_WITH_MESSAGE with WarpX equivalent
|
|
|
|
time (#2881)
* allow background density and temperature to be function of space and time for MCC
* properly get particle positions during ionization events
* update documentation
* added sanity checks for background density and temperature
|
|
`const`-ifying and `restrict`-ing pointers to index arrays
for binary collision routines.
This should allow the compiler to do more optimizations.
|
|
|
|
* Fixes removing implicit double to float conversions
* Minor fix in Evolve
* Removed comments
* Reverted amrex::second to original version.
This change will be made in a separate PR
* More fixes
* Performance: pow2 & pow3
* One more pow2
* Cleaning: auto where types are repetitive
std::pow(float, int): see comments and
https://stackoverflow.com/a/5627278/2719194
|
|
|
|
|
|
* Doxygen: Fix Diags, FieldSolver, Parallelization & Particles
* Apply suggestions: Remi
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Apply suggestions: Roelof
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
* Apply suggestions: Luca
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
* Apply suggestions: Edoardo
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Apply suggestions: Andrew
* Apply suggestions: Edoardo
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Apply suggestions: Neil
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Apply suggestions: Roelof
* Apply suggestions: Weiqun
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
|
|
* Add high energy asymptotic fit for Proton Boron total cross section
* Write keV and MeV instead of kev and mev
* Add @return doxystrings
|
|
* AMREX_SPACEDIM : Boundary Conditions
* AMREX_SPACEDIM : Parallelization
* Fix compilation
* AMREX_SPACEDIM : Initialization
* Fix Typo
* space
* AMREX_SPACEDIM : Particles
|
|
* 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>
|
|
* Proton-boron fusion: initialize alphas momentum assuming isotropy
* Remove constexpr underflow in single precision
* Update Source/Particles/Collision/BinaryCollision/ProtonBoronFusionInitializeMomentum.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Timers) (#2584)
|