diff options
author | 2022-03-28 09:03:37 -0700 | |
---|---|---|
committer | 2022-03-28 09:03:37 -0700 | |
commit | ebcb82829cf7254a5fe1e474c7d40dcd479a7132 (patch) | |
tree | cf6522c427535a4b895ef12e419bd18192965d9b /Source/Particles/WarpXParticleContainer.cpp | |
parent | c30f8caad3a514e62a47bb498a2b1422941922da (diff) | |
download | WarpX-ebcb82829cf7254a5fe1e474c7d40dcd479a7132.tar.gz WarpX-ebcb82829cf7254a5fe1e474c7d40dcd479a7132.tar.zst WarpX-ebcb82829cf7254a5fe1e474c7d40dcd479a7132.zip |
Clean up handling of `v_galilean` (#2989)
* Cleaned up handling of v_galilean
* Missed one
* Update Source/WarpX.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/WarpX.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/WarpX.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/PhotonParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/FieldSolver/WarpXPushFieldsEM.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/WarpXParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/WarpXParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Diagnostics/ReducedDiags/ParticleExtrema.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Utils/WarpXUtil.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/RigidInjectedParticleContainer.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/ElementaryProcess/QEDPhotonEmission.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/ElementaryProcess/QEDPairGeneration.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/Particles/ElementaryProcess/Ionization.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/FieldSolver/WarpXPushFieldsEM.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* More cleanup
* Reset Galilean Benchmarks
* For mirrors, now include the Galilean shift
* Removed the flag since it is true for all calls
* Fix Source/FieldSolver/SpectralSolver/SpectralFieldDataRZ.cpp
* Update Source/WarpX.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
Diffstat (limited to 'Source/Particles/WarpXParticleContainer.cpp')
-rw-r--r-- | Source/Particles/WarpXParticleContainer.cpp | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp index e8ad5844f..6ca49aaf3 100644 --- a/Source/Particles/WarpXParticleContainer.cpp +++ b/Source/Particles/WarpXParticleContainer.cpp @@ -415,22 +415,12 @@ WarpXParticleContainer::DepositCurrent (WarpXParIter& pti, // Note that this includes guard cells since it is after tilebox.ngrow const Dim3 lo = lbound(tilebox); // Take into account Galilean shift - Real cur_time = warpx.gett_new(lev); - const auto& time_of_last_gal_shift = warpx.time_of_last_gal_shift; - Real time_shift = (cur_time + 0.5_rt*dt - time_of_last_gal_shift); - amrex::Array<amrex::Real,3> galilean_shift = { - m_v_galilean[0]* time_shift, - m_v_galilean[1]*time_shift, - m_v_galilean[2]*time_shift }; - const std::array<Real, 3>& xyzmin = WarpX::LowerCorner(tilebox, galilean_shift, depos_lev); + const std::array<amrex::Real, 3>& xyzmin = WarpX::LowerCorner(tilebox, depos_lev, 0.5_rt*dt); if (WarpX::current_deposition_algo == CurrentDepositionAlgo::Esirkepov) { if (WarpX::do_nodal==1) { amrex::Abort("The Esirkepov algorithm cannot be used with a nodal grid."); } - if ( (m_v_galilean[0]!=0) or (m_v_galilean[1]!=0) or (m_v_galilean[2]!=0)){ - amrex::Abort("The Esirkepov algorithm cannot be used with the Galilean algorithm."); - } if ( relative_time != -0.5_rt ) { amrex::Abort("The Esirkepov deposition cannot be performed at another time then -0.5 dt."); } @@ -623,24 +613,9 @@ WarpXParticleContainer::DepositCharge (WarpXParIter& pti, RealVector const& wp, // Lower corner of tile box physical domain // Note that this includes guard cells since it is after tilebox.ngrow // Take into account Galilean shift - const amrex::Real cur_time = warpx.gett_new(lev); const amrex::Real dt = warpx.getdt(lev); - const amrex::Real time_of_last_gal_shift = warpx.time_of_last_gal_shift; - const amrex::Real time_shift_rho_old = (cur_time - time_of_last_gal_shift); - const amrex::Real time_shift_rho_new = (cur_time + dt - time_of_last_gal_shift); - amrex::Array<amrex::Real,3> galilean_shift; - if (icomp==0){ - galilean_shift = { - m_v_galilean[0]*time_shift_rho_old, - m_v_galilean[1]*time_shift_rho_old, - m_v_galilean[2]*time_shift_rho_old }; - } else{ - galilean_shift = { - m_v_galilean[0]*time_shift_rho_new, - m_v_galilean[1]*time_shift_rho_new, - m_v_galilean[2]*time_shift_rho_new }; - } - const auto& xyzmin = WarpX::LowerCorner(tilebox, galilean_shift, depos_lev); + const amrex::Real time_shift_delta = (icomp == 0 ? 0.0_rt : dt); + const std::array<amrex::Real,3>& xyzmin = WarpX::LowerCorner(tilebox, depos_lev, time_shift_delta); // pointer to costs data amrex::LayoutData<amrex::Real>* costs = WarpX::getCosts(lev); |