Age | Commit message (Collapse) | Author | Files | Lines |
|
* Fix Doxygen: Particles
Fix doxygen errors & warnings.
* Apply suggestions from code review
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Apply suggestions from code review
* Document ForwardIterator
* Fix tparam and comma
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
|
|
* Fix Doxygen: Utilities
Fix doxygen errors & warnings.
* Review: Add doxygen title & brief body
|
|
Add a main page for Doxygen, to guide users/developers that land
there. Heavily inspired by AMReX' landing page.
|
|
* Apply damping to all directions
* Fixed error when damped BC is not used on both sides
* Bug fix - forget a brace
|
|
Publish the doxygen tagfile on readthedocs.
Clean temporary tagfiles in `make clean`.
|
|
Source tests are fast and check that documentation builds
successfully.
|
|
* Python Module for Analysis of Restart Tests
* Remove Unused Import
|
|
|
|
Fixed indexing for PML fields.
Add all of the fixes to the setitems routines.
|
|
* Fix Doxygen: BTD
Fix doxygen errors & warnings.
* Add Reva's Parameter Updates :)
* Document leftover params
Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
|
|
* Revert "Update AMReX to include EB solver fix (#2484)"
This reverts commit 105e127b95db5707d17cadc77fe68f1d68453d06.
* Revert "AMReX/PICSAR: Weekly Update (#2478)"
This reverts commit 7341fa0eda39368b1c6f2cf6d6dc20462fd6c3fc.
|
|
Temporarily created during documentation build
|
|
Fix doxygen errors & warnings.
|
|
Fix doxygen errors & warnings.
|
|
|
|
|
|
|
|
* Bugfixes for ref_ratio = 4 in the moving window direction.
* == should be <=
* only adjust guard cells for moving window by ref_ratio if nlevs > 1
* restore logic to always have at least 2 grow cells if moving window is on
* remove comment about this not being needed on level 0 - it does.
|
|
* increase tolerance for single precision test
* reset checksum
* change ad['field'] into ad[('mesh','field')] or ad['boxlib','field'] in yt script
* update field access in several files
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_rz.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_2d.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Tests/Langmuir/analysis_langmuir_multi.py
* Update Examples/Modules/boosted_diags/analysis_3Dbacktransformed_diag.py
* Update Examples/Modules/boosted_diags/analysis_3Dbacktransformed_diag.py
Co-authored-by: Tools <warpx@lbl.gov>
|
|
* Add GetTemperature class
- Object that can be called with signature GetTemperature(x,y,z) to
get temperature at coordinates x,y,z
- Can take either a constant temperature or a parser, to be passed in
from the input param file
* Further develop GetTemperature
- Rename GetTemperature to TemperatureInit
- TemperatureInit is a union of TemperatureInitParser and
TemperatureInitConstant, modeled after the InjectorMomentum class
- InjectorMomentum will take a TemperatureInit object where it needs a
temperature, rather than a constant value. It will be able to call
TemperatureInit->getTemperature(x,y,z), regardless of the temperature
type
* finish renaming GetTemperature to TemperatureInit
* InjectorMomentum now takes TemperatureInit object
- For Maxwell-Boltzmann and Maxwell-Juttner distributions,
InjectorMomentum takes a pointer to TemperatureInit rather than a single
amrex::Real
* Pass TemperatureInit to InjectorMomentum by reference
- Pass TemperatureInit to InjectorMomentum by reference
- Removed copy constructor deletion
- Fixed some other compilation errors
* Prevent copy constructors for TemperatureInit
* Add PlastmaInjector::parseTemperature
- parseTemperature reads temperature parameters and creates a
TemperatureInit object that contains the information
- parseTemperature returns a unique pointer to the TemperatureInit
object, which is then passed directly to the InjectorMomentum
constructor
* InjectorMomentum takes unique pointer to TemperatureInit
- Boltzmann and Juttner InjectorMomentum types take a unique pointer to
Temperature Init
- Adjusted initializers to move instead of copy, where required
- Added a blank destructor for Object, which may not actually be
necessary, but currently needed for compilation.
* Fix bug and pass TemperatureInit by reference
- Fixed bug where the parser in TemperatureInit was going out of scope
before we were done using the executor. This has been fixed by making
the parser a member of the PlasmaInjector class so it won't be
prematurely garbage collected. This should be temporary until the
refactor of TemperatureInit
- TemperatureInit is no longer a union, and is instead just a struct
whose first member indicates the type
- The PlasmaInjector method that reads the temperature parameters is now
void. It takes a TemperatureInit object by reference and does the real
initialization.
* Restructure how temperature data are stored
- TemperatureInit renamed to TemperatureProperties
- Temperature data is stored in an instance of TemperatureProperties,
a smart pointer to which is owned by PlasmaInjector.
- TemperatureProperties is initialized with a reference to parameters,
and owns the temperature function parser, if used.
- GetTemperature is a functor that takes three doubles (x, y, and z
coordinates) and returns the initial temperature at that location. This
is either a constant or a parser evaluated at (x,y,z), depending on
input parameters.
- InjectorMomentum takes a const reference to GetTemperature in its
constructor when needed and stores a copy. The compiled parser will
remain in scope because it is owned by TemperatureProperties, which is
in turn owned by PlasmaInjector.
* Fix compilation bugs
- Fix some include file names
- Add TemperatureProperties.cpp to CMake
- Fix some class names
* update list of .cpp files in Make.package
* Split GetTemperature implementations implementations into .cpp
* update include statements
* fix default constant temperature
* add documentation for new runtime params
* add further documentation
* added test for spatially varying temeperature
* update comments on tests
* remove empty destructor for Object in InjectorMomentum
* reset benchmark for initial_distribution because added check for spatially-varying temp
* Moved GetTemperature::operator() to header file since that seems to help GPU compilation on my local machine
* make position arguments to GetTemperature const
* LaTeXify new documentation
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Add const where applicable
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* renamed TemperatureInitType members to avoid collisions with MacroparameterInitType
* Update Examples/Tests/initial_distribution/analysis_distribution.py
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Add comment to document why h_mom_temp is a PlasmaInjector member
* Add warning/abort messages if temperature is out of MJ or MB range
* Theta is now mandatory
* update documentation
* negative theta values not allowed
* Remove theta>0.01 warning in getMomentum and fix GPU compile issues
Co-authored-by: Hannah Klion <hannah.klion@gmail.com>
Co-authored-by: Tools <warpx@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Weekly update to latest AMReX.
Weekly update to latest PICSAR (no changes).
```
./Tools/Release/updatePICSAR.py
./Tools/Release/updateAMReX.py
```
|
|
* Test will crash for some reasons.
* Modify more.
* Debuging.
* Fix a bug.
* Change interval back to 50.
* Apply suggestions from code review
* Add more careful restart tests.
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Increase EB coarsening level for linear solvers
* Apply suggestions from code review
Add comments.
|
|
|
|
* Add automated test of refined injection feature.
* revert accidental changes
* missing import
* fix typo in analysis script
* add checksum stuff to analysis script
* add benchmark file
|
|
* PICMI: Add div(E),div(B) Cleaning Options
* Update PICMI Version: 0.0.15
|
|
It should be computed using the number of steps in this run, otherwise the
number is incorrect for restart runs.
|
|
* Fix damped BC when running with a single box
* Cleanup of comments and code
|
|
* Docs: Tagfile (Doxygen)
Generate a tagfile.
Used as anchor in external projects.
* Doxygen Interlink: External AMReX Tagfile
Link AMReX objects to the AMReX doxygen page via its latest
Doxygen tagfile.
|
|
* Fix fields indexing
* Added additional documentation
* Fixed comment
|
|
* Added documentation for the Python interface
* Clean up EOL space
|
|
* CI: Windows + openPMD
* Windows: Work-Around <variant> mismatch
Build openPMD-api in C++17 as well, so we consistently use
`<variant>` over `<mpark/variant.hpp>`.
* Test Fix for 0.14.3 (openPMD-api 1128)
Test PR in
https://github.com/openPMD/openPMD-api/pull/1128
* Finalize CI for now
|
|
|
|
|
|
* 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
|
|
* Add first Langmuir test with MR and clean up 2D analysis script
* Cleaning, Remove Unused Import
* Revert Changes to Python Analysis Script
* Reset Benchmark of Langmuir_multi_2d_MR
|
|
* 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>
|
|
* increase tolerance for single precision test
* reset checksum
Co-authored-by: Tools <warpx@lbl.gov>
|
|
* Simplify momentum initialization in example input files
* Update benchmarks
* Trigger Build
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Add more amrex prefix
* Remove using namespace amrex in PlasmaInjector.cpp
* Fix compilation with OpenPMD
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* BinaryCollision: implement particle creation functor
* Apply suggestions from code review (restrict keyword)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Don't restrict the particle pointers
* Use atomicSetID
* Use more restricts
* Don't use auto restrict
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* fix kinetic energy calculation in single precision
* really fix the issue...
* add missing _rt
* we don't need m2 now
* remove unused variable
* initial work to add reduced diags test in single precision
* updated tests
* add back accidentally deleted comment
* reduced tolerance in single precision
* increase tolerance in single precision
* always perform kinetic energy calculation in double precision
* put w where it was
* fixed bug
* fixed bug
* add json file for new test
* use threshold for kinetic energy
* fix bug
* increase order of Taylor expansion
* increase order of Taylor expansion
* reduce classical/relativistic threshold for kinetic energy
* reset threshold to 1.005
* improve test
Co-authored-by: Tools <warpx@lbl.gov>
|
|
|
|
* Simplify formulas for Esirkepov deposition
* Simplify Esirkepov formulas even more
* Update Source/Particles/Deposition/CurrentDeposition.H
|
|
* Use os.path.join in picmi.py for portability
* Apply suggestions from code review
|
|
* GH Action CI Builds: Ninja
Use Ninja for most builds to compile faster than using
the GNU Makefile generator.
* oneAPI: w/o Ninja
Seems to be 10% slower for these compilers, so we keep the default.
* NVHPC: w/o Ninja
Seems to be 10% slower for `nvcc -ccbin=nvc++`, so we keep the default.
* macOS: w/o Ninja
Seems to be 20% slower, so we keep the default.
* Clang pywarpx: w/o Ninja
Seems to be 20% slower, so we keep the default.
|
|
* Docs: Nsight-Systems
How to use Nsight-Systems.
Tested on Cori DGX.
* Profiling: Link TinyProfiler Script
Co-authored-by: Michael Kieburtz <michaelkieburtz@gmail.com>
Co-authored-by: Michael Kieburtz <michaelkieburtz@gmail.com>
|
|
|
|
Doc pages to get started with post-processing using Python and
Jupyter at OLCF and NERSC.
|
|
* option to use single precision guard cell exhanges
* add missing files
* fix namespace issue
* change precision of comms to float
* ParmParse the single_precision_comms flag
* set back to real
* test
* make sure dst is filled
* nGrow -> nGrowVect
* restore float
* don't override valid cells
* single precision mesh
* whitespace
* wrap SumBoundary
* Wrap additional uses of FillBoundary.
* catch missing copies of ParallelCopy
* missing OverrideSyncs
* add wrapper for iMultifab
* fix typo
* moar typos
* typo
* strip single_precision_mesh option
* fix original copy
* update fusible syntax
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
* Fix: Single Precision Builds
Should not copy around data for `do_single_precision_comms`
* Docs: warpx.do_single_precision_comms
* initialize this tmp multifab to 0.0
* fix tiny profile label
* remove orig copies, they are only correct for FillBoundary
* loosen tolerance for space charge tests for single precision
* missing some setVal
* another missing setVal
* missing setVal
* add wrapper for new version of sumboundary
* add explicit cast to silence compiler warning
* add a test for single precision comms
* revert change to test precision
* add benchmark for single precision comms test
* restore tolerance I removed by mistake
* tolerance
* copyright headers
* drop tolerance for single precision tests in default analysis script
* missing python module
* bump tol again
* fix bad merge
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
|
|
Weekly update to latest AMReX.
Weekly update to latest PICSAR (no changes).
```
./Tools/Release/updatePICSAR.py
./Tools/Release/updateAMReX.py
```
|