|
WarpX
|
This class computes and stores the number of guard cells needed for the allocation of the MultiFabs and required for each part of the PIC loop. More...
#include <GuardCellManager.H>
Public Member Functions | |
| void | Init (amrex::Real dt, const amrex::Real *dx, bool do_subcycling, bool do_fdtd_nci_corr, ablastr::utils::enums::GridType grid_type, bool do_moving_window, int moving_window_dir, int particle_max_grid_crossings, int nox, int nox_fft, int noy_fft, int noz_fft, int nci_corr_stencil, ElectromagneticSolverAlgo electromagnetic_solver_id, EvolveScheme evolve_scheme, int max_level, const amrex::Vector< amrex::Real > &v_galilean, const amrex::Vector< amrex::Real > &v_comoving, bool safe_guard_cells, int do_psatd_JRhom, bool fft_do_time_averaging, bool do_pml, int do_pml_in_domain, int pml_ncell, const amrex::Vector< amrex::IntVect > &ref_ratios, bool use_filter, const amrex::IntVect &bilinear_filter_stencil_length) |
| Initialize number of guard cells depending on the options used. | |
This class computes and stores the number of guard cells needed for the allocation of the MultiFabs and required for each part of the PIC loop.
| void guardCellManager::Init | ( | amrex::Real | dt, |
| const amrex::Real * | dx, | ||
| bool | do_subcycling, | ||
| bool | do_fdtd_nci_corr, | ||
| ablastr::utils::enums::GridType | grid_type, | ||
| bool | do_moving_window, | ||
| int | moving_window_dir, | ||
| int | particle_max_grid_crossings, | ||
| int | nox, | ||
| int | nox_fft, | ||
| int | noy_fft, | ||
| int | noz_fft, | ||
| int | nci_corr_stencil, | ||
| ElectromagneticSolverAlgo | electromagnetic_solver_id, | ||
| EvolveScheme | evolve_scheme, | ||
| int | max_level, | ||
| const amrex::Vector< amrex::Real > & | v_galilean, | ||
| const amrex::Vector< amrex::Real > & | v_comoving, | ||
| bool | safe_guard_cells, | ||
| int | do_psatd_JRhom, | ||
| bool | fft_do_time_averaging, | ||
| bool | do_pml, | ||
| int | do_pml_in_domain, | ||
| int | pml_ncell, | ||
| const amrex::Vector< amrex::IntVect > & | ref_ratios, | ||
| bool | use_filter, | ||
| const amrex::IntVect & | bilinear_filter_stencil_length ) |
Initialize number of guard cells depending on the options used.
| dt | time step |
| dx | cell spacing |
| do_subcycling | bool, whether to use subcycling |
| do_fdtd_nci_corr | bool, whether to use Godfrey NCI corrector |
| grid_type | integer, whether the grid is collocated or staggered |
| do_moving_window | bool, whether to use moving window |
| moving_window_dir | direction of moving window |
| particle_max_grid_crossings | maximum number of grid crossings for particles |
| nox | order of current deposition |
| nox_fft | order of PSATD in x direction |
| noy_fft | order of PSATD in y direction |
| noz_fft | order of PSATD in z direction |
| nci_corr_stencil | stencil of NCI corrector |
| electromagnetic_solver_id | Integer corresponding to the type of Maxwell solver |
| evolve_scheme | The evolve scheme, whether it's explicit or implicit |
| max_level | max level of the simulation |
| v_galilean | Velocity used in the Galilean PSATD scheme |
| v_comoving | Velocity used in the comoving PSATD scheme |
| safe_guard_cells | Run in safe mode, exchanging more guard cells, and more often in the PIC loop (for debugging). |
| do_psatd_JRhom | Whether to use the PSATD-JRhom scheme |
| fft_do_time_averaging | Whether to average the E and B field in time (with PSATD) before interpolating them onto the macro-particles |
| do_pml | whether pml is turned on (only used by RZ PSATD) |
| do_pml_in_domain | whether pml is done in the domain (only used by RZ PSATD) |
| pml_ncell | number of cells on the pml layer (only used by RZ PSATD) |
| ref_ratios | mesh refinement ratios between mesh-refinement levels |
| use_filter | whether filtering will be done |
| bilinear_filter_stencil_length | the size of the stencil for filtering |
| amrex::IntVect guardCellManager::ng_afterPushPSATD = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_alloc_EB = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_alloc_F = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_alloc_G = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_alloc_J = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_alloc_Rho = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_depos_J = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_depos_rho = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_FieldGather = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_FieldSolver = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_FieldSolverF = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_FieldSolverG = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_MovingWindow = amrex::IntVect::TheZeroVector() |
| amrex::IntVect guardCellManager::ng_UpdateAux = amrex::IntVect::TheZeroVector() |