TrioCFD 1.9.9_beta
TrioCFD documentation
Loading...
Searching...
No Matches
MD_Vector_tools Class Reference

#include <MD_Vector_tools.h>

Public Types

enum  Operations_echange {
  ECHANGE_EV , EV_SOMME , EV_SOMME_ECHANGE , EV_MAX ,
  EV_MINCOL1
}

Static Public Member Functions

static void creer_tableau_distribue (const MD_Vector &, Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
 Transforms v into a parallel array having the structure md.
static void echange_espace_virtuel (IntVect &, Operations_echange opt=ECHANGE_EV, IsExchangeBlocking is_exchange_blocking=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")
static void echange_espace_virtuel (DoubleVect &, Operations_echange opt=ECHANGE_EV, IsExchangeBlocking is_exchange_blocking=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")
static void echange_espace_virtuel (FloatVect &, Operations_echange opt=ECHANGE_EV, IsExchangeBlocking is_exchange_blocking=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")
static void compute_sequential_items_index (const MD_Vector &, MD_Vector_renumber &, int line_size=1)
static void creer_md_vect_renum (const IntVect &renum, MD_Vector &md_vect)
 Creates a descriptor for a subset of a vector.
static void creer_md_vect_renum_auto (IntVect &flags_renum, MD_Vector &md_vect)
 Same as creer_md_vect_renum() but creates a default numbering.
static void dump_vector_with_md (const DoubleVect &, Sortie &)
 dumps vector v with its parallel descriptor to os.
static void restore_vector_with_md (DoubleVect &, Entree &)
 restores a vector saved by dump_vector_with_md.
static void CleanMyStatics ()

Detailed Description

Definition at line 35 of file MD_Vector_tools.h.

Member Enumeration Documentation

◆ Operations_echange

Enumerator
ECHANGE_EV 
EV_SOMME 
EV_SOMME_ECHANGE 
EV_MAX 
EV_MINCOL1 

Definition at line 44 of file MD_Vector_tools.h.

Member Function Documentation

◆ CleanMyStatics()

void MD_Vector_tools::CleanMyStatics ( )
inlinestatic

Definition at line 63 of file MD_Vector_tools.h.

◆ compute_sequential_items_index()

void MD_Vector_tools::compute_sequential_items_index ( const MD_Vector & ,
MD_Vector_renumber & ,
int line_size = 1 )
static

Definition at line 293 of file MD_Vector_tools.cpp.

◆ creer_md_vect_renum()

void MD_Vector_tools::creer_md_vect_renum ( const IntVect & renum,
MD_Vector & md_vect )
static

Creates a descriptor for a subset of a vector.

renum provides the structure and the descriptor of the source vector (must have line_size==1). renum must contain -1 for items of the source vector to discard and a non-negative value for items to keep. The value renum[i] gives the index of that item in the new array. Note: if an item of the source vector is received from another processor and must be kept, that same item must also be kept on the processor that sends it.

Definition at line 309 of file MD_Vector_tools.cpp.

◆ creer_md_vect_renum_auto()

void MD_Vector_tools::creer_md_vect_renum_auto ( IntVect & flags_renum,
MD_Vector & md_vect )
static

Same as creer_md_vect_renum() but creates a default numbering.

The flags_renum array must contain on input a NON-NEGATIVE value for the values to keep and a negative value for the others. On output, flags_renum contains the index of the item in the reduced array if it is kept, otherwise the original unmodified value. Items are placed in ascending order of their local index in the original descriptor.

Definition at line 334 of file MD_Vector_tools.cpp.

◆ creer_tableau_distribue()

void MD_Vector_tools::creer_tableau_distribue ( const MD_Vector & md,
Array_base & v,
RESIZE_OPTIONS opt = RESIZE_OPTIONS::COPY_INIT )
static

Transforms v into a parallel array having the structure md.

md must be non-null! The dimension(i>=1) of array v (if it is an IntTab or DoubleTab) are preserved, dimension(0) and dimension_tot(0) are modified according to the number of items specified in the MD_Vector. The initial size of the vector must be either 0, md.get_nb_items_reels(), or md.get_nb_items_tot(). If needed, the array size is modified and the array is initialized according to opt. WARNING, virtual_exchange() is NOT called. The virtual slots are not initialised...

Definition at line 140 of file MD_Vector_tools.cpp.

◆ dump_vector_with_md()

void MD_Vector_tools::dump_vector_with_md ( const DoubleVect & v,
Sortie & os )
static

dumps vector v with its parallel descriptor to os.

os must be a file type with one file per process (no shared file).

Definition at line 352 of file MD_Vector_tools.cpp.

◆ echange_espace_virtuel() [1/3]

void MD_Vector_tools::echange_espace_virtuel ( DoubleVect & v,
Operations_echange opt = ECHANGE_EV,
IsExchangeBlocking is_exchange_blocking = IsExchangeBlocking::DefaultBlocking,
const std::string kernel_name = "noname" )
static

Definition at line 290 of file MD_Vector_tools.cpp.

◆ echange_espace_virtuel() [2/3]

void MD_Vector_tools::echange_espace_virtuel ( FloatVect & v,
Operations_echange opt = ECHANGE_EV,
IsExchangeBlocking is_exchange_blocking = IsExchangeBlocking::DefaultBlocking,
const std::string kernel_name = "noname" )
static

Definition at line 291 of file MD_Vector_tools.cpp.

◆ echange_espace_virtuel() [3/3]

void MD_Vector_tools::echange_espace_virtuel ( IntVect & v,
Operations_echange opt = ECHANGE_EV,
IsExchangeBlocking is_exchange_blocking = IsExchangeBlocking::DefaultBlocking,
const std::string kernel_name = "noname" )
static

Definition at line 286 of file MD_Vector_tools.cpp.

◆ restore_vector_with_md()

void MD_Vector_tools::restore_vector_with_md ( DoubleVect & v,
Entree & is )
static

restores a vector saved by dump_vector_with_md.

The code must run with the same number of processors. "v" will have a newly created copy of the descriptor (not equal to any other descriptor previously loaded). If "identical" descriptors are needed for several vectors, you might want to call set_md_vector() afterwards to attach another descriptor. See save_matrice_conditionnel()

Definition at line 373 of file MD_Vector_tools.cpp.


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