aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-02-21Fix Silver-Mueller boundary condition in 1D (#3703)Gravatar Remi Lehe 1-5/+2
* Fix Silver-Mueller boundary condition in 1D * Use WARPX_ZINDEX * Add automated test * Add benchmark
2023-02-03fix some issues in WarpX 1D (#3671)Gravatar Luca Fedeli 1-10/+18
2023-01-24Fix bug with PML in 2D when compiling with EB (#3637)Gravatar Remi Lehe 1-2/+8
* Fix condition to update PML in 2D * Add automated test: PML with EB compiled * Pass correct cell sizes * Update automated test * Update benchmark
2023-01-13EB potential python interface (#3624)Gravatar David Grote 2-1/+17
* Add Python routine set_potential_EB to modify eb_potential * Add CI test
2023-01-06For the tridiag, remove the guard cells since they are not needed (#3604)Gravatar David Grote 1-45/+30
* 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
2023-01-02Fix a Bug in 1D ES (#3597)Gravatar Weiqun Zhang 1-4/+3
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.
2022-12-22Feature magnetostatic solver (#3551)Gravatar S. Eric Clark 7-3/+520
* 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>
2022-12-22Adding radial weighting at r=0 for Jr if nodal. (#3589)Gravatar S. Eric Clark 1-17/+22
2022-12-19Clean up documentation (#3542)Gravatar David Grote 3-6/+5
* Fix comments for documentation * More fixes to comments for documentation * Fixes in the doc files * Fix typo in parameters.rst
2022-12-15Refactor update of auxiliary data for electrostatic solver (#3573)Gravatar Remi Lehe 1-6/+0
* 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>
2022-12-08ABLASTR: Coarsen Functions (#3433)Gravatar Axel Huebl 2-15/+17
* 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>
2022-12-07PSATD: Implement First-Order Equations (#3466)Gravatar Edoardo Zoni 14-91/+632
* 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>
2022-11-30PSATD: Rewrite Equations with/without Rho (#3343)Gravatar Edoardo Zoni 1-83/+64
2022-11-10Vay Deposition: Filter D, Exchange Guard Cells of J (#3388)Gravatar Edoardo Zoni 1-2/+7
* Vay Deposition: Filter D, Exchange Guard Cells of J * Improve Inline Comment
2022-11-07Allow `None` for Maxwell solver (#3504)Gravatar Roelof Groenewald 14-36/+36
* Add "None" as an option for the Maxwell solver * fixed some of the reasons for failing CI tests * no longer pass `do_electrostatic` to `GuardCellManager` * renamed `MaxwellSolverAlgo` to `ElectromagneticSolverAlgo` * rename `do_electrostatic` to `electrostatic_solver_id` * rename `maxwell_solver_id` to `electromagnetic_solver_id` * changes requested during PR review * remove `do_no_deposit` from tests without field evolution * Fix doc-string in `GuardCellManager.H` Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2022-10-25Replace "none" BC with Neumann for electrostatic (#3483)Gravatar David Grote 1-11/+17
* 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>
2022-10-24Fix stair-case solver in 2D Cartesian (#2942)Gravatar Remi Lehe 2-2/+12
* 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>
2022-10-10Partial refactoring of the utils directory (#3404)Gravatar Luca Fedeli 5-22/+23
* 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
2022-09-30Implement tridiag solver for 1D (#3431)Gravatar David Grote 1-4/+202
* 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
2022-09-20PSATD: More Options for Time Dependency of J, Rho (#3242)Gravatar Edoardo Zoni 13-64/+87
* 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
2022-09-15Use blaspp::gemm on GPU for Hankel transform (#3383)Gravatar Remi Lehe 2-48/+49
* 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>
2022-08-26Fix Bugs w/ Current Correction and Vay Deposition (#3290)Gravatar Edoardo Zoni 1-29/+104
* 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
2022-08-15Move handling of do_not_deposit to physics callers (#3225)Gravatar Phil Miller 1-5/+10
* 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
2022-08-12Fill Guard Cells of Fields and Currents Independently (#3302)Gravatar Edoardo Zoni 15-51/+62
* Fill Guard Cells of Fields and Currents Independently * Fill Guard Cells of Averaged Fields as Regular Fields
2022-08-02`SyncCurrent`: Pass References To Current MultiFabs (#3277)Gravatar Edoardo Zoni 1-1/+1
* `SyncCurrent`: Pass References To Current MultiFabs * Add Doxygen for `SyncCurrent`
2022-07-27Starting with the pusher, consistently use ParticleReal (#3259)Gravatar David Grote 1-2/+3
* Starting with the pusher, consistently use ParticleReal * Update benchmarks for background_mcc_dp_psp
2022-07-22Fix a bug in GPU version of Hankel Transform (#3253)Gravatar Weiqun Zhang 1-6/+6
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.
2022-07-18ABLASTR: Update Poisson Solver API (#3243)Gravatar Axel Huebl 1-3/+10
Update the Poisson Solver API to be more usable. Needed for ImpactX.
2022-06-15ABLASTR: Compute Phi (#2994)Gravatar Axel Huebl 2-256/+167
* 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>
2022-06-08ABLASTR: Move Communication Utilities (#3167)Gravatar Axel Huebl 1-2/+4
* Move: WarpXCommUtils to ABLASTR * Update Usage Locations * Refactor: `WarpX::do_single_precision_comms` Do not use a global from WarpX in ABLASTR routines.
2022-06-03Vay Deposition: Add Cumulative Sums (#2958)Gravatar Edoardo Zoni 1-0/+116
* 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>
2022-06-02Move warning logger in ablastr (#3154)Gravatar Luca Fedeli 3-21/+35
* 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>
2022-05-30Use Utils::TextMsg::Err and WARPX_ALWAYS_ASSERT_WITH_MESSAGE in more files ↵Gravatar Luca Fedeli 4-10/+23
(#3117) * use formatted error messages * fixed bug * fixed bug * fixed bugs * fixed bug
2022-05-26SpectralFieldDataRZ: Missing Utils Include (#3140)Gravatar Axel Huebl 1-0/+1
2022-05-24Simplify the function computePhi (#3026)Gravatar Remi Lehe 1-56/+30
* 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>
2022-05-23use fwd declaration for WarpXFaceInfoBox (#3125)Gravatar Luca Fedeli 2-1/+2
2022-05-17Use uniform error message formatting in more source files (#2964)Gravatar Luca Fedeli 21-58/+108
* 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>
2022-05-11Fix Wrong Abort Message for PSATD w/ Time Averaging (#3098)Gravatar Edoardo Zoni 1-1/+1
2022-05-09Fix miscellaneous issues found with clang tidy (#3083)Gravatar Luca Fedeli 1-1/+0
* 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
2022-05-03Release 22.05 (#3076)Gravatar Axel Huebl 1-1/+4
* AMReX: 22.05 * PICSAR: 22.05 * WarpX: 22.05 * Fix issue with RZ electrostatic solver Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2022-04-07Vay Deposition: Fix SyncCurrent, FFTs (#3012)Gravatar Edoardo Zoni 1-0/+2
2022-04-05Semicoarsening in electrostatic solvers (#3024)Gravatar Weiqun Zhang 1-4/+37
* 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
2022-04-04Refactoring: More General Interfaces (#2991)Gravatar Edoardo Zoni 1-43/+55
* 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)
2022-03-28Clean up handling of `v_galilean` (#2989)Gravatar David Grote 2-5/+3
* 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>
2022-03-22Vay Deposition: Separate Arrays, Correct Index Types w/ FFTs (#2965)Gravatar Edoardo Zoni 5-113/+25
* 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>
2022-03-21Hybrid Algorithms: Add FDTD Support for Centering (#2327)Gravatar Edoardo Zoni 2-51/+2
* 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
2022-03-16RZ: Use WarpX::ncomps more consistently (#2951)Gravatar Axel Huebl 3-18/+19
* 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`
2022-03-14FFT of J: Use Spectral Index of Correct MR Level (#2961)Gravatar Edoardo Zoni 1-8/+18
2022-03-14FFT of J: Use Correct Current w/ Current Centering (#2962)Gravatar Edoardo Zoni 1-5/+1
2022-03-08Make error and info messages visually uniform (#2939)Gravatar Luca Fedeli 7-19/+29
* initial work to add msg formatter * wip * replace AMREX_ALWAYS_ASSERT_WITH_MESSAGE with WarpX equivalent