Block-Structured AMR Software Framework
amrex::ParallelContext::Frame Class Reference

#include <AMReX_ParallelContext.H>

Public Member Functions

 Frame (MPI_Comm c, int id, int io_rank)
 
 Frame (MPI_Comm c)
 
 Frame (Frame const &)=delete
 
Frameoperator= (Frame const &)=delete
 
Frameoperator= (Frame &&)=delete
 
 Frame (Frame &&rhs) noexcept
 
 ~Frame ()
 
int MyID () const noexcept
 
int MyProc () const noexcept
 
int NProcs () const noexcept
 
int IOProc () const noexcept
 
int get_inc_mpi_tag ()
 
void set_ofs_name (std::string filename)
 
std::ofstream * get_ofs_ptr ()
 

Static Public Member Functions

static int local_to_global_rank (int lrank)
 
static void local_to_global_rank (int *global, const int *local, int n)
 
static void global_to_local_rank (int *local, const int *global, int n)
 
static int global_to_local_rank (int grank)
 

Public Attributes

MPI_Comm comm = MPI_COMM_NULL
 sub-communicator associated with frame More...
 
MPI_Group group = MPI_GROUP_NULL
 to avoid repeatedly creating groups in rank translation More...
 

Private Attributes

int m_id = -1
 frame ID More...
 
int m_rank_me = 0
 local rank More...
 
int m_nranks = 1
 local # of ranks More...
 
int m_mpi_tag = -1
 
int m_io_rank = -1
 
std::string m_out_filename
 
std::unique_ptr< std::ofstream > m_out
 

Constructor & Destructor Documentation

◆ Frame() [1/4]

amrex::ParallelContext::Frame::Frame ( MPI_Comm  c,
int  id,
int  io_rank 
)

◆ Frame() [2/4]

amrex::ParallelContext::Frame::Frame ( MPI_Comm  c)
explicit

◆ Frame() [3/4]

amrex::ParallelContext::Frame::Frame ( Frame const &  )
delete

◆ Frame() [4/4]

amrex::ParallelContext::Frame::Frame ( Frame &&  rhs)
noexcept

◆ ~Frame()

amrex::ParallelContext::Frame::~Frame ( )

Member Function Documentation

◆ get_inc_mpi_tag()

int amrex::ParallelContext::Frame::get_inc_mpi_tag ( )

◆ get_ofs_ptr()

std::ofstream * amrex::ParallelContext::Frame::get_ofs_ptr ( )

◆ global_to_local_rank() [1/2]

void amrex::ParallelContext::Frame::global_to_local_rank ( int local,
const int global,
int  n 
)
static

◆ global_to_local_rank() [2/2]

int amrex::ParallelContext::Frame::global_to_local_rank ( int  grank)
static

◆ IOProc()

int amrex::ParallelContext::Frame::IOProc ( ) const
inlinenoexcept

◆ local_to_global_rank() [1/2]

void amrex::ParallelContext::Frame::local_to_global_rank ( int global,
const int local,
int  n 
)
static

◆ local_to_global_rank() [2/2]

int amrex::ParallelContext::Frame::local_to_global_rank ( int  lrank)
static

◆ MyID()

int amrex::ParallelContext::Frame::MyID ( ) const
inlinenoexcept

◆ MyProc()

int amrex::ParallelContext::Frame::MyProc ( ) const
inlinenoexcept

◆ NProcs()

int amrex::ParallelContext::Frame::NProcs ( ) const
inlinenoexcept

◆ operator=() [1/2]

Frame& amrex::ParallelContext::Frame::operator= ( Frame &&  )
delete

◆ operator=() [2/2]

Frame& amrex::ParallelContext::Frame::operator= ( Frame const &  )
delete

◆ set_ofs_name()

void amrex::ParallelContext::Frame::set_ofs_name ( std::string  filename)

Member Data Documentation

◆ comm

MPI_Comm amrex::ParallelContext::Frame::comm = MPI_COMM_NULL

sub-communicator associated with frame

◆ group

MPI_Group amrex::ParallelContext::Frame::group = MPI_GROUP_NULL

to avoid repeatedly creating groups in rank translation

◆ m_id

int amrex::ParallelContext::Frame::m_id = -1
private

frame ID

◆ m_io_rank

int amrex::ParallelContext::Frame::m_io_rank = -1
private

◆ m_mpi_tag

int amrex::ParallelContext::Frame::m_mpi_tag = -1
private

◆ m_nranks

int amrex::ParallelContext::Frame::m_nranks = 1
private

local # of ranks

◆ m_out

std::unique_ptr<std::ofstream> amrex::ParallelContext::Frame::m_out
private

◆ m_out_filename

std::string amrex::ParallelContext::Frame::m_out_filename
private

◆ m_rank_me

int amrex::ParallelContext::Frame::m_rank_me = 0
private

local rank


The documentation for this class was generated from the following files: