OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
AmrDefs.h
Go to the documentation of this file.
1 //
2 // File AmrDefs
3 // AMR namespace with typedefs of AMReX classes.
4 //
5 // Copyright (c) 2016 - 2020, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
6 // All rights reserved
7 //
8 // Implemented as part of the PhD thesis
9 // "Precise Simulations of Multibunches in High Intensity Cyclotrons"
10 //
11 // This file is part of OPAL.
12 //
13 // OPAL is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU General Public License as published by
15 // the Free Software Foundation, either version 3 of the License, or
16 // (at your option) any later version.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with OPAL. If not, see <https://www.gnu.org/licenses/>.
20 //
21 #ifndef AMR_DEFS_H
22 #define AMR_DEFS_H
23 
24 #include <AMReX_ParmParse.H>
25 #include <AMReX_Vector.H>
26 #include <AMReX_Geometry.H>
27 #include <AMReX_IntVect.H>
28 #include <AMReX_MultiFab.H>
29 #include <AMReX_REAL.H>
30 #include <memory>
31 
33 namespace amr {
34  typedef amrex::MultiFab AmrField_t;
35  typedef std::array< std::unique_ptr<AmrField_t>,
36  AMREX_SPACEDIM
38  typedef amrex::DistributionMapping AmrProcMap_t;
39  typedef amrex::Geometry AmrGeometry_t;
40  typedef amrex::BoxArray AmrGrid_t;
41  typedef amrex::Vector< std::unique_ptr<AmrField_t> > AmrScalarFieldContainer_t;
42  typedef amrex::Vector< AmrVectorField_t > AmrVectorFieldContainer_t;
43  typedef amrex::Vector< AmrGeometry_t > AmrGeomContainer_t;
44  typedef amrex::Vector< AmrGrid_t > AmrGridContainer_t;
45  typedef amrex::Vector< AmrProcMap_t > AmrProcMapContainer_t;
46  typedef amrex::RealBox AmrDomain_t;
47  typedef amrex::Vector<int> AmrIntArray_t;
48  typedef amrex::IntVect AmrIntVect_t;
49  typedef amrex::Vector< AmrIntVect_t > AmrIntVectContainer_t;
50  typedef amrex::Box AmrBox_t;
51  typedef amrex::Real AmrReal_t;
52 };
53 
54 #endif
Some AMR types used a lot.
Definition: AmrDefs.h:33
amrex::Vector< AmrVectorField_t > AmrVectorFieldContainer_t
Definition: AmrDefs.h:42
amrex::DistributionMapping AmrProcMap_t
Definition: AmrDefs.h:38
amrex::Vector< AmrIntVect_t > AmrIntVectContainer_t
Definition: AmrDefs.h:49
amrex::Geometry AmrGeometry_t
Definition: AmrDefs.h:39
amrex::RealBox AmrDomain_t
Definition: AmrDefs.h:46
amrex::Box AmrBox_t
Definition: AmrDefs.h:50
amrex::Vector< AmrGeometry_t > AmrGeomContainer_t
Definition: AmrDefs.h:43
amrex::IntVect AmrIntVect_t
Definition: AmrDefs.h:48
amrex::Real AmrReal_t
Definition: AmrDefs.h:51
std::array< std::unique_ptr< AmrField_t >, AMREX_SPACEDIM > AmrVectorField_t
Definition: AmrDefs.h:37
amrex::MultiFab AmrField_t
Definition: AmrDefs.h:34
amrex::Vector< std::unique_ptr< AmrField_t > > AmrScalarFieldContainer_t
Definition: AmrDefs.h:41
amrex::Vector< int > AmrIntArray_t
Definition: AmrDefs.h:47
amrex::BoxArray AmrGrid_t
Definition: AmrDefs.h:40
amrex::Vector< AmrGrid_t > AmrGridContainer_t
Definition: AmrDefs.h:44
amrex::Vector< AmrProcMap_t > AmrProcMapContainer_t
Definition: AmrDefs.h:45