CommGraph

This class is used to manage the communication graph. More…

#include "CommGraph.h"

Public Functions

Name
CommGraph & operator=(CommGraph & other)
Copy operator.
CommGraph()
Constructs an empty object.
~CommGraph()
Deletes the object.
void overlap(iReg nProc, iReg ncon_L, iReg ncon_R, iReg * comList)
Fills object assigning pointer.
void assign_null()
Assign null pointer.
bool allocated() const
Check if the object has been allocated.
iReg get_ncon_L() const
Get ncon_L.
iReg get_ncon_R() const
Get ncon_R.
iReg get_nProc() const
Get nProc.
iReg * get_ptr_comList_data()
Return pointer to comList.
const iReg * get_ptr_comList_data() const
iReg * get_proc_L()
Return proc_L.
const iReg * get_proc_L() const
iReg * get_proc_R()
Return proc_R.
const iReg * get_proc_R() const
VEC< iReg > * get_ptr_comList()
Return pointer to comList.
const VEC< iReg > * get_ptr_comList() const
void mk_CommGraph(const iReg restrict input_ncon_L, const iReg restrict input_ncon_R)
Allocate the structure.
void mk_OutMatGraph(CommGraph &restrict OutMatGraph)
Creates the outcoming communication graph.
void upd_CommGraph(const iReg nactive, iReg *restrict map_active)
Updates the graph according to the new communicator.
void init_CommGraph(iReg input_ncon_L, iReg input_ncon_R, iReg * left_com, iReg * right_com)
Store in comList and ptDom the communicators and the unknowns.

Public Attributes

Name
iReg * myid
current processor rank.

Detailed Description

class CommGraph;

This class is used to manage the communication graph.

class CommGraph.

Public Functions Documentation

function operator=

inline CommGraph & operator=(
    CommGraph & other
)

Copy operator.

function CommGraph

inline CommGraph()

Constructs an empty object.

function ~CommGraph

~CommGraph()

Deletes the object.

function overlap

void overlap(
    iReg nProc,
    iReg ncon_L,
    iReg ncon_R,
    iReg * comList
)

Fills object assigning pointer.

function assign_null

void assign_null()

Assign null pointer.

function allocated

inline bool allocated() const

Check if the object has been allocated.

function get_ncon_L

inline iReg get_ncon_L() const

Get ncon_L.

Return: ncon_L

function get_ncon_R

inline iReg get_ncon_R() const

Get ncon_R.

Return: ncon_R

function get_nProc

inline iReg get_nProc() const

Get nProc.

Return: nProc

function get_ptr_comList_data

inline iReg * get_ptr_comList_data()

Return pointer to comList.

Return: comList.data()

function get_ptr_comList_data

inline const iReg * get_ptr_comList_data() const

function get_proc_L

inline iReg * get_proc_L()

Return proc_L.

Return: proc_L

function get_proc_L

inline const iReg * get_proc_L() const

function get_proc_R

inline iReg * get_proc_R()

Return proc_R.

Return: proc_R

function get_proc_R

inline const iReg * get_proc_R() const

function get_ptr_comList

inline VEC< iReg > * get_ptr_comList()

Return pointer to comList.

function get_ptr_comList

inline const VEC< iReg > * get_ptr_comList() const

function mk_CommGraph

void mk_CommGraph(
    const iReg __restrict__ input_ncon_L,
    const iReg __restrict__ input_ncon_R
)

Allocate the structure.

Parameters:

  • input_ncon_L number of left communicators.
  • input_ncon_R number of right communicators.

function mk_OutMatGraph

void mk_OutMatGraph(
    CommGraph &__restrict__ OutMatGraph
)

Creates the outcoming communication graph.

Parameters:

  • OutMatGraph outcoming communication graph.

function upd_CommGraph

void upd_CommGraph(
    const iReg nactive,
    iReg *__restrict__ map_active
)

Updates the graph according to the new communicator.

Parameters:

  • nactive number of active processes.
  • map_active index map (from old to new).

function init_CommGraph

void init_CommGraph(
    iReg input_ncon_L,
    iReg input_ncon_R,
    iReg * left_com,
    iReg * right_com
)

Store in comList and ptDom the communicators and the unknowns.

Parameters:

  • input_ncon_L number of left communicators.
  • input_ncon_R number of right communicators.
  • left_com pointer to the array with the values of the left communicators.
  • right_com pointer to the array with the values of the right communicators.

Public Attributes Documentation

variable myid

iReg * myid;

current processor rank.


Updated on 12 February 2021 at 11:59:50 CET