wolfhece.multiprojects

Author: HECE - University of Liege, Pierre Archambeau Date: 2024

Copyright (c) 2024 University of Liege. All rights reserved.

This script and its content are protected by copyright law. Unauthorized copying or distribution of this file, via any medium, is strictly prohibited.

Module Contents

class wolfhece.multiprojects.project_type(*args, **kwds)[source]

Bases: enum.Enum

Inheritance diagram of wolfhece.multiprojects.project_type

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access:

>>> Color.RED
<Color.RED: 1>
  • value lookup:

>>> Color(1)
<Color.RED: 1>
  • name lookup:

>>> Color['RED']
<Color.RED: 1>

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

GENERIC = 0[source]
WOLF2D = 1[source]
WOLFARRAY = 2[source]
class wolfhece.multiprojects.Project(wdir='', parent=None, title='Default Title', w=500, h=800, ontop=False, to_read=True, filename='', withbuttons=True, DestroyAtClosing=True, toShow=True, init_GUI: bool = False, force_even_if_same_default: bool = False)[source]

Bases: wolfhece.PyParams.Wolf_Param

Inheritance diagram of wolfhece.multiprojects.Project

Projet WOLF

Il s’agit d’une surcharge d’un objet Wolf_Param qui est organisé en groupes de paramètres Chaque paramètre peut être défini par une clé, une valeur et un commentaire (+ éventuellement une chaîne JSON)

wdir = ''[source]
class wolfhece.multiprojects.Wolf2D_Project(wdir='', parent=None, title='Default Title', w=500, h=800, ontop=False, to_read=True, filename='', withbuttons=True, DestroyAtClosing=True, toShow=False)[source]

Bases: Project

Inheritance diagram of wolfhece.multiprojects.Wolf2D_Project

Projet d’analyse de simulations WOLF2D

Ce projet contient a priori :
  • une liste de simulations (groupe “wolf2d”, “gpu2d”)

  • une liste de vecteurs/polylignes afin de restreindre la zone d’analyse et éviter

    autant que possible la superposition des modèles (groupe “vectors”)

  • la liaison entre polyligne et modèle (groupe “vector_array_link”)

  • des palettes (groupe “palette”)

  • la liaison des palettes avec les modèles (groupe “palette-array”)

Chaque simulation est associée à une clé unique Chaque vecteur est associé à une clé unique Chaque palette est associée à une clé unique

Les liaisons simulation-vecteur se font par (clé-valeur) = (sim-vector) Les liaisons simulation-palette se font par (clé-valeur) = (sim-palette)

Exemple :

wolf2d: Confluence Wayai - Forges Thiry_B .Q25X1b - Hoegne - Tr 3 - Confluence Wayai - Forges Thirysimul Confluence Wayai - Forges Thiry_A .Q25X1a - Hoegne - Tr 3 - Confluence Wayai - Forges Thirysimul vector: polyd5 ..Vecteursq - Vesdre - Tr 3 - Chaudfontaine - Confluence Ourthecont_sauv.vec polyd4 ..Vecteursr - Vesdre - Tr 3 - Prayon - Chaudfontainecont_sauv.vec vector_array_link: Confluence Wayai - Forges Thiry_B polyX1 Confluence Wayai - Forges Thiry_A polyX1 palette: Q25 q25_alea.pal Q50 q50_alea.pal Q100 q100_alea.pal palette-array: Confluence Wayai - Forges Thiry_B Q25 Confluence Wayai - Forges Thiry_A Q25

mysims: dict[str, wolfhece.wolfresults_2D.Wolfresults_2D | wolfhece.Results2DGPU.wolfres2DGPU][source]
mycontours[source]
mycolormaps[source]
epsilon = 0.0005[source]
poly = None[source]
poly_values = None[source]
classmethod from_existing(sims: dict[str, str | wolfhece.wolfresults_2D.Wolfresults_2D | wolfhece.Results2DGPU.wolfres2DGPU])[source]

Create a MultiProjects object from a dictionary of simulations

Parameters:

sims – dict[str, Union[str, Wolfresults_2D, wolfres2DGPU]] – dictionary of simulations to add

pop(key: str)[source]

Remove a simulation from the project

Parameters:

key – str – key of the simulation to remove

add(key: str, value: wolfhece.wolfresults_2D.Wolfresults_2D | wolfhece.Results2DGPU.wolfres2DGPU | str, epsilon: float = None, force_read: bool = False)[source]

Add a key-value pair to the project

Parameters:
  • key – str – key of the simulation to add

  • value – Wolfresults_2D, wolfres2DGPU, str – simulation to add

  • epsilon – float – epsilon value to use for the simulation

  • force_read – bool – force reading the last step of the simulation

add_simulations(sims_to_add: dict[str, str | wolfhece.wolfresults_2D.Wolfresults_2D | wolfhece.Results2DGPU.wolfres2DGPU], epsilon: float = None, force_read: bool = False)[source]

Add multiple simulations to the project

Parameters:

sims_to_add – dict[str, Union[str, Wolfresults_2D, wolfres2DGPU]] – dictionary of simulations to add

load_data(epsilon: float, verbose: bool = False)[source]

Load all simulations in current project

update_simulations(epsilon, verbose=False)[source]

update all simulations in current project

get_simulation(key: str | int) wolfhece.wolfresults_2D.Wolfresults_2D | wolfhece.Results2DGPU.wolfres2DGPU[source]

Get simulation by key

Parameters:

key – str or int – key of the simulation to get or index of the simulation to get

get_simulations() list[source]

Return a python list of simulations

set_vectors()[source]

Lie les vecteurs d’un fichier projet et leur liaison potentielle avec les matrices

set_colormap()[source]

Lie les palettes d’un fichier projet et leur liaison potentielle avec les matrices

set_currentview(which)[source]

Change le mode de vue dans une vue possible de “views_2D”

find_values_inside(zonepoly: wolfhece.PyVertexvectors.zone)[source]

Récupère les valeurs à l’intérieur d’une zone de polygones

Retour :
  • dictionnaire dont la clé est l’index du polygone dans la zone

  • chaque entrée est un dictionnaire dont la clé ‘values’ contient une liste pour chaque matrice du projet

  • chaque élément de liste est un tuple contenant toutes les valeurs utiles

get_values(which_type: wolfhece.wolfresults_2D.views_2D | Literal['i', 'j', 'block'] = None)[source]
class wolfhece.multiprojects.WolfArray_Project(wdir='', parent=None, title='Default Title', w=500, h=800, ontop=False, to_read=True, filename='', withbuttons=True, DestroyAtClosing=True, toShow=False)[source]

Bases: Project

Inheritance diagram of wolfhece.multiprojects.WolfArray_Project

Projet d’analyse de Matrices WOLF

Ce projet contient a priori :
  • une liste de matrices (groupe “array”)

  • une liste de vecteurs/polylignes à analyser

  • des palettes (groupe “palette”)

  • la liaison des palettes avec les matrices (groupe “palette-array”)

Chaque matrice est associée à une clé unique Chaque vecteur est associé à une clé unique Chaque palette est associée à une clé unique

Les liaisons matrice-palette se font par (clé-valeur) = (matrice-palette)

myarrays: dict[str, wolfhece.wolf_array.WolfArray][source]
mycontours: dict[str, wolfhece.PyVertexvectors.Zones][source]
mycolormaps: dict[str, wolfhece.PyPalette.wolfpalette][source]
epsilon = 0.0005[source]
poly = None[source]
poly_values = None[source]
classmethod from_existing(arrays: dict[str, str | wolfhece.wolf_array.WolfArray])[source]

Create a Project object from a dictionary of arrays

Parameters:

sims – dict[str, Union[str, WolfArray]] – dictionary of arrays to add

pop(key: str)[source]

Remove an array from the project

Parameters:

key – str – key of the array to remove

add(key: str, value: wolfhece.wolf_array.WolfArray | str, epsilon: float = None)[source]

Add a key-value pair to the project

Parameters:
  • key – str – key of the array to add

  • value – WolfArray, str – array to add

  • epsilon – float – epsilon value to use for the array

add_arrays(arrays_to_add: dict[str, str | wolfhece.wolf_array.WolfArray], epsilon: float = None, force_read: bool = False)[source]

Add multiple arrays to the project

Parameters:

arrays_to_add – dict[str, Union[str, WolfArray]] – dictionary of arrays to add

load_data(epsilon: float, verbose: bool = False)[source]

Load all arrays in current project

get_array(key: str | int) wolfhece.wolf_array.WolfArray | None[source]

Get array by key

Parameters:

key – str or int – key of the array to get or index of the array to get

get_arrays() list[source]

Return a python list of arrays

get_arrays_dict() dict[source]

Return a python dict of arrays

set_vectors()[source]

Lie les vecteurs d’un fichier projet et leur liaison potentielle avec les matrices

get_vectors() list[source]

Return a python list of vectors

get_vectors_dict() dict[source]

Return a python dict of vectors

set_colormap()[source]

Lie les palettes d’un fichier projet et leur liaison potentielle avec les matrices

find_values_inside(zonepoly: wolfhece.PyVertexvectors.zone)[source]

Récupère les valeurs à l’intérieur d’une zone de polygones

Retour :
  • dictionnaire dont la clé est l’index du polygone dans la zone

  • chaque entrée est un dictionnaire dont la clé ‘values’ contient une liste pour chaque matrice du projet

  • chaque élément de liste est un tuple contenant toutes les valeurs utiles

get_values(which_type: Literal['data'] | Literal['i', 'j', 'block'] = None)[source]
get_sections() wolfhece.PyVertexvectors.Zones[source]

Return sections of arrays in project

plot_sections(*args, **kwargs) dict[str, dict[str, tuple[matplotlib.pyplot.Figure, matplotlib.pyplot.Axes]]][source]

Plot sections of arrays in project

plot_sections_and_difference(*args, **kwargs) dict[str, dict[str, tuple[matplotlib.pyplot.Figure, matplotlib.pyplot.Axes]]][source]

Plot sections of arrays in project and their difference if possible

class wolfhece.multiprojects.MultiProjects(wdir='')[source]

Manager of multiple project files

projects: dict[str, Wolf2D_Project | WolfArray_Project][source]
wdir = ''[source]
get_one_simulation(key_project: str, key_sim: str) wolfhece.wolfresults_2D.Wolfresults_2D | wolfhece.Results2DGPU.wolfres2DGPU[source]

Get one simulation by key in a project

get_same_simulation_in_projects(key_sim: str) dict[str, wolfhece.wolfresults_2D.Wolfresults_2D | wolfhece.Results2DGPU.wolfres2DGPU][source]

Get simulation by key in all projects

add(project: Project, key=str, whichtype=project_type.GENERIC)[source]

Add project to dict

get_project(key) Project[source]

Récupération d’un projet sur base du nom ou d’une position

read(filepath: str)[source]

Read from file

save(filepath: str)[source]

Write to file

load_data(epsilon, verbose=False)[source]

Load all data in projects

update_simulations(epsilon, verbose=False)[source]

Update all simulations in projects

get_simulations_list(which_project: str | list[str] = None) list[source]

Return a python list of simulations

Parameters:

which_project – str or list of str – key(s) of the project(s) to get simulations from

get_arrays_list(which_project: str | list[str] = None) list[source]

Return a python list of arrays

Parameters:

which_project – str or list of str – key(s) of the project(s) to get arrays from

get_simulations_dict(which_project: str | list[str] = None) dict[source]

Return a python dict of simulations

Parameters:

which_project – str or list of str – key(s) of the project(s) to get simulations from

get_arrays_dict(which_project: str | list[str] = None) dict[source]

Return a python dict of arrays

Parameters:

which_project – str or list of str – key(s) of the project(s) to get arrays from

set_currentview(which: wolfhece.wolfresults_2D.views_2D)[source]

Change le mode de vue dans une vue possible de ‘views_2D’

find_values_inside(zonepoly: wolfhece.PyVertexvectors.zone, which_project=None)[source]

Récupère les valeurs à l’intérieur d’une zone de polygones

get_values(which_type, which_project=None)[source]