TrioCFD 1.9.8
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)
 transforme v en un tableau parallele ayant la 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)
 cree un descripteur pour un sous-ensemble d'un vecteur.
static void creer_md_vect_renum_auto (IntVect &flags_renum, MD_Vector &md_vect)
 Idem que creer_md_vect_renum() mais cree une numerotation par defaut.
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

cree un descripteur pour un sous-ensemble d'un vecteur.

renum fournit la structure et le descripteur du vecteur source (doit avoir line_size==1) renum doit contenir -1 pour les items du vecteur source a ne pas conserver et une valeur positive ou nulle pour les items a conserver. La valeur renum[i] donne l'indice de cet item dans le nouveau tableau. Attention, si un item du vecteur source est recu d'un autre processeur et doit etre conserve, ce meme item doit aussi etre conserve sur le processeur qui envoie cet item.

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

Idem que creer_md_vect_renum() mais cree une numerotation par defaut.

Le tableau flags_renum doit contenir en entree une valeur POSITIVE OU NULLE pour les valeurs a conserver et une valeur negative pour les autres. En sortie, flags_renum contient l'indice de l'item dans le tableau reduit s'il est conserve, sinon la valeur d'origine non modifiee. Les items sont places dans l'ordre croissant de leur indice local sur dans le descripteur d'origine.

Definition at line 335 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

transforme v en un tableau parallele ayant la structure md.

md doit est non nul ! Les dimension(i>=1) du tableau v (si c'est un IntTab ou DoubleTab) sont conservees, les dimension(0) et dimension_tot(0) sont modifiees en fonction du nombre d'items specifies dans le MD_Vector. La dimension initiale du vecteur doit etre soit 0, soit md.get_nb_items_reels(), soit md.get_nb_items_tot(). Si besoin, la taille du tableau est modifiee et on initialise le tableau selon opt. ATTENTION, virtual_exchange() n'est PAS appele. Les cases virtuelles ne sont pas initialisees...

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 353 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 374 of file MD_Vector_tools.cpp.


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