Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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>
|
|
* use same finite difference algo as for Yee with hybrid-PIC to calculate divE
* add `divE` and `divB` to field diagnostic in picmi.py
|
|
(#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>
|
|
* Clean up of MultiFab tagging
* Use [level=level] for the tag
|
|
* add bugprone-branch-clone to clang-tidy CI test
* Updating Inline Comments
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
solver (#4034)
* explicitly check field `IndexType` appropriateness when using hybrid-PIC solver
* fix typo
|
|
* 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
|
|
* 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`
* start of hybrid solver logic
* changes requested during PR review
* remove `do_no_deposit` from tests without field evolution
* added `HybridSolveE.cpp`
* bulk of the hybrid solver implementation
* mostly reproduce 1d cold ion mirror results
* ion Bernstein modes reproduced with this version
* fix bug with reduced diagnostic FieldProbe in 1d
* added hybrid solver installation to PICMI and added example script generating ion-Bernstein modes
* enable the use of `FieldProbe` default parameter values
* use default field-probe values
* steady progress
* add `do_not_push` flag to picmi
* possibly use nodal fields
* added extra multifab for current calculated from curl B
* added `CalculateTotalCurrent` functions
* rewrote implementation to calculate J x curl B on a nodal grid first
* fill boundary for auxiliary MFs used during hybrid E solve
* properly handle nonzero resistivity
* updated hybrid model example
* clean up example scripts
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixed invalid memory access for GPU and other code cleanups
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* refinements on the example scripts
* added ion beam instability example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added EM modes and ion beam examples to CI test suite
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* started docs section on the hybrid model
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* more progress on documentation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added ion Landau damping verification test / example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add checksum benchmark for Landau damping example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added fields.py wrapper to access total current density in hybrid case
* refactored the charge deposition fix to be performed with the field data rather than individual particles
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* also correct current density at PEC boundary
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* made resistivity a parsed function of `rho`
* work on PEC boundary condition
* corrections pointed out during code review
* fix build fails due to unused variables
* fix issue with GPU builds
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* actually apply rho boundary correction in EM case
* take one sided derivative at PEC boundary when calculating div Pe
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* actually apply rho boundary correction in EM case
* removed specific treatment of E-field on PEC boundary for Ohm's law solver
* first round of CI fixes
* second round of CI fixes
* added description of deposition logic with PEC boundaries to documentation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* third round of CI fixing
* move J and rho boundary handling to after `SyncRho` and `SyncCurrent` calls
* properly order the application of boundary conditions on rho, for electrostatic simulations
* fourth round of CI fixing
* moved calculation of total current (Ampere's law) to seperate function
* add random seed specification to `picmi`
* code clean-up -> renamed hybrid model to hybrid-PIC model
* added magnetic reconnection example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* code cleanup & benchmark updates
* update PICMI class name for hybrid solver to `HybridPICSolver`
* don't apply J field boundary in
* don't apply J field boundary in `MultiParticleContainer::DepositCurrent`
* apply changes requested during code review
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Loosen tolerance on failing CI test
* Removed unused variable
* code cleanup: make use of `MultiParticleContainer::DepositCurrent` in `AddSpaceChargeFieldLabFrame`
* switch to using a rho_fp_temp multifab for old and averaged charge density field, also no longer require particles to move only one cell per step
* use `ablastr::coarsen::sample` namespace in `HybridPICSolveECartesian`
* switched to using `MultiFab::LinComb` instead of self written GPU kernels to calculated averaged or extrapolated current density
* add verbosity flag for the Ohm solver tests
* deal with fine versus coarse patches
* add theoretical instability growth / damping rates to hybrid-PIC examples
* update ion-Bernstein mode plot in documentation
* move the `ApplyRhofieldBoundary` call to after `SumBoundary`
* use a uniform calculation for the number of cells a given index is from the boundary
* remove unused variable
* limit number of ghost cells updated during PEC BC application
* the number of ghost cells to consider depends on whether the field is nodal or not
* attempt 1 to fix failing CI tests
* attempt 2 to fix failing CI tests and code cleanup
* attempt 3 to fix failing CI tests
* attempt 4 to fix failing CI tests and docs cleanup
* switched to using bibtex citations
* move hybrid solver input parameters documentation to its own section
* clean up ion beam instability analysis script
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* add inline comments describing the meaning of each argument for the `amrex::MultiFab::LinComb` calls used
* make `HybridPICSolver` a child class of `picmistandard.base._ClassWithInit`
* apply changes requested during code review
* add warning about using hybrid-PIC solver with Esirkepov current deposition
* add Stanier 2020 reference to recommend linear particles with hybrid-PIC
* add call to FillBoundary for `current_fp` - needed for accurate interpolation to nodal grid
* changes requested from code review
* Apply suggestions from code review
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* include physics accuracy check for ion beam instability; switch CI tests to use direct current deposition
* reset benchmark values after switching to direct current deposition
* update ion beam instability benchmark
* minor changes requested during code review
* remove guard cells for `enE_nodal_mf` as well as corresponding `FillBoundary` call
* refactor: moved hybrid-PIC specific multifabs and `CalculateElectronPressure()` to `HybridPICModel`
* add assert that load balancing is not used with the hybrid-PIC solver since the new multifabs are not yet properly redistributed
* move `CalculateCurrentAmpere` to `HybridPICModel`
* refactor: moved `HybridPICSolveE` to `HybridPICModel` class
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* 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
|
|
* Multi-Dim Buildsystem Support
* Docs
|
|
|
|
amrex::Abort(Utils::TextMsg::Err("msg")) (#3879)
* use WARPX_ABORT_WITH_MSG instead of amrex::Abort(Utils::TextMsg::Err(msg)) [WIP]
* use WARPX_ABORT_WITH_MESSAGE
* fix typo
* fix missing parenthesis
* remove spaces to prevent automatic text wrapping
* remove wrong parenthesis
|
|
* Introduce `warpx.grid_type` parameter
* Replace `or` with `||`
* Update examples with new user input syntax
* Fix `if` condition
* Improve error message
* Fix `if` condition
* Fix bugs
* Fix warning
* Fix RZ
* Debugging
* Fix RZ
* Fix bug
* Clean up
* More changes:
- set default algo parameters with hybrid grid
- all hybrid input parameters under warpx name
* Set default field gathering algo for hybrid grids
* Update documentation
|
|
|
|
* Fix Silver-Mueller boundary condition in 1D
* Use WARPX_ZINDEX
* Add automated test
* Add benchmark
|
|
|
|
* Fix condition to update PML in 2D
* Add automated test: PML with EB compiled
* Pass correct cell sizes
* Update automated test
* Update benchmark
|
|
* Fix comments for documentation
* More fixes to comments for documentation
* Fixes in the doc files
* Fix typo in parameters.rst
|
|
* ABLASTR: Coarsen Functions
Move coarsen functions to ABLASTR.
Rename by property of the coarsening function.
* Remove unused imports
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* 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>
|
|
* Fix stair-case solver in 2D Cartesian
* Generalization for the macroscropic solver
* Update automated test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update benchmark
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* 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
|
|
* initial work to move the Warning Logger into ablastr
* progress with warn manager class
* moved Warning Logger in ablastr
* fixed bugs
* Fix: `SpectralFieldDataRZ.cpp`
Missing include for `WarpX::getCosts(lev);`
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
* use WARPX_ALWAYS_ASSERT_WITH_MESSAGE instead of Abort()
* fix bug
* Update Source/WarpX.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* use more uniform text formatting
* fixed bug
* fixed bug
* using Utils::TextMsg in more files
* fixed bug
* use Utils::TextMsg in more files
* fixed bug
* use Utils::TextMsg in more files
* fixed last merge conflict
* fixed bug
* fix indentation
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* RZ: Use WarpX::ncomps more consistently
We used `2*modes - 1` in many places, which is harder to follow then
the variable we have.
* Update Comments
* Replace leftover `ncomp` -> `m_ncomps`
|
|
* initial work to add msg formatter
* wip
* replace AMREX_ALWAYS_ASSERT_WITH_MESSAGE with WarpX equivalent
|
|
approximation) (#2899)
* Macroscopic Maxwell solver: do not update fields in EB
* Correct unused variable
* Add test with macroscopic solver
* Add automated test
|
|
|
|
|
|
* 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
|
|
* Fixed computation of ECT Rho
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Adding a missing preprocessor directive
* Updated contributors list
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Fixed an abort message
* Fix in Source/Initialization/WarpXInitData.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Added some comments
* Made EvolveRhoCartesianECT not static
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* Fixing the staircase consistency
* Removed the face_areas multifabs everywhere they're not needed
* Bug fix
* More fixes
* Another fix
* Another fix
* Initialize areas anyways for the initialization
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Adding EB to PMLs
* Fix to guard cells
* Initializing EB data only if AMREX_USE_EB
* Not compiling at all EB initialization when EB is off
* Bug fix (wrong order of PML init arguments)
|
|
* AMREX_SPACEDIM : Boundary Conditions
* AMREX_SPACEDIM : Parallelization
* Fix compilation
* AMREX_SPACEDIM : Initialization
* Fix Typo
* space
* AMREX_SPACEDIM : Particles
* AMREX_SPACEDIM : Evolve and FieldSolver
|
|
* 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>
|
|
* Cell Center Macroscopic Properties
* Commit Suggestions from PR Review
* Fix Error for 2D
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.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>
|
|
* 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
|
|
* PSATD with div(B) Cleaning: Change Normalization of G
* Use New Normalization also in RZ
* Use New Normalization also in FDTD
* Reset Benchmark of Test divb_cleaning_3d
|
|
* improve error msg
* eliminate final dot
* initial layout of the main classes
* progress
* progress with warnings
* print local errors
* progress with warning logger
* improved MsgLogger
* added file to test warnings
* added method to read debug warnings from inputfile
* progress towards collective gather of warnings
* add missing blank line in warning message
* move misplaced file
* refactoring
* fixed bugs
* progress
* fixed bugs
* fixed some bugs
* it finally works!
* add comments in WarpX.H
* add missing comment
* added comments to WarpX.cpp
* add profiler to WarpX.cpp
* expose option to enable 'warn immediately' feature in cmake
* Add comment to main.cpp
* add missing comment in WarpX.cpp
* add copyright and include guards to WarnManager_fwd.H
* cleaning and added comments to WarnManager.H
* updated test
* added fwd file for MsgLogger
* cleaning
* Added copyright in WarnManager.cpp
* Cleaning
* cleaning
* Add missing copyright
* cleaning
* clean and add comments to MsgLoggerSerialization.H
* cleaning MsgLogger_fwd.H
* cleaning
* continue cleaning MsgLogger
* added comments & bugfixing
* removed test file
* fixed bugs
* Update Source/Utils/MsgLogger/MsgLogger.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/WarpX.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLogger.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLogger.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLogger.cpp
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLoggerSerialization.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLoggerSerialization.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLoggerSerialization.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLoggerSerialization.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/MsgLogger/MsgLoggerSerialization.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/WarnManager.cpp
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/WarnManager.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/WarnManager.H
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Utils/WarnManager.cpp
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* fixed bugs
* Update Source/Utils/MsgLogger/MsgLogger.cpp
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Added comment to explain rotation
* use last value computed by partial_sum
* fix bug
* now use error stream
* using anonymous namespace for helper functions
* print on both stderr and stdout
* now using runtime parameter to always print warnings
* added documentation
* using long int for counter
* sort affected warnings list
* add doc entry
* removed doc
* added documentation
* fixed bug
* fixed bug
* removing unnecessary text
* reformatting
* reformatting
* fixed bug
* fixed bug
* correction
* add warning_logger.rst to toctree in developers.rst
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
|
|
* interpolate mu to B-location when computing H
* add comments
* modify comment to reflect interpolation
* eol
* add struct to compute macroparameters at x,y,z, and util function to compute cellcoordinates
* fix eol
* remove unused variables, multifabs, and initialization of macro multifabs
* host device function
* fix typo
* doxygen comments
|
|
* 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>
|
|
* Fix: Missing Include Guards (FWD)
All header files need include guards to avoid double definitons.
* Fix copy-paste guard
|
|
directions (#2220)
* Apply Silver-Mueller boundary only in requested direction
* Include a test with independent Silver-Mueller boundary conditions
* Correct typo in implementation
|
|
|