OPAL (Object Oriented Parallel Accelerator Library) 2022.1
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
33namespace 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