Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
* Add Python routine set_potential_EB to modify eb_potential
* Add CI test
|
|
* Removed the guard cells since they are not needed for the tridiag
* Clean up the copy into the 1d array
* For the upper boundary, use explicit indices instead of temporaries to make the code more clear
|
|
After the tri-diagonal solve, the data in the special single-box MultiFab
need to be copied back to the normal MultiFab. However, when there was a
bug for periodic boundary. The issue is the special MultiFab is really
special. It has a nodal Box that grows the original nodal Box by 1 node in
the lower boundary and 2 (why 2?) nodes in the upper boundary and these
grown nodes are considered valid nodes, even though they do not have valid
data. Therefore amrex::ParallelCopy with periodicity does not work in this
case. For example, for a domain with 96 cells, the data at nodes 1 and 2 of
the normal MultiFab could be written with the invalid data at nodes 97 and
98 of the special MultiFab. This bug is fixed by replacing it with a
ParallelCopy without periodicity followed by a FillBoundary.
|
|
* Initial working Magnetostatic solver integration into warpx. Includes hooks in Python library, and a test problem. Build files updates. New solver algorithm and inputs.
* Fixed indexing to allow Magnetostatic solver to work in RZ and 3D.
* Removing trailing whitespace.
* Adding basic regression testing with benchmarks.
* Updated Regression test ini
* Augmented test scripts to compare to analytical results for uniform beam.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Updating CI tests for magnetostatic solver.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Updated magnetostatic CI tests to pass locally in regression testing framework.
* Adjusting tolerance on magnetostatic_rz regression test to allow for noise in near zero fields.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Converted particle layout to Gridded instead of PsedupRandom to improve reproducibility of particle deposition for regression testing.
* Dropped benchmark field comparisons with fields near zero. Dropped particle benchmark for magnetostatic_eb_rz regression test due to randomized particle theta adding noise to fields after a timestep.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Found and fixed a bug in syncronization of MultiFabs when interpolating between grids in the magnetostatic solver. Added Python output for nodal current and vector potential. Updated the CI tests to disable dynamic scheduling and enbale serialization of initial conditions. Updated benchmarks fro tests.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Adding random_theta flag to PICMI interface and updating RZ CI test and benchmark with change to disable randomized theta.
* Added documentation to parameters.rst for relativistic-magnetostatic flag. Documentation corrections. Removal of commented source.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Removing need to use do_current_centering. Updated current density inverse scaling support for nodal Jr in radius. Added flag to check for m_rz_random_theta when laying down particles in RZ.
* Remove dA/dt term to decouple electrostatic and magnetostatic solvers.
* Remove update of auxiliary fields
* Adding non-Python test case for magnetostatic solver. Updating benchmarks.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Python/pywarpx/_libwarpx.py
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Python/pywarpx/_libwarpx.py
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Python/pywarpx/_libwarpx.py
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Python/pywarpx/_libwarpx.py
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/Diagnostics/Diagnostics.cpp
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/Evolve/WarpXEvolve.cpp
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.H
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Refactor names of functions for magnetostatic solver implementation. Remove current_fp_nodal python interface. Drop extraneous ghost cell exchanges.
* Adding radial weighting at r=0 for Jr if nodal.
* Splitting off Amrex bucket and adjustments to RZ radial weighting into different branches to be merged.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Switch name to labfame-electromagnetostatic
* Update example scripts
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>
|
|
|
|
* Fix comments for documentation
* More fixes to comments for documentation
* Fixes in the doc files
* Fix typo in parameters.rst
|
|
* Refactor update of auxiliary data for electrostatic solver
* [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>
|
|
* 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>
|
|
* Implement First-Order PSATD Equations
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix Unused Parameter Warning
* Fix RZ Build
* Fix Normalization of G to Match PML
* Add CI Test: 3D Uniform Plasma
* Cleaning
* Update 2D CI Checksums
* Update 3D CI Checksums
* Add F,G to CI Checksums of `uniform_plasma_multiJ`
* Allow User to Choose First-Order v. Second-Order
* Add WARPX_ALWAYS_ASSERT_WITH_MESSAGE
* Rename New Class `PsatdAlgorithmFirstOrder`
* Remove Inline Comment
* Update RZ CI Checksums
* Fix inline comment
* Use auxiliary variables to avoid divisions
* Use auxiliary variables to avoid divisions
* Make `nci_psatd_stability` dir and merge inputs
* Move all Galilean tests to `nci_psatd_stability`
* Fix CI
* Fix index for backward FFT of J
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
|
|
* Vay Deposition: Filter D, Exchange Guard Cells of J
* Improve Inline Comment
|
|
* 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>
|
|
* Replace "none" BC with Neumann for electrostatic
* Added checking for Neumann boundaries
* Updated documentation regarding Neumann BCs
* [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>
|
|
* 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
|
|
* Added tridiag solve for 1D
* Added tridiag solver to WarpX.H
* Updated PICMI_inputs_1d.py to use float64
This was done so that it will compare to the tridiag to machine
precision
* Updated 1D capacitive_discharge test, adding pythonsolver flag
* Update capacitive_discharge analysis_1d.py file with updated reference data
* Add periodic boundary conditions, plus other fixes
* Added CI test Python_background_mcc_1d_tridiag
* Fix for parallel
* Fixed CI test file prefix for PICMI_inputs_1d.py
* Fixed comments
|
|
* Rename PsatdAlgorithm as PsatdAlgorithmJConstantInTime
* Add New Inputs: psatd.J_in_time, psatd.rho_in_time
* Update PSATD Classes
* Fix Bug for FDTD Build
* Fix Warning for RZ PSATD Build
* Fix Multi-J Loop w/ J Constant in Time
* Clean up
* Fix Error Message
* Fix Time of Charge Deposition for Rho Linear
* Add 3D Langmuir CI Tests w/ Multi-J Algo
* Fix Checksums of New CI Tests
* Remove Extra CI Tests (added in #3363)
* Fix CI Tests w/ Multi-J PSATD
* Add Docs for New Input Parameters
* Galilean/Comoving PSATD Not Compatible w/ J Linear
|
|
* Use gemm on GPU for Hankel transform
* Add stream synchronization
* Add `amrex`
* blas::gemm call: add `queue` with device id
* CMake: BLAS++ Missing Deps
* Update installation instructions for Summit
* CMake: BLAS++ should not need curand
* Add paths to blaspp/lapackpp
* Move Queue Constructor to Constructor
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Correct name of profiled area
* Use gemm for inverse Hankel transform
* Add missing comma
* Clean up the code so that it compiles for CPU
* Clean up code ; update documentation
* Update Comment
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Tools/machines/summit-olcf/summit_warpx.profile.example
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Add stream synchronization
* Switch to streamsynchronize
* Update comments
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Fix Bugs w/ Current Correction and Vay Deposition
* Vay Deposition and Current Correction Cannot be Combined Together
* Add Comment for Future Implementation of Vay Deposition w/ MR
* Add Comment for Future Implementation of Vay Deposition w/ MR
* Define SyncCurrentAndRho, Clean Up
* Vay Deposition: Remove Extra FFT of Rho
* Fix Bug in RZ Geometry (Double Filtering)
* Add 2D Galilean Test w/o Periodic Single Box
* Add RZ Galilean Test w/o Periodic Single Box
* Add 3D Galilean Test w/o Periodic Single Box
|
|
* Rearrange in preparation for lifting do_not_deposit higher in the call stack
* Make do_not_deposit public, so callers can test on it
* Make all DepositCharge call sites respect WarpXParticleContainer::do_not_deposit
* Drop check for do_not_deposit in DepositCharge
* Fix comment to accurately describe np_to_depose
* Fix logic to account for other logic in AddSpaceChargeField
* Match zero charge density array to filled array in RZ PSATD case
* Structure control flow per @dpgrote's preference
* Reword comment for clarity
|
|
* Fill Guard Cells of Fields and Currents Independently
* Fill Guard Cells of Averaged Fields as Regular Fields
|
|
* `SyncCurrent`: Pass References To Current MultiFabs
* Add Doxygen for `SyncCurrent`
|
|
* Starting with the pusher, consistently use ParticleReal
* Update benchmarks for background_mcc_dp_psp
|
|
amrex::Array4 is a 4D array that can be accessed with three spatial indices
plus an optional component index. We must always provide all three spatial
indices even in 2D.
|
|
Update the Poisson Solver API to be more usable. Needed for ImpactX.
|
|
* ABLASTR: Compute Phi
Expose the computation of the electro-static potential for
relativistic beams via ABLASTR for ImpactX.
* Add `ablastr::fields::computePhi`
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Cleanup: Old Comments
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Move: WarpXCommUtils to ABLASTR
* Update Usage Locations
* Refactor: `WarpX::do_single_precision_comms`
Do not use a global from WarpX in ABLASTR routines.
|
|
* Implement Cumulative Sum
* Implement Subtraction of Average
* Fix Bug, Remove Abort w/ Periodic Single Box
* Enforce Consistency w/ Periodic Single Box
* Cleaning
* Cleaning
* Fix Bugs
* Cleaning
* Compute Cumulative Sums Before Sync
* Always Loop Over Full Boxes
* MFIter without Tiling
* Cleaning
* Do Not Store Cumulative Sums
* Add Two-Particle Test (3D)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Set 3D Velocity in CI Test
* Precompute Normalization Factors
* Add Two-Particle Test (2D)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* 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>
|
|
(#3117)
* use formatted error messages
* fixed bug
* fixed bug
* fixed bugs
* fixed bug
|
|
|
|
* Simplify the function computePhi
* Allow to compile RZ without EB
* Allow to compile RZ without EB
* Deactivate semi-coarsening when both EB and RZ are used
* Update Source/FieldSolver/ElectrostaticSolver.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
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>
|
|
|
|
* fix miscellaneous issues found with clang tidy
* fix miscellaneous issues found with clang tidy
* moved default constructors and destructors to header
* fix issue
* Use default again
|
|
* AMReX: 22.05
* PICSAR: 22.05
* WarpX: 22.05
* Fix issue with RZ electrostatic solver
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
|
|
* Semicoarsening in electrostatic solvers
Enable semicoarsening in electrostatic solvers if the problem is anisotropic
due to relativistic beam and/or anisotropic cell spacing.
* Update relativistic_space_charge_initialization benchmark
|
|
* Refactoring: More General Interfaces (J, rho)
* Refactoring: More General Interfaces (E, B)
* Refactoring: More General Interfaces (rho)
* Fix const Correctness
* Fix const Correctness (continued)
* Fix Bugs
* Refactoring: More General Interfaces (averaged E, averaged B)
|
|
* Cleaned up handling of v_galilean
* Missed one
* Update Source/WarpX.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/WarpX.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/WarpX.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/PhotonParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/FieldSolver/WarpXPushFieldsEM.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/WarpXParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/WarpXParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Diagnostics/ReducedDiags/ParticleExtrema.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Utils/WarpXUtil.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/RigidInjectedParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/ElementaryProcess/QEDPhotonEmission.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/ElementaryProcess/QEDPairGeneration.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/ElementaryProcess/Ionization.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/FieldSolver/WarpXPushFieldsEM.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* More cleanup
* Reset Galilean Benchmarks
* For mirrors, now include the Galilean shift
* Removed the flag since it is true for all calls
* Fix Source/FieldSolver/SpectralSolver/SpectralFieldDataRZ.cpp
* Update Source/WarpX.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|
|
* Refactoring
* Separate Arrays (Fine Patch)
* Add Aborts w/ Current Centering, MR
* Cleaning
* [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>
|
|
* Hybrid Algorithms: Add FDTD Support for Centering
* Current Centering Incompatible with Esirkepov Deposition
* Remove FDTD v. PSATD Runtime Conditions
* Add CI Test
* Rename coefs as coeffs in getFornbergStencilCoefficients
* amrex::Vector: Use at() Instead of Operator []
* Reset Benchmark
* Reset Benchmark
* Cleaning
* Reduce Size of New CI Test
* Reset Benchmark
* Fix Bug
|
|
* 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
|