Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
HyodaArc.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*****************************************************************************
8 * Hyoda.h (C) 2000-2012 *
9 * *
10 * Header du debugger hybrid. *
11 *****************************************************************************/
12#ifndef ARCANE_HYODA_ARC_H
13#define ARCANE_HYODA_ARC_H
14
15
16/******************************************************************************
17 * DEFINES
18 * Commandes (Real) codes sur lesquelles on reduce::max pour récupérer ce qu'il faut faire
19 *****************************************************************************/
20#define HYODA_HOOK_BREAK 1.
21#define HYODA_HOOK_CONFIGURE 2.
22
23// Nombre max de noeuds d'une maille
24#define HYODA_CELL_NB_NODES_MAX 12
25
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30ARCANE_BEGIN_NAMESPACE
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35
36/******************************************************************************
37 * Structure de dialogue entre Arcane et Hyoda-GUI
38 *****************************************************************************/
40 Int64 global_iteration;
41 Real global_time;
42 Real global_deltat;
43 Real global_cpu_time;
44 Int64 global_mesh_nb_cells;
45 Int64 target_cell_uid;
46 Int64 target_cell_rank;
47 Int64 target_cell_nb_nodes;
48 Real coords[HYODA_CELL_NB_NODES_MAX][3];
49};
50
51
52class HyodaIceT;
53class HyodaMatrix;
54class HyodaTcp;
55class HyodaPapi;
56
57/******************************************************************************
58 * Hyoda CLASS
59 *****************************************************************************/
60class Hyoda: public AbstractService,
62public:
64 virtual ~Hyoda();
65 virtual Real loopbreak(ISubDomain*);
66 virtual Real softbreak(ISubDomain*,const char*,const char*,int);
67 virtual void hook(ISubDomain*,Real);
68 virtual void ijval(int,int,int*,int*,double*);
69 IApplication* application(){return m_application;}
70 HyodaIceT *meshIceT(void){return m_ice_mesh;}
71 //HyodaMatrix *matrixIceT(void){return m_ice_matrix;}
72private:
73 void fetch_and_fill_data_to_be_dumped(ISubDomain*, UniqueIdType);
74 void broadcast_configuration(ISubDomain*, UniqueIdType);
75private:
76 LocalIdType targetCellIdToLocalId(ISubDomain *sd, UniqueIdType target_cell_id);
77 //void icetHyodaInit(void);
78private:
83 bool m_init_configured;
103 struct hyoda_shared_data *m_data;
104private:
105 HyodaIceT *m_ice_mesh;
106 HyodaMatrix *m_ice_matrix;
107 HyodaTcp *m_tcp;
108 HyodaPapi *m_papi;
109 bool m_matrix_render;
110};
111
112
113/*---------------------------------------------------------------------------*/
114/*---------------------------------------------------------------------------*/
115
116ARCANE_END_NAMESPACE
117
118/*---------------------------------------------------------------------------*/
119/*---------------------------------------------------------------------------*/
120
121#endif // ARCANE_HYODA_ARC_H
Classe de base d'un service.
UniqueIdType m_target_cell_uid
Variable dans laquelle QHyoda renseigne l'UID de la maille visée.
Definition HyodaArc.h:97
Integer m_qhyoda_width_height
Variable dans laquelle QHyoda renseigne les dimensions à utiliser pour l'image.
Definition HyodaArc.h:95
UInt32 m_qhyoda_adrs
Variable dans laquelle QHyoda renseigne l'adresse de la machine.
Definition HyodaArc.h:89
IApplication * m_application
structure à remplir avant que Hyoda ne la dump pour l'exploiter
Definition HyodaArc.h:101
bool m_configured
Variable indiquant si Hyoda et Arcane se sont configurés.
Definition HyodaArc.h:82
bool m_break_at_startup
Variable indiquant le mode 'single' et qu'il faut donc s'arrêter tout de suite.
Definition HyodaArc.h:80
char ** m_variables_names
Variable pointant vers l'application pour éventuellement aller chercher les arguments.
Definition HyodaArc.h:99
Integer m_gdbserver_rank
Rang sur lequel est accroché Hyoda.
Definition HyodaArc.h:85
Integer m_qhyoda_pyld
Variable dans laquelle QHyoda renseigne le payload à utiliser.
Definition HyodaArc.h:93
Real m_qhyoda_hooked
Variable dans laquelle QHyoda annonce s'il est ou pas accroché
Definition HyodaArc.h:87
Integer m_qhyoda_port
Variable dans laquelle QHyoda renseigne le numéro de port à utiliser.
Definition HyodaArc.h:91
Interface de l'application.
Interface d'un service de debugger hybrid.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Structure contenant les informations pour créer un service.
Int32 LocalIdType
Type des entiers utilisés pour stocker les identifiants locaux des entités.
Int64 UniqueIdType
Type des entiers utilisés pour stocker les identifiants uniques (globaux) des entités.