Age | Commit message (Collapse) | Author | Files | Lines |
|
* wrap fft libraries
* implementation in cpp to avoid duplicate symbole
* delete some fftw code
* further cleaning
* typo
* pass fft plans by reference
* fix bug due to typo. Dammit, macros sometimes make it hard
* FFT wrapper also support cuFFT (not tested yet)
* eol
* further cleaning
* fix cuFFT, tested on Summit
* clean WarpX Complex checks
* pass directly the IntVect instead of the components (what were you thinking?)
* add some amrex prefix
* add a few const
* Should not need an FFT library to compile FDTD
* gather all FFT header files into one.
* eol
* minor changes in code comments.
* let dimension be chosen at runtime instead of at compile-time
* fix compilation on GPU
* add description to the wrapper namespace
|
|
* Adding macro-E Push and new file
* Add macroEvolveE, call it, and include algo selection in utils
* fix eol
* Fixing bug in macroE for sigma method 1
* changing MacroEvolveE to MacroscopicEvolveE
* add class for macroscopicproperties and an object in WarpX class
* fix eol
* adding templated ckc call with comment that EvolveE is same for yee and ckc
* add header file pointing to ckc algorithm
* adding obejct m_macroscopic_properties to access sigma,eps,mu
* some cleaning
* Adding comments
* adding documentation
* spelling wandroff to wendroff
* fixing eol
* eol
* const in the right place. Thanks bot!
* profiler for macroscopic evolveE
* re-introduced deleted line when fixing conflict to declare templated EvolveBPMLCartesian function
* fixing if-else statement for RZ in MAcroscopicEvolveE.cpp
* adding suggestions and corrections made in PR review.
* fixing grammar in docs
* fix eol whitespace
* fix typo
|
|
* Set particular modified wavenumbers to 0 for spectral (nodal).
* Add comments
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Make changes to be able to compile with DPC++. Parser is disabled for DPC++ because it does not work. amrex::Math::abs instead of std::abs is used in device functions.
* std::isnan not supported on device with DPC++
|
|
* Allow to pass component in stencil templates
* Define and use enum to address PML components
* Start implementing PML equations
* Implement EvolveEPML
* Implemented EvolveBPML
* Added interface for pml_has_particles
* Added interface for pml_has_particles
* [skip ci] Add update expressions for E
* [skip ci] Fix compilation
* Call new PML pusher for B field
* Fix compilation errors
* Fix more typos
* Abort code if `do_pml` is used in cylindrical geometry
* Add contribution from F in EvolveEPML
* Remove unused function for CKC coefficients
* Remove unneeded ExchangeF
* Add damping for J
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Revert "Apply suggestions from code review"
This reverts commit 08f262a676ba5e5b44b9118b8daba1b03c08b64b.
* Remove sanity checks for nodal
* Implement dive cleaning in PML
* Implement push F in the PML
* Clean-up unused code
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Added dump_rz_modes to picmi field diagnostic
* Fixed DivEFunctor for RZ
* In Diagnostics, write out RZ components of divE if requested
* Fix RZ component names in diagnostic files
* Fixed RZ spectral back transform, fixing DivE calculation
* In SpectralSolverRZ.H changed BL_PROFILE to WARPX_PROFILE
* Undid change of BL_PROFILE to WARPX_PROFILE in SpectralSolverRZ.H
|
|
* Added stub for current correction in RZ spectral solver
* Fixed comments in RZ spectral for current correction stub
* Modified automated test for Galilean PSATD (#1033)
Co-authored-by: Olga Shapoval <30510597+oshapoval@users.noreply.github.com>
|
|
|
|
|
|
* Relax PSATD check on boxes, so that PSATD momentum-conserving can be used
* Increase tolerance of test
* Add automated tests for momentum-conserving PSATD
|
|
|
|
* Start implementing PSATD push without rho.
TODO: 1) fix unit test pml_x_psatd;
2) try new PSATD push in PML;
3) avoid intro of new derived class?
* Correct PSATD push to fix PML test.
* Few improvements on new PSATD push:
- new class name is 'PsatdAlgorithmMixed' (both rho and J are used);
- new algorithm parameter to choose between available implementations:
parameter name is 'psatd_push', possible values are 'standard' for
old implementation using rho via Gauss law and continuity equation
and 'mixed' for new implementation using rho via Gauss law and J for
all remaining terms.
* Fix style error (tabs vs four white spaces).
* Improve comments for available PSATD algorithms.
* Correct few typos in latest comments.
* Implement first current correction:
- new member function 'CurrentCorrection' in class SpectralSolver;
- correction applied only without subcycling (in function 'OneStep_nosub');
- TODO: add correction when subcycling is used (in function 'OneStep_sub1');
- back to old implementation of PSATD push of E and B (class 'PsatdAlgorithmMixed' removed);
- TODO: PML unit test 'pml_x_psatd' does not pass.
* Small cleanup:
- remove residual option for choice of PSATD push algorithm (only one choice now);
- improve comments.
* Implement div(E) diagnostics for spectral case.
* split travis tests in bigger matrix
* split more TravisCI tests, add electrostatic, use defaults values
* typo
* Move computation of div(E) to base class SpectralBaseAlgorithm.
* need to split psatd too
* consistent variable names and use function to avoid duplication
* fix typo for qed tests
* typo
* also need to update run_tests.sg
* Update copyright tags.
* change matrix
* Add test of div(E) vs rho/epsilon_0 in PML test.
* Small clean-up.
* Small clean-up
* Remove option for current correction from input files of two new tests (not used)
* Small clean-up: remove unnecessary references
* More clean-up (minimize style changes to keep PR simple).
* Add specific 2D/3D tests for current correction:
- 'Langmuir_multi_2d_psatd_cc': same input file as 'Langmuir_multi_2d_psatd',
except for current correction and output of divE;
- 'Langmuir_multi_psatd_cc': same input file (3D) as 'Langmuir_multi_psatd',
except for current correction and output of divE;
- add corresponding Python scripts for analysis: same as previous ones,
except for check on L-infinity spatial norm of rho/epsilon_0 vs div(E);
- revert changes on old tests: do not use current correction in old tests
(benchmarks on Battra do not need to be updated).
* Improve comments.
* Start implementation of new averaging with staggering:
- face-to-cell-center and edge-to-cell-center replaced so far;
- TODO: node-to-cell-center and 1D behavior (AMREX_SPACEDIM=1).
* Remove unrelated style changes (cleaner PR).
* Avoid duplication of input files and analysis scripts for new tests
* Improve comments for Doxygen documentation.
* Improve comments for Doxygen documentation.
* Small clean-up
* first implementation of Diags base classes
* Small clean-up
* Small clean-up
* Fix erroneous non-ASCII character
* Small clean-up
* Auxiliary function for current correction in class WarpX to keep OneStep_nosub clean
* Remove unrelated style changes (cleaner PR)
* Improve comments
* Instrument virtual function 'CurrentCorrection'
* Trying to fix build error detected by LGTM analysis only
* add example, temporarily
* Continue implementation of new averaging with staggering:
- new function takes reference to single MultiFab (no vector);
- TODO: node-to-cell-center still in progress.
* Fix small bug and clean up
* Fix bug in loop over n=0,...,ncomp-1 and clean up
* add more functions
* Add Doxygen documentation and clean up
* Small clean-up in Doxygen documentation
* Compile in single precision: add _rt suffix to avoid unnecessary conversions
* Avoid accessing staggering index directly from IntVect in innermost loops
* Implement periodic-single box option for spectral
* Fix out-of-bound in the periodic, single-box case
* Replace do-while loop with for loop (default ncomp=1)
* Remove temporary pointer and pass reference to MultiFab (instead of MultiFab*)
* Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor
* cleaning and initialize output mf
* use general average routine
* move flush in new class, and implemented the Plotfile derived class
* add comments
* eol
* free memory in destructor
* typo
* typo
* no need to clear MF pointers there
* though shalt not break existing tests
* FlushRaw doesnt have to be virtual for now
* The importance of being constant
* Capability to select fields in output files
* EOL
* revert to old inputs
* const in right place
* avoid brace initializer there
* oops, fix logic error in is_in
* Use old name for output image of new 2D test
* user can choose flush interval, same behavior as plot_int
* Small clean-up in Doxygen documentation
* Add option to plot raw fields
* eol
* replace ter flush with dump to avoid confusion
* add options
* Diagnostics stores a vector of functors to compute diags on the fly
* eol
* Field gather from diags to sync particle quantities
* New diagnostics handle RZ with same behavior as old ones
* cleaning and doc
* const ref for string
* smarter for loop from Axel and typo fix from Reva
* Functors to compute some fields
* simplify code following Dave's comments
* Create subfolders and add more output options (divE etc.)
* eol
* Add documentation for periodic_single_box_fft
* For periodic, single-box, apply current correction after guard cell exchange
* rename mode_avg to convertRZmodes2cartesian
* Update CellCenterFunctor.H
* fill varnames and vector of functors at the same time
* output rho_new, not rho_old
* WarpX instance not needed here
* add const
* little bit more of reorganization
* Travis CI: force 2 MPI processes only for numprocs > 2
* Use special FFT (PR #834) and new diagnostics (PR #844) in new tests
* Improve Doxygen documentation
* Move option do_current_correction from warpx to psatd
* Fix path to output files for tests using new diagnostics
* Fix additional paths to output files for new diagnostics
* Add input paramter do_current_correction to documentation
* Fix test Langmuir_multi_psatd_hybrid: do not plot divE
* Remove input parameter amr.plot_int in tests using new diagnostics
* Trigger failing source/style checks on Travis CI
* Fix build error due to public include
* Add missing const keywords
* Change test names and corresponding analysis scripts
* Improve Python script for analysis
* Do not rename output files in old CI tests (without current correction)
* Fix output file name prefix for some tests
* Trigger Travis CI build after AMReX bug fix
* Void commit: trigger Travis CI build
* Fix some tests failing due to recent changes in master
* Use new diagnostics for particle output correctly
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Print tolerance and error in Python analysis
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Print tolerance and error in Python analysis
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Improve documentation
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Fix EOL white spaces
* Fix name of particle output variables
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
Cleanup
Cleanup
|
|
* Start removing nodal flags where possible
* Remove additional nodal flags
* Clean up getFieldNodalFlagData in Python wrappers
* Remove nodal flags from PML files
* Revert "Remove nodal flags from PML files"
This reverts commit 1d58519f9cee2e64df811f76f3d8a0aead1aa4ef.
* Fix issue when removing nodal flags from PML files
* Remove nodal flags from (OLD) slice diagnostics
* Nodal flags are now local variables in WarpX::AllocLevelMFs
* Trigger Travis CI build after AMReX bug fix
* Void commit: trigger Travis CI build
|
|
* CI: macOS Single Precision
Add another compile with single precision on AppleClang.
* AMReX' complex for everything
This is nice and compliant and works on all platforms.
|
|
|
|
|
|
* Clean-up hybrid code
* Remove Fortran interface
|
|
* For diagnostics, added RZ modes of scalars, allowed different centerings
* For RZ, generalized the centering of the inverse volume scaling of J and rho
* Fixed spacing in ConstructTotalRZScalarField
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Added Python wrapper of charge density arrays
* Add assert ensuring that Jr is never node-centered
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Small fixes to Python to better handle particle weights
* Implementation of the RZ spectral solver
* Removed k-space filtering code
* Removed more k-space filter code from RZ spectral solver
* For RZ spectral, added _rt for literals and cleaned up namespace use
* In RZ spectral solver, cleaned up some member names
* Update Docs/source/building/rzgeometry.rst
Small fix for clarity.
Co-Authored-By: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/Evolve/WarpXEvolve.cpp
Fix macro indentation
Co-Authored-By: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/Evolve/WarpXEvolve.cpp
Fix more macro indentation
Co-Authored-By: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/Evolve/WarpXEvolve.cpp
Fix another macro indentation
Co-Authored-By: Remi Lehe <remi.lehe@normalesup.org>
* New diagnostics support RZ (#836)
* Start implementation of new averaging with staggering:
- face-to-cell-center and edge-to-cell-center replaced so far;
- TODO: node-to-cell-center and 1D behavior (AMREX_SPACEDIM=1).
* first implementation of Diags base classes
* add example, temporarily
* Continue implementation of new averaging with staggering:
- new function takes reference to single MultiFab (no vector);
- TODO: node-to-cell-center still in progress.
* Fix small bug and clean up
* Fix bug in loop over n=0,...,ncomp-1 and clean up
* add more functions
* Add Doxygen documentation and clean up
* Small clean-up in Doxygen documentation
* Compile in single precision: add _rt suffix to avoid unnecessary conversions
* Avoid accessing staggering index directly from IntVect in innermost loops
* Replace do-while loop with for loop (default ncomp=1)
* Remove temporary pointer and pass reference to MultiFab (instead of MultiFab*)
* Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor
* cleaning and initialize output mf
* use general average routine
* move flush in new class, and implemented the Plotfile derived class
* add comments
* eol
* free memory in destructor
* typo
* typo
* no need to clear MF pointers there
* though shalt not break existing tests
* FlushRaw doesnt have to be virtual for now
* The importance of being constant
* Capability to select fields in output files
* EOL
* revert to old inputs
* const in right place
* avoid brace initializer there
* oops, fix logic error in is_in
* user can choose flush interval, same behavior as plot_int
* Add option to plot raw fields
* eol
* replace ter flush with dump to avoid confusion
* add options
* Diagnostics stores a vector of functors to compute diags on the fly
* eol
* Field gather from diags to sync particle quantities
* New diagnostics handle RZ with same behavior as old ones
* cleaning and doc
* const ref for string
* smarter for loop from Axel and typo fix from Reva
* simplify code following Dave's comments
* rename mode_avg to convertRZmodes2cartesian
* Update CellCenterFunctor.H
* fill varnames and vector of functors at the same time
* WarpX instance not needed here
* add const
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
* Add load balance options documentation (#842)
* Add load balance options documentation
* Add load balance options documentations
* EOL
* Replace tilebox by growntilebox (#849)
* Updated Profiling information in running_cpp (#776)
* Fixed link that was pointing to 404 error page
* Added motivation for profiling and TINYPROFILERS explanation
* Moved section on NERSC profiling to developers Docs
* Update Docs/source/running_cpp/profiling.rst
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update tiny profilers suggestion Docs/source/running_cpp/profiling.rst
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Fix typo Docs/source/running_cpp/profiling.rst
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Add a few additional diags (divE etc.) (#844)
* Start implementation of new averaging with staggering:
- face-to-cell-center and edge-to-cell-center replaced so far;
- TODO: node-to-cell-center and 1D behavior (AMREX_SPACEDIM=1).
* first implementation of Diags base classes
* add example, temporarily
* Continue implementation of new averaging with staggering:
- new function takes reference to single MultiFab (no vector);
- TODO: node-to-cell-center still in progress.
* Fix small bug and clean up
* Fix bug in loop over n=0,...,ncomp-1 and clean up
* add more functions
* Add Doxygen documentation and clean up
* Small clean-up in Doxygen documentation
* Compile in single precision: add _rt suffix to avoid unnecessary conversions
* Avoid accessing staggering index directly from IntVect in innermost loops
* Replace do-while loop with for loop (default ncomp=1)
* Remove temporary pointer and pass reference to MultiFab (instead of MultiFab*)
* Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor
* cleaning and initialize output mf
* use general average routine
* move flush in new class, and implemented the Plotfile derived class
* add comments
* eol
* free memory in destructor
* typo
* typo
* no need to clear MF pointers there
* though shalt not break existing tests
* FlushRaw doesnt have to be virtual for now
* The importance of being constant
* Capability to select fields in output files
* EOL
* revert to old inputs
* const in right place
* avoid brace initializer there
* oops, fix logic error in is_in
* user can choose flush interval, same behavior as plot_int
* Add option to plot raw fields
* eol
* replace ter flush with dump to avoid confusion
* add options
* Diagnostics stores a vector of functors to compute diags on the fly
* eol
* Field gather from diags to sync particle quantities
* New diagnostics handle RZ with same behavior as old ones
* cleaning and doc
* const ref for string
* smarter for loop from Axel and typo fix from Reva
* Functors to compute some fields
* simplify code following Dave's comments
* Create subfolders and add more output options (divE etc.)
* eol
* rename mode_avg to convertRZmodes2cartesian
* Update CellCenterFunctor.H
* fill varnames and vector of functors at the same time
* output rho_new, not rho_old
* WarpX instance not needed here
* add const
* little bit more of reorganization
* Apply suggestions from code review
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* add a bunch of const
* make derived classes final
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Add Initial Distribution Test (#735)
* Add Histogram
* Add normalization
* Add doc
* Minor
* Minor
* Fix a bug
* Add gaussian distribution test
* Fix alert and change amr.plot_int
* Add maxwell-boltzmann distribution test
* Add maxwell-boltzmann distribution test
* Add maxwell-boltzmann distribution test
* Add maxwell-juttner
* Minor
* Typo
* Minor
* Minor
* Add const
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Modify based on suggestions.
* Add histogram name
* Add bin values
* Don't add histogram name
* Modify read_raw_data.py
* Add doc
* Change ux,uy,uz units
* Change ux,uy,uz units
* Change if format
* Save some variables
* Change more
* Minor
* Fix a bug on GPU
* Fix a bug on GPU
* Add wrong species name abort
* Minor doc
* Change #include format
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Add const
* Change to member variables
* revert
* Change units based on changes of PR#727
* merge
* Add Gaussian position distribution test
* Minor
* Change based on suggestions
* Use read_raw_data.py
* Minor
* Change to no normalization
* Add more in doc
* doc
* doc
* Use relative error
* Don't divide by bin_size
* Change based on suggestions
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Tests: Fix Bool Switch Typo OMP (#854)
useOMP is 0 (False) or 1 (True)
* Costs vector of (pointer to) vector (#829)
* [WIP] costs mf --> costs vector
* [WIP] costs vector
* [WIP] vector costs
* formatting
* makefile
* [WIP] costs vector
* [WIP] *= costs
* wts do not need to divide by num cells
* Tiling safety on CPU
* Add tests
* EOL
* Remove unneeded input
* Update Source/WarpX.H costs documentation
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update timers with times only if user Timers update
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* add dev synch
* Update Regression/WarpX-tests.ini
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Delete inputs_loadbalance_costs_heuristic
* Update and rename inputs_loadbalancecosts_timers to inputs_loadbalancecosts
* Update WarpX-tests.ini
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* [mini-PR] Read species distribution from OPMD file (#847)
* Added <species>.profile=external_file and .profile_file
* Added description of input parameters to Docs
* Changed from profile to injection option for external file
* Fix typo in amrex abort message (due to copy paste)
* Added the OpenPMD use amrex abort message
* Minor fix - not sure how to remove EOL issue
* Tried to add AddExternalFileBeam functon to PhysicalParticleContainer
* Trued to fix EOL white space issue
* Added read/print species name from OPMD file
* Update Source/Initialization/PlasmaInjector.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.H
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* No need to include openPMD header yet
* Fix EOL according to @ax3l's recommendation in #845
* Remove commented out AbortMessage
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Removed commented out part initialization (used only in branch for next PR)
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Added warning that this is WIP
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Changed function name to AddPlasmaFromFile
* Removed AMReX warning from loop
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Ignore python build/dist and egg folders (#850)
* Travis CI: set max numprocs=2 and do not overwrite (#860)
* [mini-PR] Fix bug in Breit-Wheeler engine (#852)
* fixed bug in BW engine
* fixed bug
* fixed bug
* fixed bug
* fixed bug
* fixed bug
* eliminate useless variable
* updated test
* updated inputfile
* Updated tests
* increase tolerance from .04 to .07 in QED 3D BW test
* do plot pos_bw and ele_bw
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Documentation update - towards full SI (#301)
* Added blank line after list. Changed characters in link to Q. H. Liu paper so hyoerlink works with sphinx-build 2.1.2.
* Added line cut unintentionally.
* Removed line added unintentionally.
* Same as before.
* Same as before, but hopefully successfully
* Same as before, but hopefully successfully
* Minor changes to description of PWFA example run
* Revert "Minor changes to description of PWFA example run"
This reverts commit a4d7fa969c906959b018efe683a3e585cbd741f9.
* Revert "Profiler wrapper to allow for cudaDeviceSynchronize (#738)"
This reverts commit bbefc3dad687f4370afd5bc85386d983201cb321.
* Revert "Revert "Minor changes to description of PWFA example run""
This reverts commit 965982d35361ff54d0ad10101ffc31605117e5ac.
* Revert "Minor changes to description of PWFA example run"
This reverts commit a4d7fa969c906959b018efe683a3e585cbd741f9.
* I am making a huge mess with merging
* Minor changes to description of PWFA example run
* Added explanation PWFA simulation section
* Re-structuring. Adding sections for each choice.
* Minor fix to note
* Minor changes to text
* Time step description + fixed line length
* Added FDTD and CKC selection
* Added max time step calculations
* Trying to fix EOL issue
* Added mesh refinement and moving window
* Fixed minor issues
* Fix EOL issues again
* Fixed typo - auxiliary
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Diana Amorim <diana@henrivincenti.dhcp.lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Remove compiler warnings (#843)
* Fix compiler warnings with DIM=2
* Fix compiler warnings with USE_RZ=TRUE
* Fix compiler warnings with USE_PSATD=TRUE and DIM=2
* Fix compiler warnings with USE_PSATD=TRUE and DIM=3
* Fix bug: discard only return value when calling DefineAndReturnParticleTile
* Remove unused variables not triggering warnings
* [mini-PR] Fix energy calculation for photons in reduced diagnostics (#861)
* fix energy calculation for photons
* fixed typo and mada calculation clearer
* added photon particles in reduced diags test
* Update Source/Diagnostics/ReducedDiags/ParticleEnergy.cpp
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update Source/Diagnostics/ReducedDiags/ParticleEnergy.cpp
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Port rigid injection to the gpu (#862)
* port rigid injection to the gpu
* eol
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* define csqi
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Added blocking factor to 2d and RZ geometries (#864)
* doc: fix formatting for ascent yaml examples (#865)
* [mini-PR] Clarifying ionizable particle charge (#863)
* Added documentation note on ionization particle charge
* Added correct charge of ion to be ionized
* Corrected multiplication symbol
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Testing doxygen issue
* Charge correction only to ionizable species
* Trying to fix doxygen url fetch issue
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* In HankelTransform, added explicit matrix multiply for GPU
* In RZ spectral solver, update setval to be on device
* Removed CEXE_headers from FieldSolver/SpectralSolver/Make.package
* In HankelTransform, added check of the Bessel root finder
* Updated includes to RZ spectral solver
* Added comments on how Hankel transform matrix is calculated
* Added more comments to Hankel transform calculation
* For RZ spectral solver, cleaned up naming and add subdirectory for Hankel transform files
* Cleaned up code in PsatdAlgorithmRZ.cpp
* Updated comment for fields in SpectralFieldDataRZ.cpp
* Changed HankelTransformer to MultiSpectralHankelTransformer
* Updates comments in RZ spectral solver
* Removed code for k-space filtering that will be added in a later PR
* For RZ spectral solver, passed lev in
* Fixed comment in SpectralFieldDataRZ.cpp
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
Co-authored-by: Michael E Rowan <38045958+mrowan137@users.noreply.github.com>
Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Yinjian Zhao <yinjianzhao@lbl.gov>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Luca Fedeli <luca.fedeli@cea.fr>
Co-authored-by: Diana Amorim <diana@henrivincenti.dhcp.lbl.gov>
Co-authored-by: Andrew Myers <atmyers@lbl.gov>
Co-authored-by: Cyrus Harrison <cyrush@llnl.gov>
|
|
|
|
* avoid i%1 in a lambda, gives compiler segfault
* add 1 comment
* Update Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp
* explicit capture by value
* Update Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Includes: Only From `Source/`
Avoid adding all directories to include paths:
- automatically structure includes more clearly, e.g. a util include
with a short name is clearly seen as such
- should have some small positive impact on compile time, since the
compiler has to search less directories for an include file
* Includes: Fix Non-Local Paths
Add missing prefix relative to `Source/` for WarpX-local includes.
|
|
* Implement periodic-single box option for spectral
* Fix out-of-bound in the periodic, single-box case
* Add documentation for periodic_single_box_fft
|
|
Remove the listing of all header-files from the Make-buildsystem.
Listing public header files here tells the AMReX Makefile build
system to install those in an install step after build. WarpX is
currently not building a public library which can be consumed by
users for their projects and only an executable.
|
|
* corrected two typos missed during review of PR-719
* changed file permission from executable to read/write
* added current into QED corrections
* corrected tabs
* fixed indent in multifab construction section
* adjusted more indentations that were accidently changed from the origional
* Corrected the curent mesh
* Update Source/FieldSolver/WarpX_QED_Field_Pushers.cpp
Co-Authored-By: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
* Correctly implimented Revathi's recommended changes to the E,B and J boxes
* Adjusted comments, tabs, and copyrights
* and EOL
Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
|
|
|
|
* Fix compiler warnings with DIM=2
* Fix compiler warnings with USE_RZ=TRUE
* Fix compiler warnings with USE_PSATD=TRUE and DIM=2
* Fix compiler warnings with USE_PSATD=TRUE and DIM=3
* Fix bug: discard only return value when calling DefineAndReturnParticleTile
* Remove unused variables not triggering warnings
|
|
* [WIP] costs mf --> costs vector
* [WIP] costs vector
* [WIP] vector costs
* formatting
* makefile
* [WIP] costs vector
* [WIP] *= costs
* wts do not need to divide by num cells
* Tiling safety on CPU
* Add tests
* EOL
* Remove unneeded input
* Update Source/WarpX.H costs documentation
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update timers with times only if user Timers update
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* add dev synch
* Update Regression/WarpX-tests.ini
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Delete inputs_loadbalance_costs_heuristic
* Update and rename inputs_loadbalancecosts_timers to inputs_loadbalancecosts
* Update WarpX-tests.ini
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
(#772)
* For RZ, generalized the centering of the inverse volume scaling of J and rho
* Add assert ensuring that Jr is never node-centered
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* Prepare EvolveE
* Cartesian equations without current
* Implement Cartesian EvolveE
* Progress towards cylindrical solver
* Correct typo
* Implement cylindrical solver (without on-axis condition)
* Fix compilation errors
* Add regularization for RZ solver
* Added correction term for F
* Remove file for nodal stencil
* Apply stylistic changes to EvolveE
* Fix compilation errors
* Correction to avoid out of bound
* Remove references to old file
* Correct bug in EvolveB
* Implement correction on axis for Et
* Remove previous field update functions
* Implement EvolveF in Cartesian
* Add missing file
* Update on-axis condition
* Correct typo
* Add theta derivative for divE calculation
* Fix rho component
* Fix compilation error
* Use C++ templates in computation of divE
* Update Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Use comparisons to 0 again
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* fix compilation for single precision PSATD with USE_GPU
* compiles and tested on CPU also
* add sentence to doc: FFTW needs to be compiled with single precision option
* add test, better pre-proc directives indent, clearer ifdef
* use using whenever possible
* indent
* fix TravisCI matrix, and improve matrix test
* need to compile with same precision for fields and particles
|
|
|
|
* Allowed for more general centering of charge density
* Used rho_nodal_flag in ApplyInverseVolumeScalingToChargeDensity
* Simplify declaration of rho_nodal_flag
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Fix documentation for doChargeDepositionShapeN
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
|
|
* Fix compilation for hybrid PSATD
* Add automated test for hybrid PSATD
|
|
* Issue #713: Load Balance w.r.t. number of cells + particles
README: Update Badged to `master` (#725)
* README: Update Badged to `master`
Update the badges to check the `master` branch as development branch.
* Docs: More dev->master updates
- release workflow
- contribution guide link
Galilean PSATD with shift (#704)
* Read Galilean velocity
* Prepare structures for Galilean solver
* Started implementing Galilean equations
* Analytical limits for X1, X2, X3, X4 coefficients added
* Slight changes added
* Added Galilean position pusher
* Scale galilean velocity
* Remove unneeded Abort
* Fix Galilean pusher
* Allocate Theta2 array
* Fix definition of coefficients
* Increase guard cells for Galilean
* Add guard cell in particle exchange
* Type corrected
* v_gal added to warpx_current_deposition
* v_gal added to WarpXParticleContainer.H
* Bug fixed - update particle x-position over one time step
* Fix issues with merge from dev
* Preparation for merging dev into galilean.
* Adding galilean shift
* Implemented galilean shift
* Changed method's name from GalileanShift to ShiftGalileanBoundary
* Added doxygen string for ShiftGalileanBoundary
* Removed never used method LowerCornerWithCentering
* Removed temporary comments
* Removed dt as a variable from DepositCharge method and its dependencies
* Converted tab to spaces
* Removed EOL white space
* Add documentation and automated tests
* Fix compilation error
* Add automated test
* Update automated test
* Removed temporary used galilean shift
* Removed temporary used particle's push for Galilean PSATD
* Removed unused statement
* Remove EOL white space.
* Added zero shift for LowerCorner in RZ geometry
* Minor changes to Galilean implementation
* Modifications for GPU
* Fix typo
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
[mini-PR] when a cufft error occurs, print a meaningful error message (#728)
* added method to translate cufft errors
* fixed style
* bug fixing
avoid duplicate tests and plot less often (#726)
* avoid duplicate tests and plot less often
* fix tests I broke when trying to save plotfiles
doc install yt on Summit (#729)
* doc install yt on Summit
* eol
Do not use local Redistribute for electrostatic solver (#731)
Add Reset Random Seed Feature (#717)
* Add ResetRandomSeed
* Add doc
* Modify and change location of the code.
* Small fix
* Try to fix an alert
* Try to fix an alert
* Modify based on suggestions
* Use INT_MAX
* Modify based on suggestions.
* Modify based on suggestions.
openPMD: warn if step is already written (#718)
* making sure iterations are written at most once.
* prints a warning when iteration is written more than once
writting is not stopped
* Fixed tabs
* included <iostream> as requested by Axel
Minor refactoring of space-charge calculation (#732)
Improve clarity and documentation
Minor
Update GNUmakefile
Update based on comments
Update GNU Makefile
Formatting
Formatting
Formatting
Formatting
Remove unneeded function
Removed unneeded function
Formatting
Formatting
Formatting
Whitespace
Minor
Formatting
Formatting
Formatting
Formatting
Formatting
Formatting
Formatting
whitespace
Formatting
Minor
Formatting
Remove unneeded template function
Change import
Minor
Formatting
Remove unused variable
Formatting
Update Source/WarpX.H
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Update Source/Parallelization/WarpXRegrid.cpp
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Remove `n_particles` and `n_cells`
Update Source/WarpX.H
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Revert clear costs in case of edge case
Update to use new load_balance_api in AMReX
Tabs
Minor
* minor: indentation in Source/WarpX.H
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
Generalize includes to base path.
|
|
|
|
* avoid using namespace amrex in .H files
* need amrex prefix to function arguments
* typo
|
|
* Implement div(E) diagnostics for spectral case.
* split travis tests in bigger matrix
* split more TravisCI tests, add electrostatic, use defaults values
* typo
* Move computation of div(E) to base class SpectralBaseAlgorithm.
* need to split psatd too
* consistent variable names and use function to avoid duplication
* fix typo for qed tests
* typo
* also need to update run_tests.sg
* Update copyright tags.
* change matrix
* Add test of div(E) vs rho/epsilon_0 in PML test.
* SpectralFieldIndex: reuse memory slot for Bx when computing divE.
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* Prepare EvolveE
* Cartesian equations without current
* Implement Cartesian EvolveE
* Progress towards cylindrical solver
* Correct typo
* Implement cylindrical solver (without on-axis condition)
* Fix compilation errors
* Add regularization for RZ solver
* Added correction term for F
* Remove file for nodal stencil
* Apply stylistic changes to EvolveE
* Fix compilation errors
* Correction to avoid out of bound
* Remove references to old file
* Correct bug in EvolveB
* Implement correction on axis for Et
* Remove previous field update functions
* Remove unused code
|
|
- Use `""` for WarpX-local includes
- Order: WarpX `""`, AMReX `<>`, other third party includes `<>`
- Add dir prefixes for WarpX
Add order to includes by including from `Source/` onward and keeping
directory prefixes of non-local includes for clarity.
|
|
Clean up `amrex::Real` literals (aka "numbers"). This avoids
calculating a line in double precision and casting it down to
`Real` on assignment.
Also fixes some formatting issues.
(Commit credited to Remi.)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* add warpx profiler wrapper
* call WX profiler wrapper instead of BL
* EOL and cleaning
* add doc on profile syncs
* do not use PROFILE macros in .H files
* replace WX_PROFILE with WARPX_PROFILE and use bool instead of int
* typo
* this file shouldn't be there
|
|
|
|
* added method to translate cufft errors
* fixed style
* bug fixing
|
|
* Read Galilean velocity
* Prepare structures for Galilean solver
* Started implementing Galilean equations
* Analytical limits for X1, X2, X3, X4 coefficients added
* Slight changes added
* Added Galilean position pusher
* Scale galilean velocity
* Remove unneeded Abort
* Fix Galilean pusher
* Allocate Theta2 array
* Fix definition of coefficients
* Increase guard cells for Galilean
* Add guard cell in particle exchange
* Type corrected
* v_gal added to warpx_current_deposition
* v_gal added to WarpXParticleContainer.H
* Bug fixed - update particle x-position over one time step
* Fix issues with merge from dev
* Preparation for merging dev into galilean.
* Adding galilean shift
* Implemented galilean shift
* Changed method's name from GalileanShift to ShiftGalileanBoundary
* Added doxygen string for ShiftGalileanBoundary
* Removed never used method LowerCornerWithCentering
* Removed temporary comments
* Removed dt as a variable from DepositCharge method and its dependencies
* Converted tab to spaces
* Removed EOL white space
* Add documentation and automated tests
* Fix compilation error
* Add automated test
* Update automated test
* Removed temporary used galilean shift
* Removed temporary used particle's push for Galilean PSATD
* Removed unused statement
* Remove EOL white space.
* Added zero shift for LowerCorner in RZ geometry
* Minor changes to Galilean implementation
* Modifications for GPU
* Fix typo
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* replace xi by xi*c*c, which can be represented by single precision
* replace xi with xi*c*c in QED kernel
* typo
* Update Source/FieldSolver/WarpX_QED_K.H
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* add bunch of _rt
* typo, didn't compile in 2d
* Apply suggestions from code review
Control parameter name update.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
Fortran to C++: build buffer masks
|