Age | Commit message (Collapse) | Author | Files | Lines |
|
* Implemented fft_periodic_single_box for RZ spectral
For RZ psatd, simplified copy for forward transform
* Apply review's suggestions and clean up
* Add few comments, fix warnings, apply style conventions
Co-authored-by: Dave Grote <dpgrote@lbl.gov>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|
|
* Initial version of use_damp_in_z_guard option
* Fix typo in WarpX.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Changed use_damp_in_z_guard to use_damp_fields_in_z_guard
* Added documentatin for use_damp_fields_in_z_guard
* Clean up for use_damp_fields_in_z_guard
* Added use_damp_fields_in_z_guard to picmi interface, and moved it to the psatd input group
* For RZ spectral, damping of the fields is on by default when not periodic
* Updated documentation for use_damp_fields_in_z_guard
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
|
|
* fix << declaration of galilean_shift shadows a member of WarpX >>
* fix << unused mu_stag >>
* fix << unused uxp, uyp, uzp >>
* renamed galilean_shift (member variable of WarpX class) into m_galilean_shift
* renamed v_galilean to m_v_galilean when appropriate
* fixed bug introduced in latest commit
* fix <<comparison of integer expressions of different signedness>>
* Update Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Remove the base class of InjectorPoisition, InjectorDensity and
InjectorMomentum so that they no longer live in managed memory.
* Have both host and device copies of Injector*.
* Modify Parser classes so that they can work without unified memory. Add
HostDeviceParser that is non-owning and therefore suitable for being value
captured by device lambda.
|
|
|
|
* Moved routines from SpectralSolverRZ.H to .cpp
* Correct missing Vay deposition routine
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Apply suggestions from code review
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Dave Grote <dpgrote@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* 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
* MultiFab macroproperties with constant init, templated macroEvolveE,
* call macroparameter init
* eol fix
* add parser for macroscopic properties
* fix eol
* adding input file
* __device__ lambda cannot be private in class
* fix grown tilebox declaration for init data
* [skip ci] some more merge conflicts
* some comments
* removing redundant calls to Macroscopic EvolveE
* [skip ci] fix growntilebox for initializing macro mf
* clean and fix BackwardEuler call for ckc
* commenting out old alpha and beta implementations
* temporarily commiting local changes with calls in Interp.
* fixing a typo
* clean and add documentation
* remove the test input file
* fix typo
* eol fix
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov>
* PR suggestions
* Update Source/FieldSolver/WarpXPushFieldsEM.cpp
Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov>
* removing unnecessary includes
* adding 2D initialization for stag arrays
* removing init_style input parameter for material properties
* eol fix
* Adding dE/dt eq curl of (B/mu)
* PhysConst ep0 and mu0
* Add functor for field access for macro and vacuum (B/mu)
* fix eol
* Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/FieldAccessorFunctors.H
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Apply suggestions from code review
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Apply suggestions from code review
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* fixing compilation errors and removing Gpu ManagedVector
Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Fix some warnings in RZ spectral solver
* enum: re-add ;
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
|
|
|
|
(DIM=2, openMP+MPI, double precision, no advanced solvers, no QED, native output) (#1264)
Depends on #1263
|
|
openMP+MPI, double precision, no advanced solvers, no QED, native output) (#1263)
This PR should fix almost all the compilation warnings in the default configuration (DIM=3, openMP+MPI, double precision, no advanced solvers, no QED, native output...). Or at least it does that on my system (my compiler is `g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0` ).
I have just two residual warnings:
### 1
```
[ 89%] Building CXX object CMakeFiles/WarpX.dir/Source/Parser/wp_parser.lex.cpp.o
wp_parser.lex.c:1356:17: warning: ‘void yyunput(int, char*)’ defined but not used [-Wunused-function]
```
I don't know if `yyunput(int, char*)` is there for a reason, even if it is not used. So I didn't do anything.
### 2
```
[ 96%] Building CXX object CMakeFiles/WarpX.dir/Source/Utils/CoarsenIO.cpp.o
/home/luca/Projects/warpx_dir/WarpX/Source/Particles/WarpXParticleContainer.cpp: In member function ‘void WarpXParticleContainer::AddNParticles(int, int, const ParticleReal*, const ParticleReal*, const ParticleReal*, const ParticleReal*, const ParticleReal*, const ParticleReal*, int, const ParticleReal*, int, int)’:
/home/luca/Projects/warpx_dir/WarpX/Source/Particles/WarpXParticleContainer.cpp:102:44: warning: unused parameter ‘nattr’ [-Wunused-parameter]
102 | int nattr, const ParticleReal* attr, int uniqueparticles, int id)
```
The first line of `AddNParticles` is `BL_ASSERT(nattr == 1); //! @fixme nattr is unused below: false sense of safety` . So I thought that there might be something to fix here and I didn't do anything.
|
|
This PR adds a copyright header when missing in some files.
|
|
This PR fixes the source of several compilation warnings.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
|
|
* Introduce option to update E with/without rho
* Clean up
* Implement current correction for Galilean PSATD (needs bug fix)
* Include equations in docs
* Fix EOL whitespaces error
* Small clean-up
* Implement Galilean PSATD update without rho
* Clean up
* Fix bug in current correction
* Fix EOL whitespaces
* Clean up
* Fix unused import
* Remove unused variable
* [skip CI] Improve docs
* Clean up style
* Fix EOL whitespaces
* Fix EOL whitespaces
* Clean up style
* Revert analysis script to old status
* [skip CI] Clean up style
* Make equations more human-readable and improve comments
* 2D test with current correction works
* Temporary build fix as in #1197
* 3D test with current correction works
* Rename th and th_star as theta and theta_star
* Fix a couple of wrong comments
* Add vertical spaces to improve readability
* Improve documentation
* Function CurrentCorrection is now pure
* 2D benchmark fields data are now correct
* Add limits of coefficients for nu=-1
* Change default of update_with_rho for Galilean PSATD
|
|
|
|
* Added k-space filter for RZ spectral solver
* Added SpectralBinomialFilter files for RZ spectral solver
* Added RZspectral binomial filter to CMakeLists.txt
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/FieldSolver/SpectralSolver/SpectralBinomialFilter.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/FieldSolver/SpectralSolver/SpectralBinomialFilter.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/FieldSolver/SpectralSolver/SpectralFieldDataRZ.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Fixed literals in SpectralBinomialFilter.cpp
* For RZ spectral, apply filter to rho old and new
* Added SpectralBinomialFilter::InitFilterArray
* For SpectralBinomialFilter, combine R and Z into one routine
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* For SpectralBinomialFilter, combine R and Z into one routine, part 2
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* For SpectralBinomialFilter, combine R and Z into one routine, part 3
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
Remove unnecessary semicolons (fix compiler warnings).
|
|
* Cleaner calculation of the simulation timestep
* Fix compilation errors
* Remove specification of CKC solver in PSATD test
* Correct calculation of dt
* Fix compilation error
* Cleaner calculation of the simulation timestep
* Fix compilation errors
* Remove specification of CKC solver in PSATD test
* Correct calculation of dt
* Fix compilation error
* Cleanup for cylindrical
* Change input of automated tests to preserve previous results
* Fix import statement for cylindrical
* Preserve dt for PML test
* Move function documentation to WarpX.H
* Update CMakeList
* Update CFL in some tests
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Fix compilation errors
* Revert "Fix compilation errors"
This reverts commit 56ef67f228269b266876629f49789d3afdbbc00b.
* Fix compilation error
* Add cmath headers
Add directly used header files.
* Fix Include Order
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Added stub for current correction in RZ spectral solver
* Start implementation of Vay deposition
* Continue implementation of Vay deposition
* Correct deposition of D
* Add phase shift for staggered currents
* Small clean-up
* Fix units in deposition of D
* Implement average of cumulative sum (needs bug fix)
* Start fixing bug in average of cumulative sum
* Still debugging
* Cumulative sums should be correct now
* Subtract averages of cumulative sums:
- current implementation: cumulative sums, inverse Fourier transform, subtraction of averages
- needs to be tested (including units of D after Vay deposition)
- needs to be shortened (too many loops over boxes and ParallelFors)
* [skip CI] Clean up and fix units
* Still fixing units
* [skip CI] Remove temporarily averages of cumulative sums
* [skip CI] Remove distinction between staggered and nodal
* Vay and Esirkepov similar results on periodic single box:
TODO:
- debug (charge not conserved);
- try using compute_shifted_shape_factor as in Esirkepov deposition;
- clean up;
- try on multiple boxes and with correction of mode at 0 frequency.
* [skip CI] Clean up
* Fix bug in 3D deposition
* [skip CI] Clean up
* Fix 2D and 3D implementation:
- simulation results agree between direct and Vay deposition in both 2D and 3D
- Travis CI tests should pass except for check of charge conservation (debug)
* Small clean-up
* Fix bug when compiling in RZ geometry
* Add benchmark json files (will be reset later)
* Do not set zero current at zero frequency
* [skip CI] Revert last commit and clean up
* Fix small bug after reverting commit
* Set nodal test first on Travis
* Fix benchmark for nodal test in 3D
* Fix particle output for nodal test in 3D
* Fix bugs due to staggering
* Rename current nodal Travis tests
* Add Travis tests staggered in 2D and 3D
* Further clean-up after bug fix
* Abort when using Vay deposition with domain decomposition
* Add optional argument of index type to forward FFT
* Fourier shifts can be private members as before
* Small clean-up
* Clean up and improve Doxygen documentation
* Fix small bug in analysis script for 2D tests
* Fix tests (remove E and B fields from particle diags)
* Add option to fill guard cells and docs
* Fix value of last guard cell by enforcing periodicity
* Revert changes merged from #1121
* Clean up style
* Improve docs
* Fix forgotten alignment
* Improve docs
* Make base class functions VayDeposition pure
Co-authored-by: Dave Grote <dpgrote@lbl.gov>
|
|
* Removed unused variables and made 'vy=v_galilean[1]' declaration conditional on 3D case (this fixes compiler warnings)
* Avoid unnecessary conversion from 'double' to 'int' (this fixes compiler warnings)
|
|
* For RZ, fix the deposition near the axis
* Updated LaserAccelerationRZ checksum
The change was expected since the code changes modified the charge
and current density near the axis.
* Updated LaserAccelerationRZ checksum
The change was expected since the code changes modified the charge
and current density near the axis.
* Update benchmark
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Set k_modified = k for inf order
* Add support for nox = inf in input file
* Added infinite-order to documentation
* Add back in accidentally-removed line
* End-of-line whitespaces?
* End-of-line whitespaces.
* Remove vspace
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Remove vspace
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Add whitespace
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Remove unnecessary line
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Whitespace
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Remove whitespace
* Clarify error message
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* ...whitespace
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
|
|
|
|
|
|
* 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
* Added modifications for PICSAR galilean branch
* Averaged coefficients added
* 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
* Averaged fileds allocated on fine patch (Ex)
* Preparation for merging dev into galilean.
* remove TABs by hand
* Removed a tab.
* Redeclared v_galilean as a vector & related changed
* Added an automated test
* Moved v_galilean inside WarpX constructor
* Added analysis script for the automated test
* Changed name of the automated test to galilean_psatd
* Added InitializeSpectralCoefficients method
* Removed temporary comments
* Averaged fields added to FiledGather
* Added infinite order k[i]
* Setting kx_mod( kz_mod) = 0 for index = nx/2(-nz/2)
* 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
* Changing type of v_galilean from amrex::Vector to amrex::Array
* Changed back ng_fft to be equal nox_fft
* Changed v_galilean's type from amrex::vector to amrex::array
* Removed type
* Removed temporary comments
* Added flag 'do_time_averaging' to swith from unaveraged to averaged Galilean PSATD
* Updated doxygen
* Small fix on using 'do_time_averaging' flag
* Remove some commented Print statements
* [skip ci] Further cleanup
* Fix compilation
* Guard cells update of the averaged E,B fields
* Corrected included header file accordingly
* Removed EOL
* Removed EOL
* Corrected path of the included header file
* Updated choice of the spectral solver.
* Cleanup.
* use amrex::exp instead of std::exp
* no backward FFT for avg fields if avg is off
* Need to shift avg fields in MoveWindow
* Further cleaning
* Added 2D automated test for averaged PSATD
* Added automated 2D and 3D tests for averaged PSATD
* Removed comments
* Added specifications for averaged Galilean PSATD tests.
* Bug fixed - do FillBoundary of the averaged fields only if averaged is activated
* Do shiftMF of the averaged fields only if fft_do_time_averaging=true
* Add checksum json benchmarks for averaged Galilean PSATD
* Add missing indentation
* Add missing indentation
* Updated automated analysis script
* Updated diags period
* Fixed bug: no backtransform of the averaged fields when WARPX_DIM_RZ is set
* Fixed an uninitialized variable
* Clean-up
* Changed permissions for analysis_avg_*d.py
* Compactified variables initialization via conditional assignment
* Initialized averaged E_avg, B_avg fields
* Updated automated test for 2D averaged galilean PSATD
* Updated benchmark for 2D averaged galilean PSATD
* Updated automated 2D averaged PSATD test & benchmark
* Updated automated 3D averaged PSATD test & benchmark
* Fixed typo
* Updated benchmark averaged_galilean_3d_psatd
* Initialize the averaged fields only if the averaged Galilean PSATD algorithm is enabled
* Encreased time step for automated 3D averaged Galilean PSATD (to be equal c*dt=dz while dz/dx=3)
* Updated 3D automated test: specified standard deviations `.ux_th, .uy_th, .uz_th` along each direction
* Typo from the previous commit: enabled the averaged algorithm
* Trying out another input parameters for 3D averaged automated test with v_gal = v_plasma
* Update benchmark for previously added 3D averaged automated test
* Update 2D averaged automated test and corresponding benchmark
* Revert "Updated diags period"
This reverts commit 7334729b05e96589e020c981efdb430ca095991d.
* Cleanup: removed unwanted comment.
* Added descriptions of the 2D and 3D automated tests for the averaged Galilean PSATD.
* Updated value calculated via standard Galilean PSATD.
* Encreased relative error tolerance for 3D automated test for the averaged Galilean PSATD.
* Removed to avoid duplication since it already specified in the corresponding 2D/3D input scripts.
* Removed unwanted empty lines
* Added spaces after function's names
* Removed unwanted empty line
* Removed
* Fixed indentation
* Cleanup: removed #include <math.h>
* Cleanup: removed empty lines and fixed indentation
* Added 'AvgGalileanAlgorithm.cpp' to 'CMakeLists.txt'
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* Introduce option to update E with/without rho
* Clean up
* Include equations in docs
* Fix EOL whitespaces error
* Small clean-up
* Clean up
|
|
* Clean up implementation of current correction:
- abort when current correction runs with psatd.periodic_single_box_fft=0
- rename input parameter from psatd.do_current_correction to psatd.current_correction
- add nodal tests in 2D and 3D (using direct current deposition)
- change 2D test: use Esirkepov deposition, instead of direct, as in 3D test
- add/update relevant checksum benchmarks
* Small clean-up
|
|
* [skip travis] CMake: Add CMake Scripts
This add CMake scripts for the CMake build system generator.
* CUDA Support Achieved
Fastest compile via:
cmake .. -DENABLE_CUDA=ON -DCUDA_ARCH=6.0
* CMake: openPMD & QED
* CMake: Dimension Support
WarpX_DIMS=2,3,RZ
* CCache & Out-of-Source
Enable CCache when found and prevent in-root builds (in-source okay-ish).
* CMake: CUDA C++ Language Minimum
* Add new Files
* CI: Migrate macOS to CMake
* Fortran: Enable Because Transitive
... for now :)
* CI: Migrate Linux ICC to CMake
* CI: Verbose Make
* CMake: Add Missing PSATD Sources
* CMake: PSATD, Compute, Precision, Clean
|
|
* 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.
|
|
|