diff options
author | 2022-11-07 20:30:31 -0800 | |
---|---|---|
committer | 2022-11-07 20:30:31 -0800 | |
commit | bf535730cb6c170394da8375887b3ae57ad6ecf5 (patch) | |
tree | de7b2122acbc7e40d5f97c11afa779be689985c9 /Source/Initialization/WarpXInitData.cpp | |
parent | ada6fc49cf16f40d1764d3a95c8338126360f329 (diff) | |
download | WarpX-bf535730cb6c170394da8375887b3ae57ad6ecf5.tar.gz WarpX-bf535730cb6c170394da8375887b3ae57ad6ecf5.tar.zst WarpX-bf535730cb6c170394da8375887b3ae57ad6ecf5.zip |
Allow `None` for Maxwell solver (#3504)
* Add "None" as an option for the Maxwell solver
* fixed some of the reasons for failing CI tests
* no longer pass `do_electrostatic` to `GuardCellManager`
* renamed `MaxwellSolverAlgo` to `ElectromagneticSolverAlgo`
* rename `do_electrostatic` to `electrostatic_solver_id`
* rename `maxwell_solver_id` to `electromagnetic_solver_id`
* changes requested during PR review
* remove `do_no_deposit` from tests without field evolution
* Fix doc-string in `GuardCellManager.H`
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Diffstat (limited to 'Source/Initialization/WarpXInitData.cpp')
-rw-r--r-- | Source/Initialization/WarpXInitData.cpp | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp index 4865cfa65..987bab9d4 100644 --- a/Source/Initialization/WarpXInitData.cpp +++ b/Source/Initialization/WarpXInitData.cpp @@ -157,15 +157,15 @@ WarpX::PrintMainPICparameters () WarpX::n_rz_azimuthal_modes << "\n"; #endif // WARPX_USE_RZ //Print solver's operation mode (e.g., EM or electrostatic) - if (do_electrostatic == ElectrostaticSolverAlgo::LabFrame) { + if (electrostatic_solver_id == ElectrostaticSolverAlgo::LabFrame) { amrex::Print() << "Operation mode: | Electrostatic" << "\n"; amrex::Print() << " | - laboratory frame" << "\n"; } - else if (do_electrostatic == ElectrostaticSolverAlgo::Relativistic){ + else if (electrostatic_solver_id == ElectrostaticSolverAlgo::Relativistic){ amrex::Print() << "Operation mode: | Electrostatic" << "\n"; amrex::Print() << " | - relativistic" << "\n"; } - else{ + else if (WarpX::electromagnetic_solver_id != ElectromagneticSolverAlgo::None) { amrex::Print() << "Operation mode: | Electromagnetic" << "\n"; } if (em_solver_medium == MediumForEM::Vacuum ){ @@ -218,18 +218,18 @@ WarpX::PrintMainPICparameters () amrex::Print() << "Particle Shape Factor:| " << WarpX::nox << "\n"; amrex::Print() << "-------------------------------------------------------------------------------\n"; // Print solver's type: Yee, CKC, ECT - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::Yee){ + if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::Yee){ amrex::Print() << "Maxwell Solver: | Yee \n"; - } - else if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::CKC){ + } + else if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::CKC){ amrex::Print() << "Maxwell Solver: | CKC \n"; } - else if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::ECT){ + else if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::ECT){ amrex::Print() << "Maxwell Solver: | ECT \n"; } #ifdef WARPX_USE_PSATD // Print PSATD solver's configuration - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::PSATD){ + if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::PSATD){ amrex::Print() << "Maxwell Solver: | PSATD \n"; } if ((m_v_galilean[0]!=0) or (m_v_galilean[1]!=0) or (m_v_galilean[2]!=0)) { @@ -295,7 +295,7 @@ WarpX::PrintMainPICparameters () amrex::Print() << " | - use_hybrid_QED = true \n"; } - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::PSATD){ + if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::PSATD){ // Print solver's order std::string psatd_nox_fft, psatd_noy_fft, psatd_noz_fft; psatd_nox_fft = (nox_fft == -1) ? "inf" : std::to_string(nox_fft); @@ -307,11 +307,11 @@ WarpX::PrintMainPICparameters () amrex::Print() << " | - psatd.noy = " << psatd_noy_fft << "\n"; amrex::Print() << " | - psatd.noz = " << psatd_noz_fft << "\n"; } - else if (dims=="2" and WarpX::maxwell_solver_id == MaxwellSolverAlgo::PSATD){ + else if (dims=="2" and WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::PSATD){ amrex::Print() << "Spectral order: | - psatd.nox = " << psatd_nox_fft << "\n"; amrex::Print() << " | - psatd.noz = " << psatd_noz_fft << "\n"; } - else if (dims=="1" and WarpX::maxwell_solver_id == MaxwellSolverAlgo::PSATD){ + else if (dims=="1" and WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::PSATD){ amrex::Print() << "Spectral order: | - psatd.noz = " << psatd_noz_fft << "\n"; } } @@ -867,7 +867,7 @@ WarpX::InitLevelData (int lev, Real /*time*/) #ifdef AMREX_USE_EB // We initialize ECTRhofield consistently with the Efield - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::ECT) { + if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::ECT) { m_fdtd_solver_fp[lev]->EvolveECTRho(Efield_fp[lev], m_edge_lengths[lev], m_face_areas[lev], ECTRhofield[lev], lev); @@ -897,7 +897,7 @@ WarpX::InitLevelData (int lev, Real /*time*/) 'E', lev); #ifdef AMREX_USE_EB - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::ECT) { + if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::ECT) { // We initialize ECTRhofield consistently with the Efield m_fdtd_solver_cp[lev]->EvolveECTRho(Efield_cp[lev], m_edge_lengths[lev], m_face_areas[lev], ECTRhofield[lev], lev); @@ -1240,9 +1240,7 @@ void WarpX::InitializeEBGridData (int lev) "particles are close to embedded boundaries"); } - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::Yee || - WarpX::maxwell_solver_id == MaxwellSolverAlgo::CKC || - WarpX::maxwell_solver_id == MaxwellSolverAlgo::ECT) { + if (WarpX::electromagnetic_solver_id != ElectromagneticSolverAlgo::PSATD ) { auto const eb_fact = fieldEBFactory(lev); @@ -1251,7 +1249,7 @@ void WarpX::InitializeEBGridData (int lev) ComputeFaceAreas(m_face_areas[lev], eb_fact); ScaleAreas(m_face_areas[lev], CellSize(lev)); - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::ECT) { + if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::ECT) { MarkCells(); ComputeFaceExtensions(); } @@ -1267,7 +1265,7 @@ void WarpX::InitializeEBGridData (int lev) void WarpX::CheckKnownIssues() { - if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::PSATD && + if (WarpX::electromagnetic_solver_id == ElectromagneticSolverAlgo::PSATD && (std::any_of(do_pml_Lo[0].begin(),do_pml_Lo[0].end(),[](const auto& ee){return ee;}) || std::any_of(do_pml_Hi[0].begin(),do_pml_Hi[0].end(),[](const auto& ee){return ee;})) ) { |