Block-Structured AMR Software Framework
 
Loading...
Searching...
No Matches
AMReX_PlotFileDataImpl.H
Go to the documentation of this file.
1#ifndef AMREX_PLOT_FILE_DATA_IMPL_H_
2#define AMREX_PLOT_FILE_DATA_IMPL_H_
3#include <AMReX_Config.H>
4
5#include <AMReX_MultiFab.H>
6#include <AMReX_VisMF.H>
7#include <string>
8
9namespace amrex {
10
12{
13public:
14 PlotFileDataImpl (std::string const& plotfile_name);
15
16 [[nodiscard]] int spaceDim () const noexcept { return m_spacedim; }
17
18 [[nodiscard]] Real time () const noexcept { return m_time; }
19
20 [[nodiscard]] int finestLevel () const noexcept { return m_finest_level; }
21
22 [[nodiscard]] int refRatio (int level) const noexcept { return m_ref_ratio[level]; }
23
24 [[nodiscard]] int levelStep (int level) const noexcept { return m_level_steps[level]; }
25
26 [[nodiscard]] const BoxArray& boxArray (int level) const noexcept { return m_ba[level]; }
27
28 [[nodiscard]] const DistributionMapping& DistributionMap (int level) const noexcept { return m_dmap[level]; }
29
30 void syncDistributionMap (PlotFileDataImpl const& src) noexcept;
31
32 void syncDistributionMap (int level, PlotFileDataImpl const& src) noexcept;
33
34 [[nodiscard]] int coordSys () const noexcept { return m_coordsys; }
35
36 [[nodiscard]] Box probDomain (int level) const noexcept { return m_prob_domain[level]; }
37
38 [[nodiscard]] Array<Real,AMREX_SPACEDIM> probSize () const noexcept { return m_prob_size; }
39 [[nodiscard]] Array<Real,AMREX_SPACEDIM> probLo () const noexcept { return m_prob_lo; }
40 [[nodiscard]] Array<Real,AMREX_SPACEDIM> probHi () const noexcept { return m_prob_hi; }
41 [[nodiscard]] Array<Real,AMREX_SPACEDIM> cellSize (int level) const noexcept { return m_cell_size[level]; }
42
43 [[nodiscard]] const Vector<std::string>& varNames () const noexcept { return m_var_names; }
44
45 [[nodiscard]] int nComp () const noexcept { return m_ncomp; }
46 [[nodiscard]] IntVect nGrowVect (int level) const noexcept { return m_ngrow[level]; }
47
48 MultiFab get (int level) noexcept;
49 MultiFab get (int level, std::string const& varname) noexcept;
50
51private:
52 std::string m_plotfile_name;
53 std::string m_file_version;
57 Real m_time;
72};
73
74}
75
76#endif
A collection of Boxes stored in an Array.
Definition AMReX_BoxArray.H:550
Calculates the distribution of FABs to MPI processes.
Definition AMReX_DistributionMapping.H:41
A collection (stored as an array) of FArrayBox objects.
Definition AMReX_MultiFab.H:38
Definition AMReX_PlotFileDataImpl.H:12
int coordSys() const noexcept
Definition AMReX_PlotFileDataImpl.H:34
Vector< std::string > m_mf_name
Definition AMReX_PlotFileDataImpl.H:67
Vector< BoxArray > m_ba
Definition AMReX_PlotFileDataImpl.H:69
Vector< IntVect > m_ngrow
Definition AMReX_PlotFileDataImpl.H:71
int m_coordsys
Definition AMReX_PlotFileDataImpl.H:66
Vector< Array< Real, AMREX_SPACEDIM > > m_cell_size
Definition AMReX_PlotFileDataImpl.H:65
Real time() const noexcept
Definition AMReX_PlotFileDataImpl.H:18
int m_nlevels
Definition AMReX_PlotFileDataImpl.H:58
Array< Real, AMREX_SPACEDIM > cellSize(int level) const noexcept
Definition AMReX_PlotFileDataImpl.H:41
Vector< int > m_ref_ratio
Definition AMReX_PlotFileDataImpl.H:62
Vector< Box > m_prob_domain
Definition AMReX_PlotFileDataImpl.H:63
Vector< int > m_level_steps
Definition AMReX_PlotFileDataImpl.H:64
int m_finest_level
Definition AMReX_PlotFileDataImpl.H:58
std::string m_plotfile_name
Definition AMReX_PlotFileDataImpl.H:52
Real m_time
Definition AMReX_PlotFileDataImpl.H:57
Array< Real, AMREX_SPACEDIM > probHi() const noexcept
Definition AMReX_PlotFileDataImpl.H:40
const DistributionMapping & DistributionMap(int level) const noexcept
Definition AMReX_PlotFileDataImpl.H:28
MultiFab get(int level) noexcept
Definition AMReX_PlotFileDataImpl.cpp:124
Vector< std::unique_ptr< VisMF > > m_vismf
Definition AMReX_PlotFileDataImpl.H:68
std::string m_file_version
Definition AMReX_PlotFileDataImpl.H:53
int m_ncomp
Definition AMReX_PlotFileDataImpl.H:54
int finestLevel() const noexcept
Definition AMReX_PlotFileDataImpl.H:20
const BoxArray & boxArray(int level) const noexcept
Definition AMReX_PlotFileDataImpl.H:26
Array< Real, AMREX_SPACEDIM > m_prob_hi
Definition AMReX_PlotFileDataImpl.H:60
Array< Real, AMREX_SPACEDIM > probLo() const noexcept
Definition AMReX_PlotFileDataImpl.H:39
int levelStep(int level) const noexcept
Definition AMReX_PlotFileDataImpl.H:24
Vector< std::string > m_var_names
Definition AMReX_PlotFileDataImpl.H:55
int spaceDim() const noexcept
Definition AMReX_PlotFileDataImpl.H:16
Box probDomain(int level) const noexcept
Definition AMReX_PlotFileDataImpl.H:36
Array< Real, AMREX_SPACEDIM > m_prob_size
Definition AMReX_PlotFileDataImpl.H:61
int m_spacedim
Definition AMReX_PlotFileDataImpl.H:56
void syncDistributionMap(PlotFileDataImpl const &src) noexcept
Definition AMReX_PlotFileDataImpl.cpp:107
int refRatio(int level) const noexcept
Definition AMReX_PlotFileDataImpl.H:22
IntVect nGrowVect(int level) const noexcept
Definition AMReX_PlotFileDataImpl.H:46
Array< Real, AMREX_SPACEDIM > m_prob_lo
Definition AMReX_PlotFileDataImpl.H:59
const Vector< std::string > & varNames() const noexcept
Definition AMReX_PlotFileDataImpl.H:43
Vector< DistributionMapping > m_dmap
Definition AMReX_PlotFileDataImpl.H:70
Array< Real, AMREX_SPACEDIM > probSize() const noexcept
Definition AMReX_PlotFileDataImpl.H:38
int nComp() const noexcept
Definition AMReX_PlotFileDataImpl.H:45
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition AMReX_Vector.H:27
Definition AMReX_Amr.cpp:49
std::array< T, N > Array
Definition AMReX_Array.H:24