Age | Commit message (Collapse) | Author | Files | Lines |
|
* fixing bug to initialize CellCenterFunctor for Bx
* diag_name renamed to m_diag_name
* some more diag members made m_
* renaming member variable mf_avg to m_mf_output
* fixing m_mf_output to mf_dst in comments
|
|
|
|
* Install Docs: Spack Env Update
Update the installation docs, modernize Spack instructions for
environments, list common macOS "cleanup" hint, document Python
dependencies for `pywarpx`.
* Apply suggestions from code review
Add review comments :)
Co-Authored-By: L. Diana Amorim <LDianaAmorim@lbl.gov>
Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov>
|
|
(#930)
|
|
|
|
|
|
* first implementation of OpenPMD for new diags
* fix OpenPMD output
* typos and add doc
* idef in make.package to avoid compiling OpenPMD CPP files when USE_OPENPMD=FALSE
|
|
* Clean-up hybrid code
* Remove Fortran interface
|
|
|
|
|
|
* functors to select particles
* add const
* oops, typo
* Update Source/Particles/Filter/FilterFunctors.H
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Apply suggestions from code review @ax3l
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* use SuperParticleType
* New particle filter.
* Fix bug
* Add doc
* Modify doc
* Test
* Modify based on suggestions
* Change units of ux,uy,uz
* Modify doc
* Move to constructor
* Minor
* Update Source/Diagnostics/ParticleIO.cpp
Co-Authored-By: Andrew Myers <atmyers2@gmail.com>
* Minor
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Andrew Myers <atmyers2@gmail.com>
|
|
* Added description of singleparticle particle injection style
* Removed useless = sign
* Fix typos
* Spelling number instead of nr
Co-Authored-By: Yinjian Zhao <yinjianzhao@lbl.gov>
* Use capital letters in parameters.rst
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Added position dimensions.
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Yinjian Zhao <yinjianzhao@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
eol
bool doRedistribute
|
|
|
|
* 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
* Move average_down overload used in WarpX to Average::FineToCoarse
* Write Average::FineToCoarse for cell-centered and nodal data
* Clean up Average::FineToCoarse (WARNING: interface changed)
* Small clean-up
* Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor
* parse input for diag_crse_ratio, mf_avg allocate, call FineToCoarse
* eol fix
* fix compilation error by adding bool variable
* Small clean-up
* er-organizing placement for diag_crse_ratio
* calling member function for crse_Ratio
* cleaning
* Change name from Average::FineToCoarse to Average::Coarsen
* Add dcomp to interface of Coarsen (different from scomp in general)
* fixing RZ build error by adding diag_crse_ratio
* Remove ASSERT (general input and output staggerings will be accepted)
* Fix averaging from fine nodal to coarse centered
* Clean up Doxygen in old Average::ToCellCenter (likely to be removed)
* Intermediate layers Average::CoarsenLoop and Average::CoarsenKernel
* Revert "Intermediate layers Average::CoarsenLoop and Average::CoarsenKernel"
This reverts commit 91f2beaa20617a3fb25df536472b74899942ffc5.
* Clean-up
* Implement interpolation with coarsening (remove averaging)
* Trigger failing source/style checks on Travis CI
* merged EZ's coarsen_branch added comments about ba.coarsen
* Add ASSERTS to check coarsening ratio and guard cells
* clarified a comment
* cleaning
* Input/output MultiFabs can have different number of components
* Call the correct coarsen and interpolate function
* adding comments for the input parameter
* Use AMReX built-in functions to check if MultiFab is coarsenable
* fixing assert
* EOL fix
* changes based on suggestions in the review
* EOL fix
* Add Doxygen documentation for new functions
* Copy starting from correct component in destination MultiFab
* making crse_ratio IntVect a protected variable
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* removing this function since crse_ratio is protected
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* removing assert since it is temporaty only for this PR
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* crse_ratio is protected and can be accessed directly
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Pass IntVect to BoxArray method 'coarsenable' directly
* Improve comments
* Rename 'ratio' as 'crse_ratio'
* Extending coarsening to divE and divB functors
* Add _rt suffix when necessary
* Improve comments
* Use method 'toIntVect' instead of 'ixType'
* New names: mf_src, arr_src, stag_src, mf_dst, arr_dst, stag_dst
* More clean-up
* adding coarsening capability to all diag_functors
* fixing compilation errors
* fix eol
* Replace calls to ToCellCenter and fix bug with staggering of temporary BoxArray
* Check if coarsenable on BoxArray with destination staggering
* clean up
* dix eol
* typo in comment
* Replace remaining calls to Average::ToCellCenter
* Remove Average::ToCellCenter
* Use amrex::Gpu::ManagedVector<int> to avoid issues on GPUs
* Add default value IntVect(1) for coarsening ratio
* Add ngrow to possibly fill guard cells too
* Add ngrow to Doxygen documentation
* Count number of points outside innermost loop
* added capability for different user-defined lo and hi for diags
* eol fix
* Add number of guard cells required to previous ASSERT and force ngrow=0 with coarsening
* cleaning up by moving multifab generation to a new function
* eol fix
* added a small description for function
* Update Source/Diagnostics/Diagnostics.H
incorporating comments for member variables
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update Source/Diagnostics/Diagnostics.cpp
adding comments for a function
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Apply suggestions from code review
Thanks to Maxence Thevenet for the suggestions from review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* adding suggestion from code review directly
* Apply suggestions from code review
max to prevent negative values due to precision errors
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* incorporating suggestions and some comments from code review
* adding assert to ensure crse ratio is power of 2
* fix eol
* cleaned code and added refine,coarsen for ba definition
* fix eol
* minor fix
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* constexpr instead of const
* add a comment clarifying ng=1 for tmp multifabs
* eol fix
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Add LibEnsemble scripts to run ensembles of WarpX simulations
Co-authored-by: jmlarson1 <jmlarson@anl.gov>
Co-authored-by: shuds13 <shudson@anl.gov>
* reformatting to pass most pep8 checks
* Add more comments in LibEnsemble scripts
* small typos
* some renaming
* unused files (merged together)
* add doc section and cleaning
* Apply suggestions from code review
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* one line per sentence for rst
* fixes suggested by LGTM Python checks
Co-authored-by: jmlarson1 <jmlarson@anl.gov>
Co-authored-by: shuds13 <shudson@anl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Fix link in README.md
* Update README.md
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
|
|
* 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>
|
|
|
|
|
|
* No need for custom install of yt anymore
* conda install yt form wheel to accelerate CI
* Apply suggestions from code review
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* 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
* Move average_down overload used in WarpX to Average::FineToCoarse
* Write Average::FineToCoarse for cell-centered and nodal data
* Clean up Average::FineToCoarse (WARNING: interface changed)
* Small clean-up
* Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor
* Small clean-up
* Change name from Average::FineToCoarse to Average::Coarsen
* Add dcomp to interface of Coarsen (different from scomp in general)
* Remove ASSERT (general input and output staggerings will be accepted)
* Fix averaging from fine nodal to coarse centered
* Clean up Doxygen in old Average::ToCellCenter (likely to be removed)
* Intermediate layers Average::CoarsenLoop and Average::CoarsenKernel
* Revert "Intermediate layers Average::CoarsenLoop and Average::CoarsenKernel"
This reverts commit 91f2beaa20617a3fb25df536472b74899942ffc5.
* Clean-up
* Implement interpolation with coarsening (remove averaging)
* Trigger failing source/style checks on Travis CI
* Add ASSERTS to check coarsening ratio and guard cells
* Input/output MultiFabs can have different number of components
* Use AMReX built-in functions to check if MultiFab is coarsenable
* Add Doxygen documentation for new functions
* Copy starting from correct component in destination MultiFab
* Pass IntVect to BoxArray method 'coarsenable' directly
* Improve comments
* Rename 'ratio' as 'crse_ratio'
* Add _rt suffix when necessary
* Improve comments
* Use method 'toIntVect' instead of 'ixType'
* New names: mf_src, arr_src, stag_src, mf_dst, arr_dst, stag_dst
* More clean-up
* Replace calls to ToCellCenter and fix bug with staggering of temporary BoxArray
* Check if coarsenable on BoxArray with destination staggering
* Replace remaining calls to Average::ToCellCenter
* Remove Average::ToCellCenter
* Use amrex::Gpu::ManagedVector<int> to avoid issues on GPUs
* Add default value IntVect(1) for coarsening ratio
* Add ngrow to possibly fill guard cells too
* Add ngrow to Doxygen documentation
* Count number of points outside innermost loop
* Add number of guard cells required to previous ASSERT and force ngrow=0 with coarsening
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
This PR exposes the AMReX AoS `.id` and `.cpu` to global
particle ID conversion for general usage in WarpX. The
generated particle ID is unique per particle in the sim.
Also replaces the old implementation with a well-documented
bitshift. The old implementation used C-style union type
punning, via access of the inactive union member, which is
technically undefined behavior (UB) in C++ (and is known to crash
on some platforms, e.g. MSVC). Although some popular compilers
implemented this C feature as an extension, it is never good
to rely on a specific interpretation of UB on a certain platform.
|
|
* reorganize Tools/ into subfolders, in prevision of LibEnsemble scripts
* Oops, also need to let git know some files have been deleted
* caps for consistency
* few paths to fix
|
|
This reverts commit 535575b27e9874da93bf961bf184245747a1c96c.
|
|
* Travis: openPMD-api Compile
Test openPMD I/O builds.
Adds no input files for runtime checks yet.
* openPMD: exclude for Carstesian for now
Disable until non-MPI imports for MPI-enabled lib are available.
|
|
* With PMLs, only check ncell along axis where PMLs are used
* Update Source/BoundaryConditions/PML.cpp to check isPeriodic
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Bug fix in BoundaryConditions/PML.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
RTD does not yet provide Sphinx 3 but the Breathe extension
in version 4.15.0+ requires Sphinx 3.
Ref.: https://github.com/michaeljones/breathe/issues/495
|
|
Fix bug introduced in #880.
|
|
* Efficiency threshold documentation
Add guidance for choice of threshold value
EOL
Update Docs/source/running_cpp/parameters.rst
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
Update Docs/source/running_cpp/parameters.rst
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Update Source/WarpX.H
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Update Docs/source/running_cpp/parameters.rst
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update Docs/source/running_cpp/parameters.rst
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
|
|
* make sure single-precision compiles on GPU
* add single-precision regression test on Garuda
|
|
|
|
* Define and use enum to address PML components
* Change import statement
|
|
* Contributing Guide: Add to Sphinx
- port to `.rst` from `.md`
- include in manual
- change line limit to 100 chars
- recommend EOL/Tab conversions in editors
- update small details on includes
* Update with suggestions.
Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov>
Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov>
|
|
Adds the beam parameter "charge" to our reduced diagnostics,
type "BeamRelevant".
|
|
* add space before bracket for function declaration
* space before bracket for function definition
|
|
|
|
* set useOMP=0 for QED BW optical depth evolution test
* bugfixing
|
|
|
|
* 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>
|
|
(#893)
Co-authored-by: David Grote <dpgrote@lbl.gov>
|
|
* Efficiency safeguard
Add load balance efficiency threshold
Formatting
Minor
EOL
[skip ci] Minor
[skip ci] Fix
* EOL
|
|
|
|
* [skip travis] Style Action: Failsafe
Properly add `set -eu -o pipefail` to all scripts.
* [skip travis] hasEOLwhiteSpace: OSX Compatible
* [skip travis] hasNonASCII: OSX Compatible
* hasTabs: OSX Compatible
* Style Checks: Exclude Docs (partly)
|
|
* Badge for Travis-CI: Update Link
Readme: Update the link for Travis-CI status on master.
* Badge: C++14
We are a C++14 code now :)
|
|
* 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
|
|
The read_raw_data python scripts were not consistently returning
arrays.
This fixes it, making sure that both a reduced diagnostics that has
only been run for one step (e.g. in a test case) as well as for
arbitrary many steps returns a dict of arrays.
Seen with BeamRelevant reduced diagnostics.
|