Age | Commit message (Collapse) | Author | Files | Lines |
|
Update documented defaults.
|
|
|
|
* updated doc
* updated cmake
* fixed bug
* updates to take into account modifications in picsar_qed folder structure
* fixed bug
* fixed bug
* picsar/improve_makefile is now used for tests
* use sycl fix with picsar_qed
* update defines for picsar
* Update PICSAR Git Links
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Fix a warning
```
warning C4138: '*/' found outside of comment
```
with MSVC.
|
|
* fix compilation warning
* using now unsigned int
* Update Source/Filter/BilinearFilter.cpp
* replacing IntVec with Array<unsigned int, DIM>
* Update Source/Initialization/WarpXInitData.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
* load balance efficiency reduced diagnostic
* eol
* minor
* eol
* docs
* Docs -1 explanation
Add explanation about load balance efficiency before costs are recorded
* eol
|
|
Check if the mainline versions of BLAS++ and LAPACK++ work again.
https://bitbucket.org/icl/blaspp/pull-requests/19#comment-192851036
|
|
* Updates to match picmi version 0.0.14
Added call to register constants.
* Python: Bump Versions
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Move getCosts
* minor
|
|
gathering (#1653)
* Unify high-order Fornberg interpolation functions
* Add Doxygen documentation for new function
* Unify also FDTD linear interpolation functions
* Improve new implementation
* Compute stencil coefficients only at initialization
* Small clean-up and optimization
|
|
* Always synchronize nodal points of PML MultiFabs
* Reset benchmark for CI test pml_x_psatd
* Use new separate functions NodalSyncPML
|
|
|
|
|
|
* removed redundant do_qed option in inputfile
* fixed bug
|
|
Sufficient since it was last release in december and works well.
The 3.5 release series still builds wheels for Python 3.6 for Ubuntu
oldstable (18.04).
|
|
I accidentally added the patch-level for version-compatible matching
This removes the patch-level for `~=` matching for the packages that
have a >=1 major version already.
|
|
|
|
|
|
* tiling wip
* do_tiling documentation
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
|
|
|
|
|
|
* Fix electrostatic solver with momentum conservation
* Fix electrostatic, adding call to FillBoundaryAux
* For electrostatic, removed unneeded extra calls to UpdateAux and FillBoundary
* For electrostatic, calculate fields at the end of the time step
* Updated ElectrostaticSphere analysis script to use fields from end of time step
|
|
This adds a new, project-centric setup.py file.
With this file, all dimensions (2D, 3D, RZ) of WarpX can be built
and packaged at once, using the CMake build logic.
Build & install:
```bash
pip wheel -v .
pip install *whl
```
|
|
* Use IntVect for ng_J and ng_rho
* Compute guard cells for J and rho based on dt
* Reset some CI benchmarks
* Fix rebase commit
* Add back +1 cell for rho: fix remaining out-of-bound accesses
* Simplify ASSERTS using new interface of amrex::numParticlesOutOfRange
|
|
* Add filter for particle histogram
* Update benchmarks
* Update benchmark again
* Use serialize_ics in test + proper usage of RandomEngine
* Laser-Ion Acc. (2D3V): Test Hist Filter
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Start Embedded Boundary development
Modify the build system for embedded boundary (EB) support. Currently EB is
a compile time option that must be explicitly enabled. For GNU Make, one
can enable it with `USE_EB=TRUE`, whereas for CMake, `-DAMReX_EB=ON`. Later
we could decide to enable EB by default with all regular geometry.
Add a simple geometry initialization function, WarpX::InitEB. By default,
the geometry is all regular. A few basic types such as box, cylinder,
plane, sphere, etc. are supported via ParmParse runtime parameters. See
`amrex/Src/EB/AMReX_EB2.cpp` for more details. Later, we could build more
complex geometry using constructive solid geometry (CSG). (
https://en.wikipedia.org/wiki/Constructive_solid_geometry ) See
`amrex/Tutorials/EB/GeometryGeneration` for an example of CSG. There is
also a STL ( https://en.wikipedia.org/wiki/STL_(file_format) ) approach
under development in AMReX.
Add a new member, m_factory, to WarpX class. This object can be used to
obtain geometry information such as whether a cell is cut, edge centroids,
etc. Currently we are not using these factories to build MultiFabs for
field data to embed the geometry information into the data containers. We
could do that later if it is needed or it makes things more convenient.
Nevertheless, this should be sufficient to start the EB development of the
field solver.
It's not clear to me yet how many ghost cells are needed for the geometry
information. It's currently one, and can be adjusted.
In the future, when particle and embedded boundary interaction is
considered, we can use `amrex::FillSignedDistance` function to obtain signed
distance function on the nodes. With that information, one should be able
to determine where and when a particle collides with the embedded boundary.
* resize factory vector
* CMake: Require AMReX_EB
for embedded boundaries
* Add AMReX_Config.H et al.
Explicit includes are most robust to make sure defines are set with
future refactorings.
* rename Factory fieldFactory
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
|
|
* replace always false test with abort
* fix bug
|
|
* Use pinned memory for tmp particles in diags.
* openPMD: pinned memory (tmp particles)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
* Add parameter for default galilean velocity
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Fix bug in constructor of PhysicalParticleContainer
* Use new input parameter in CI test
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|
|
|
|
|
|
Start a helper routine that gives performance hints after
initialization of the simulation.
|
|
* Define: _OPENMP -> AMREX_USE_OMP
Replace the define check of `_OPENMP` with the explicit
backend control of `AMREX_USE_OMP` for parallel constructs.
Doing so avoids that we accidentially turn on OpenMP, e.g. if a dependency
pulls it in for linear algebra, I/O, etc. This can led to confusion if the
user explicitly requested a serial build. Also, we might want to use OpenMP
functionality here and there for auxiliary functions w/o having to use the
AMReX OpenMP backend, i.e. because we compile for GPUs.
* Add missing amrex::Gpu::notInLaunchRegion
|
|
* openPMD: Particle Filter (Container)
A fresh implementation of particle filters for openPMD diagnostics
using the generalized `PhysicalParticleContainer` approach that we
also use in plotfiles :tada:
* Ion Example: Filter & Coarsen
Test diagnostics filter & coarsen functions in CI.
Test reduced diagnostics (histograms).
|
|
* openPMD: ionizationLevel
Write out the ionizationLevel with openPMD.
* openPMD Record Repetitions: Use Lambdas
|
|
Fix an out-of-bounds access to positions in 2D & RZ for
filter functors.
|
|
Fix out-of-bounds access in particle histogram in non-3D.
|
|
* SpeciesProperties: C, N, O, Cu
Add more ionic species as pre-defined particle species.
* Cu: Add to Ionization Energies
|
|
* Distribution mapping and cost plotting
Cleanup
Cleanup
Cleanup
EOL
Unused import
* Cost initializes to 0.0
* plot slices of 3D
* WIP
* WIP docs
* docs
* docs
* docs
* docs
* docs
* docs
* docs
* docs
* EOL
|
|
* Add Superparticle version of GetParticlePosition.
* move unpack_particle to a free function and rename
* no longer need SuperPType
* Update Source/Particles/Pusher/GetAndSetPosition.H
* remove templating from get_particle_position
* remove template
* Add missing include
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
An early check for unused parameters after the first step.
|
|
* Fix bug in momentum-conserving interpolation function
* Reset checksum benchmark for CI test momentum-conserving-gather
|
|
* Handle units properly in the particle filter function
* have the particle filter func work in normalized units.
* need to convert units before
* Apply suggestions from code review
|
|
|
|
|
|
|