aboutsummaryrefslogtreecommitdiff
path: root/Source/Parallelization/GuardCellManager.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Parallelization/GuardCellManager.H')
-rw-r--r--Source/Parallelization/GuardCellManager.H42
1 files changed, 42 insertions, 0 deletions
diff --git a/Source/Parallelization/GuardCellManager.H b/Source/Parallelization/GuardCellManager.H
new file mode 100644
index 000000000..2e1cebff8
--- /dev/null
+++ b/Source/Parallelization/GuardCellManager.H
@@ -0,0 +1,42 @@
+#ifndef GUARDCELLMANAGER_H_
+#define GUARDCELLMANAGER_H_
+
+#include <AMReX_IntVect.H>
+
+class guardCellManager{
+
+public:
+
+ int Init(
+ const bool do_subcycling,
+ const bool do_fdtd_nci_corr,
+ const bool do_nodal,
+ const bool do_moving_window,
+ const bool do_fft_mpi_dec,
+ const bool aux_is_nodal,
+ const int moving_window_dir,
+ const int nox,
+ const int nox_fft, const int noy_fft, const int noz_fft,
+ const int nci_corr_stencil,
+ const int maxwell_fdtd_solver_id,
+ const int max_level);
+
+ // Guard cells allocated for each multifab
+ amrex::IntVect ng_alloc_EB = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_alloc_J = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_alloc_Rho = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_alloc_F = amrex::IntVect::TheZeroVector();
+ int ng_alloc_F_int = 0;
+
+ // Guard cells exchanged for specific in the PIC loop
+ amrex::IntVect ng_FieldSolver = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_FieldSolverF = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_FieldGather = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_UpdateAux = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_MovingWindow = amrex::IntVect::TheZeroVector();
+
+ // Extra guard cells for fine level of E and B
+ amrex::IntVect ng_Extra = amrex::IntVect::TheZeroVector();
+};
+
+#endif // GUARDCELLMANAGER_H_