Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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>
|
|
|
|
* Remove WarpX::J_linear_in_time
* Fix Bug
* Implement Deposition of Rho at Half Time
* Implement New Equations for E
* Fix New Equations for E
* Cleaning
* Fix Limits of X2, X3, X7
* Implement New Equations for F
* Implement New Equations for F
* Revert E Equations to Avoid Roundoff Changes
* Remove Quadratic Equations
* Remove Deposition of Rho at Half Time Step
|
|
* allow Dirichlet BCs in r when r_min != 0 with ES RZ simulations
* handle the rmax boundary condition setting properly when rmin == 0
* add ability to specify rmin and rmax potentials through picmi
|
|
* 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)
|
|
function now share mostly the same code (#2709)
|
|
* Start to add embedded BC in RZ.
* Add .
* Remove scaling
* Fix compilation error
* Update
* Can compile.
* Add call linop.setRZ(true).
* Remove lines 264 to 312 and 343 to 345.
* Add assert.
* Remove an assert.
* Add an automated test.
* Change to MLEBNodeFDLaplacian.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix compilation error
* Update the test selection
* Correct compilation error
* Move test to another worker
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add new required argument
* Update Examples/Tests/ElectrostaticSphereEB/inputs_rz
* Update Examples/Tests/ElectrostaticSphereEB/analysis_rz.py
* Update analysis script
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>
|
|
Call MLNodeLaplacian::setRZCorrect, even when it's redundant when the
coordinate system is 2d rz, so that the solver does not depend on the
coordinate system set in amrex::Geometry.
|
|
* 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>
|
|
* [Draft] ABLASTR Library
- CMake object library
- include FFTW wrappers to start with
* Add: MPIInitHelpers
* Enable ABLASTR-only builds
* Add alias WarpX::ablastr
* ABLASTR: openPMD forwarding
* make_third_party_includes_system: Avoid Collision
* WarpX: depend on `ablastr`
* Definitions: WarpX -> ablastr
* CMake: Reduce build objects for ABLASTR
Skip all object files that we do not use in builds.
* CMake: app/shared links all object targets
Our `PRIVATE` source/objects are not PUBLICly propagated themselves.
|
|
|
|
* AMREX_SPACEDIM : Boundary Conditions
* AMREX_SPACEDIM : Parallelization
* Fix compilation
* AMREX_SPACEDIM : Initialization
* Fix Typo
* space
* AMREX_SPACEDIM : Particles
* AMREX_SPACEDIM : Evolve and FieldSolver
|
|
* PSATD: Implement F,G Damping
* Reset Benchmark
* Fix Call to DampFieldsInGuards
|
|
* Implement div(E)/div(B) Cleaning with Standard PSATD
* Cleaning
* Update Benchmark
* Add Nodal Synchronization of F,G
* OneStep_multiJ: Nodal Syncs, Damp PML
* OneStep_multiJ: Push PSATD Fields in PML
* div Cleaning Defaults (Domain v. PML)
* Include Fix of #2429 until Merged
* Reset Benchmark of Langmuir_multi_psatd_div_cleaning
* Multi-J: Remove PML Support
* Include Fix of #2474 Until Merged
* Exchange All Guard Cells for F,G
* Fix Defaults
* Update Test, Reset Benchmark
* Fix Defaults
* Cleaning
* Default update_with_rho=1 if do_dive_cleaning=1
* Update CI Test pml_psatd_dive_divb_cleaning
* Replace Warning with Abort
|
|
* Python: Start 1D Support
Start supporting 1D builds in Python.
* Fix 1D: PML FillZero unused
... since PMLs are not yet supported in 1D.
* BeamRelevant: Fix unused p_pos0
* FromTXYEFileLaserProfile: Not Impl in 1D
* QED Schwinger: 1D not Implemented
Fix unused warnings, add aborts.
* 1D RealVect/IntVect: Initialization
Use explicit scalar constructors, no braces.
Fix warning in clang 10.
* 1D NCI Filter: Fix unused members & Init
Unimplemented, but throws warnings.
* PSATD: 1D not Implemented
- remove compile warnings
- start porting some parts
* NCIGodfreyFilter: Clean up 2D & Else
|
|
psatd.update_with_rho=0 (#2571)
|
|
* 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>
|
|
When python callbacks take some time, this is useful as otherwise many
callbacks are lumped together in WarpX::Evolve::step.
|
|
* added helper function to rebuild MultiFabs and iMultiFabs during load balancing and included rebuilding of EB multifabs
* added redistribute call for the particle boundary buffer during load balancing
* consistently use DistribtionMap rather than dmap in ElectrostaticSolver.cpp
* applied suggested changes from code review by Phil Miller
* removed default argument for redistribute in RemakeMultiFab
* removed RemakeMultiFab() as a member of WarpX
* Only remake EB multifabs if they are used
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
* adapted existing particle scraping test (PICMI version) to also cover the redistribution of particle buffers from load balancing
* added redeclaring of m_borrowing
* Move redeclaring of m_borrow inside if statement for ECT solver algorihtm
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
* added calls to MarkCells and ComputeFaceExtensions
* fixed issue causing CI test to fail and copied conditionals from WarpXInitData.cpp to recompute EB quantities
* Guard cells communication for EB data when re-gridding (#105)
* Add 2D circle EB test (#2538)
* Added embedded_circle test
* Add embedded_circle test files
* Removed diag files
* removed PICMI input file
* Update to use default regression analysis
* Added line breaks for spacing
* Added description
* Fixed benchmark file
* Added load balancing to test
* Commented out load_balancing portion of test.
This will be added back in once load balancing is fixed.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Added guard cells communication for EB data in regridding
Co-authored-by: Kevin Z. Zhu <86268612+KZhu-ME@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* moved all EB grid data calculations to a new function InitializeEBGridData() which is now called by both WarpX::InitLevelData and WarpX::RemakeLevel
* Fix typo in doc string.
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
Co-authored-by: Kevin Z. Zhu <86268612+KZhu-ME@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
|
|
* 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
|
|
* added option to specify absolute tolerance for the MLMG solver used in the electrostatic field solve
* added absolute tolerance argument to the documentation
* fixed bug introduced during copy and paste
* expanded documentation for MLMG solver absolute tolerance (added unit) and added a link to the AMReX documentation describing the MLMG solver parameters
* possibly more robust handling of the MLMG convergence
* switched from std::max to amrex::max to hopefully fix compiler complaints
* updated checksum values for MCC test (background_mcc); the values changed only slightly, presumably due to a difference in the initial field solve which would now have the absolute tolerance value included, but since the Python version of this same test (which uses the direct solver) still passes the change is assumed to be inconsequential
* another try to fix the compile issues
* print a message to notify user if the max norm of rho is zero
* Apply suggestions from code review
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* switched print statements to the new warning logger
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Apply damping to all directions
* Fixed error when damped BC is not used on both sides
* Bug fix - forget a brace
|
|
Fix doxygen errors & warnings.
|
|
* Fix damped BC when running with a single box
* Cleanup of comments and code
|
|
* 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>
|
|
* Use parser for more input parameters
* Fix PSATD compilation and apply suggestions from code review
* Avoid out of bound array access for num_particles_per_cell_each_dim
* Fix few input files with respect to num_particles_per_cell_each_dim
* Fix get that incorrectly became query
|
|
* initial commit for adding a spatially varying potential for EBs
* refactored logic to set the boundary conditions and boundary values for the electrostatic solver
* style change
* removed extra semi-colon
* fixed issue causing oneAPI DPC++ build failure
* fixed issue that led to CI test failure
* fixed incorrect placement of definePhiBCs() call from previous commit
* avoid the more expensive function to set the EB potential if it does not vary spatially
* have to make a new parser when phi EB is only a function of time
* fixed typo in previous commit
* added option to use Neumann boundary conditions with the electrostatic solver
* cleaned up logic for whether or not boundary potential values should be set
* avoid using reference to __host__ variable
* added CI test for mixed boundary conditions for the electrostatic solver
* added documentation
|
|
* 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
|
|
* initial commit for adding a spatially varying potential for EBs
* refactored logic to set the boundary conditions and boundary values for the electrostatic solver
* style change
* removed extra semi-colon
* fixed issue causing oneAPI DPC++ build failure
* fixed issue that led to CI test failure
* fixed incorrect placement of definePhiBCs() call from previous commit
* avoid the more expensive function to set the EB potential if it does not vary spatially
* have to make a new parser when phi EB is only a function of time
* fixed typo in previous commit
|
|
* initial commit for adding a spatially varying potential for EBs
* removed extra semi-colon
* fixed issue causing oneAPI DPC++ build failure
|
|
|
|
* 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>
|
|
of the Electrostatic solver (#2143)
* refactored parts of the electrostatic solver to allow an outside Poisson solver to be installed
* added callback to install a Poisson solver that can be used instead of the MLMG solver
* added call to the poissonsolver callback if one is installed and updated ElectrostaticSolver.cpp to calculate the electric field directly in amrex if EBs are used
* fixed issue causing ElectrostaticSphereEB test to crash
* fixed the logic for when to call computeE
* added function to allow charge density to be deposited in rho_fp from outside WarpX
* fixed inconsistency between labframe and relativistic electrostatic simulation setup
* fixed typo
* fixed issue that caused ElectrostaticSphere test to fail and removed unnecessary call to multiply E_y by -1 when doing a 2d simulation
* revert edit to error handling string
* changes requested during PR review
* additional change requested during PR review
* fixed typo
* revert unnecessary changes
|
|
* OneStep_multiJ: Always Deposit rho in Component 0
* For Multi-J Algo Allocate only 1 Component
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
|
|
solver (#1811)
* Use `SyncRho` in Electrostatic solver
* Reuse rho_fp arrays
* Allocate arrays for rho
* Fix unused variable
* Fix bug in rho deposition
* Only use rho_fp in lab-frame Poisson solver
* Update test cases
* Incorporate PR comments
|
|
directions (#2220)
* Apply Silver-Mueller boundary only in requested direction
* Include a test with independent Silver-Mueller boundary conditions
* Correct typo in implementation
|
|
* update use-sensei flag
also add FlushFormatSensei.cpp to CMakeLists
* CMake: WarpX SENSEI Option
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
C++ template typedefs do not work in `extern C` blocks.
This work-arounds this construct:
https://github.com/ROCmSoftwarePlatform/rocFFT/blob/rocm-4.3.0/library/include/rocfft.h#L36-L42
This is fixed in the post 4.3.0 rocFFT `develop` branch already.
Fixes build errors of the kind:
```
AnyFFT.H:15:
In file included from /opt/rocm-4.1.0/hip/../include/rocfft.h:38:
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/cstddef:69:21: error: explicit specialization of undeclared template struct '__byte_operand'
template<> struct __byte_operand<bool> { using __type = byte; };
```
|
|
|
|
Fix HIP:
```
/home/runner/work/WarpX/WarpX/Source/FieldSolver/ElectrostaticSolver.cpp:434:9: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list [-Wc++11-narrowing]
1.-beta[0]*beta[0], 1.-beta[1]*beta[1], 1.-beta[2]*beta[2])});
^~~~~~~~~~~~~~~~~~
/home/runner/work/WarpX/WarpX/build_sp/_deps/fetchedamrex-src/Src/Base/AMReX_SPACE.H:151:31: note: expanded from macro 'AMREX_D_DECL'
^
/home/runner/work/WarpX/WarpX/Source/FieldSolver/ElectrostaticSolver.cpp:434:9: note: insert an explicit cast to silence this issue
1.-beta[0]*beta[0], 1.-beta[1]*beta[1], 1.-beta[2]*beta[2])});
^~~~~~~~~~~~~~~~~~
```
|
|
* RZ PSATD: Time Averaging for Multi-J Algorithm
* Fix Wrong Signs in Bm
* Use Time Averaging in CI Test, Update Benchmark
* Minor Fix
|
|
|
|
|
|
* RZ PSATD: Implement Multi-J Algorithm
* Implement J_linear_in_time Option
* Reduce Style Changes
* Move Copy/Zero/Scale Functions to SpectralFieldDataRZ
* Remove Unused Member m_n_rz_azimuthal_modes from SpectralSolverRZ
* Fix CI -Werror Warnings
* Implement Same Changes of #2116, Cleaning
* Fix Bug: Pass Correct dt to SpectralSolverRZ
* Add CI Test
* CI Test: Set random_theta = 0, Update Benchmark
* Remove random_theta from Inputs
* Update Benchmark of multi_J_rz_psatd
|
|
* Multi-J Algo: Make div(E)/div(B) Cleaning Optional
* Remove Unnecessary Newlines
|